==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_aedbf85a-0729-4f88-85e1-729ac549a238]...done ==> Making package: curl 8.18.0-3.1 (Wed Jan 28 18:46:29 2026) ==> Retrieving sources... -> Cloning curl git repo... Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/curl-8.18.0-3/curl'... ==> Validating source files with sha512sums... curl ... Passed ==> Verifying source file signatures with gpg... curl git repo ... Passed ==> Making package: curl 8.18.0-3.1 (Wed Jan 28 17:47:36 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.194-1 0.42 MiB core/libmicrohttpd 1.0.2-1 0.61 MiB extra/perl-error 0.17030-3 0.04 MiB extra/perl-mailtools 2.22-3 0.10 MiB extra/perl-timedate 2.33-9 0.08 MiB extra/zlib-ng 2.3.2-1 0.28 MiB extra/git 2.52.0-2 29.63 MiB extra/patchelf 0.18.0-4 0.26 MiB extra/valgrind 3.25.1-3 74.45 MiB Total Installed Size: 105.86 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 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.194: for translations installing valgrind... Optional dependencies for valgrind lib32-glibc: 32-bit ABI support [installed] python: cg_* scripts :: 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()... cf4164fa8d vquic: handle SOCKEMSGSIZE correctly Auto-merging lib/vquic/vquic.c 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:127: installing './compile' configure.ac:500: installing './config.guess' configure.ac:500: installing './config.sub' configure.ac:127: installing './install-sh' configure.ac:130: 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 debug build options... 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 curl debug memory tracking... 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 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 C11 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.18.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 enable large file support... 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 '1502' (raw: '15.2.1') 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 smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... 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.21.3 checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... 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 BoringSSL... no checking for AWS-LC... no checking for LibreSSL... no checking for OpenSSL >= v3... 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 for SRP support in OpenSSL... yes checking for QUIC support and OpenSSL >= 3.3... yes checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend 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 for RTMP_Init in -lrtmp... no 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 configure: HTTP3 support is experimental 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 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 stdint.h... (cached) 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 long long... yes 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/select.h... (cached) yes checking for select... 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 MSG_NOSIGNAL... 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 if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate 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 strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup 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 gettimeofday... yes checking for mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... 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 for setmode... no checking for fseeko... yes checking for gcc options needed to detect all undeclared 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 sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes 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 will 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/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating packages/Makefile config.status: creating packages/vms/Makefile config.status: creating libcurl.pc config.status: creating curl-config 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.18.0 SSL: enabled (OpenSSL) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) TLS-SRP: enabled 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 RTMP: no (--with-librtmp) 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) 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 pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP 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-asyn-ares.lo CC libcurl_la-asyn-base.lo CC libcurl_la-asyn-thrdd.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-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-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_rtmp.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-doh.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-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.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_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-httpsrr.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-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.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-smb.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-strdup.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.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-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.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-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-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_rtmp.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-doh.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-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.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_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-httpsrr.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-noproxy.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.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-smb.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-strdup.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.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 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_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-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_osslq.lo CC vquic/libcurlu_la-curl_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-dynbuf.lo CC curlx/libcurlu_la-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-strcopy.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 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_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-curl_ngtcp2.lo CC vquic/libcurl_la-curl_osslq.lo CC vquic/libcurl_la-curl_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-dynbuf.lo CC curlx/libcurl_la-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-strcopy.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 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 runtests.1 RENDER curl-config.1 RENDER testcurl.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.txt GENERATE curl.1 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_CONTENT_LENGTH_DOWNLOAD.3 RENDER CURLINFO_CONNECT_TIME_T.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_FILETIME.3 RENDER CURLINFO_EFFECTIVE_URL.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_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_SOCKETDATA.3 RENDER CURLMOPT_SOCKETFUNCTION.3 RENDER CURLMOPT_TIMERDATA.3 RENDER CURLMOPT_TIMERFUNCTION.3 RENDER CURLOPT_ABSTRACT_UNIX_SOCKET.3 RENDER CURLOPT_ACCEPT_ENCODING.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_FOLLOWLOCATION.3 RENDER CURLOPT_FNMATCH_FUNCTION.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_FTPPORT.3 RENDER CURLOPT_FTP_USE_PRET.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_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_LARGE.3 RENDER CURLOPT_POSTFIELDSIZE.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_SEEKFUNCTION.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.3 RENDER CURLOPT_SERVICE_NAME.3 RENDER CURLOPT_SHARE.3 RENDER CURLOPT_SOCKOPTDATA.3 RENDER CURLOPT_SOCKOPTFUNCTION.3 RENDER CURLOPT_SOCKS5_AUTH.3 RENDER CURLOPT_SOCKS5_GSSAPI_NEC.3 RENDER CURLOPT_SOCKS5_GSSAPI_SERVICE.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_TIMEVALUE.3 RENDER CURLOPT_TIMEOUT_MS.3 RENDER CURLOPT_TIMEVALUE_LARGE.3 RENDER CURLOPT_TLS13_CIPHERS.3 RENDER CURLOPT_TLSAUTH_PASSWORD.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_escape.3 RENDER curl_easy_duphandle.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_name.3 RENDER curl_easy_option_next.3 RENDER curl_easy_option_by_id.3 RENDER curl_easy_pause.3 RENDER curl_easy_perform.3 RENDER curl_easy_reset.3 RENDER curl_easy_recv.3 RENDER curl_easy_setopt.3 RENDER curl_easy_send.3 RENDER curl_easy_ssls_export.3 RENDER curl_easy_ssls_import.3 RENDER curl_easy_strerror.3 RENDER curl_easy_upkeep.3 RENDER curl_easy_unescape.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_global_trace.3 RENDER curl_mime_addpart.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_multi_add_handle.3 RENDER curl_mprintf.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_init.3 RENDER curl_multi_notify_disable.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_bname.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_see.o CC curl-tool_cb_soc.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_helpers.o CC curl-tool_ipfs.o CC curl-tool_help.o CC curl-tool_libinfo.o CC curl-tool_listhelp.o CC curl-tool_main.o CC curl-tool_msgs.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_strdup.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-dynbuf.o CC ../lib/curlx/curl-fopen.o CC ../lib/curlx/curl-multibyte.o CC ../lib/curlx/curl-nonblock.o CC ../lib/curlx/curl-strcopy.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_bname.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_strdup.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-dynbuf.lo CC ../lib/curlx/libcurltool_la-base64.lo CC ../lib/curlx/libcurltool_la-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-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 debug build options... 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 curl debug memory tracking... 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 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 C11 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.18.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 enable large file support... 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 '1502' (raw: '15.2.1') 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 smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... 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.21.3 checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... 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 BoringSSL... no checking for AWS-LC... no checking for LibreSSL... no checking for OpenSSL >= v3... 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 for SRP support in OpenSSL... yes checking for QUIC support and OpenSSL >= 3.3... yes checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend 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 for RTMP_Init in -lrtmp... no 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 configure: HTTP3 support is experimental 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 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 stdint.h... (cached) 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 long long... yes 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/select.h... (cached) yes checking for select... 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 MSG_NOSIGNAL... 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 if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate 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 strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup 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 gettimeofday... yes checking for mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... 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 for setmode... no checking for fseeko... yes checking for gcc options needed to detect all undeclared 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 sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes 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 will 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/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating packages/Makefile config.status: creating packages/vms/Makefile config.status: creating libcurl.pc config.status: creating curl-config 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.18.0 SSL: enabled (OpenSSL) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) TLS-SRP: enabled 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 RTMP: no (--with-librtmp) 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) 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 pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP 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-asyn-ares.lo CC libcurl_la-asyn-base.lo CC libcurl_la-asyn-thrdd.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-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-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_rtmp.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-doh.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-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.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_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-httpsrr.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-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.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-smb.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-strdup.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.lo CC libcurl_la-uint-table.lo CC libcurl_la-uint-spbset.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-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.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-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-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_rtmp.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-doh.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-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.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_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-httpsrr.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-noproxy.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.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-smb.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-strdup.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.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 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_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-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_osslq.lo CC vquic/libcurlu_la-curl_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-dynbuf.lo CC curlx/libcurlu_la-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-strcopy.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 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_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-curl_ngtcp2.lo CC vquic/libcurl_la-curl_osslq.lo CC vquic/libcurl_la-curl_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-dynbuf.lo CC curlx/libcurl_la-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-strcopy.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-asyn-ares.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_rtmp.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-hostip4.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip6.o: no symbols /usr/bin/nm: .libs/libcurl_la-httpsrr.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-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: .libs/libcurl_la-system_win32.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_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.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-curl_osslq.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_quiche.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_ntop.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_pton.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-multibyte.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 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 debug build options... 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 curl debug memory tracking... 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 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 C11 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.18.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 enable large file support... 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 '1502' (raw: '15.2.1') 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 smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... 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.21.3 checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... 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.11 checking for nettle_MD5Init in -lgnutls... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for nettle options with pkg-config... found checking for nettle_MD5Init in -lnettle... yes configure: detected nettle version 3.10.2 checking for gnutls_srp_verifier in -lgnutls... yes checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend 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 for RTMP_Init in -lrtmp... no 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 configure: HTTP3 support is experimental 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 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 stdint.h... (cached) 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 long long... yes 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/select.h... (cached) yes checking for select... 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 MSG_NOSIGNAL... 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 if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate 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 strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup 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 gettimeofday... yes checking for mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... 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 for setmode... no checking for fseeko... yes checking for gcc options needed to detect all undeclared 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 sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes 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 will 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/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating packages/Makefile config.status: creating packages/vms/Makefile config.status: creating libcurl.pc config.status: creating curl-config 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 -lnettle -lgnutls -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.18.0 SSL: enabled (GnuTLS) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) TLS-SRP: enabled 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 RTMP: no (--with-librtmp) 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) 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 pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP 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-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-asyn-base.lo CC libcurl_la-bufref.lo CC libcurl_la-bufq.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-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-cshutdn.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fopen.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_fnmatch.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_rtmp.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-doh.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-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.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_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-httpsrr.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-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.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-smb.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-strdup.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.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-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.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-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-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_rtmp.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-doh.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-gopher.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.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_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-httpsrr.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-netrc.lo CC libcurlu_la-multi_ntfy.lo CC libcurlu_la-noproxy.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.lo CC libcurlu_la-rand.lo CC libcurlu_la-ratelimit.lo CC libcurlu_la-request.lo CC libcurlu_la-select.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-slist.lo CC libcurlu_la-smb.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-strdup.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.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 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_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-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_osslq.lo CC vquic/libcurlu_la-curl_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-dynbuf.lo CC curlx/libcurlu_la-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-strcopy.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 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_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-curl_ngtcp2.lo CC vquic/libcurl_la-curl_osslq.lo CC vquic/libcurl_la-curl_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-dynbuf.lo CC curlx/libcurl_la-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-strcopy.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-asyn-ares.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_rtmp.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-hostip4.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip6.o: no symbols /usr/bin/nm: .libs/libcurl_la-httpsrr.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-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: .libs/libcurl_la-system_win32.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_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.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-curl_osslq.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_quiche.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_ntop.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_pton.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-multibyte.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 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-localhost.prm test-localhost.nn.prm test-localhost0h.prm test-localhost-san-first.prm test-localhost-san-last.prm test-client-cert.prm test-client-eku-only.prm /usr/bin/openssl OpenSSL 3.6.1 27 Jan 2026 (Library: OpenSSL 3.6.1 27 Jan 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-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 Certificate generated: CA=test 300days prime256v1 test-client-cert Certificate generated: CA=test 300days prime256v1 test-client-eku-only 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 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/fopen.c ../../lib/curlx/inet_ntop.c ../../lib/curlx/inet_pton.c ../../lib/curlx/multibyte.c ../../lib/curlx/nonblock.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 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 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/fopen.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_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_pingpong.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 lib758.c lib757.c lib766.c lib1156.c lib1301.c lib1308.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 lib1591.c lib1592.c lib1593.c lib1594.c lib1597.c lib1598.c lib1599.c lib1662.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 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 lib1970.c lib1971.c lib1972.c lib1973.c lib1974.c lib1975.c lib1977.c lib1978.c lib2023.c lib2032.c lib2082.c lib2301.c lib2302.c lib2304.c lib2306.c lib2308.c lib2309.c lib2402.c lib2404.c lib2405.c lib2502.c lib2700.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 lib3207.c lib3208.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 unit1396.c unit1397.c unit1398.c unit1399.c unit1600.c unit1601.c unit1602.c unit1603.c unit1605.c unit1606.c unit1607.c unit1608.c unit1609.c unit1610.c unit1611.c unit1612.c unit1614.c unit1615.c unit1616.c unit1620.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 unit1979.c unit1980.c unit2600.c unit2601.c unit2602.c unit2603.c unit2604.c unit2605.c unit3200.c unit3205.c unit3211.c unit3212.c unit3213.c unit3214.c unit3216.c > units.c CC units.o CCLD units 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 > 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 -k -p -j24 !433 Using curl: ../src/curl CMD (256): valgrind >/dev/null 2>&1 CMD (0): valgrind --help 2>&1 | grep -- --tool >/dev/null 2>&1 CMD (0): ../src/curl --version 1>log/curlverout.log 2>log/curlvererr.log ********* System characteristics ******** * curl 8.18.0 (x86_64-pc-linux-gnu) * libcurl/8.18.0 OpenSSL/3.6.1 zlib/1.3.1 brotli/1.2.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.68.0 ngtcp2/1.20.0 nghttp3/1.15.0 mit-krb5/1.21.3 * Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss * Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd * Disabled: win32-ca-searchpath, win32-ca-search-safe, override-dns, ssl-sessions * Host: * System: Linux arch-nspawn-2451664 6.12.61-1-lts #1 SMP PREEMPT_DYNAMIC Sun, 07 Dec 2025 09:50:46 +0000 x86_64 GNU/Linux * OS: linux * Perl: v5.42.0 (/usr/bin/perl) * Args: -a -p ~flaky ~timing-dependent -v -a -k -p -j24 !433 * Jobs: 24 * Env: Valgrind * Seed: 208133 * Servers: HTTP-IPv6 HTTP-unix FTP-IPv6 ***************************************** DISABLED: test 323 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 test 0096 SKIPPED: curl lacks TrackMemory support test 0159 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: test776 result is ignored due to flaky 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 1454 SKIPPED: curl has IPv6 support test 1461 SKIPPED: curl lacks manual support Warning: test1510 result is ignored due to flaky test 1560 SKIPPED: curl lacks ldap support 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 1703 SKIPPED: curl lacks Unicode support Warning: test2032 result is ignored due to flaky Warning: test2032 result is ignored due to timing-dependent 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 Warning: test2405 result is ignored due to flaky Warning: test2407 result is ignored due to flaky 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 74810 starting Runner 74809 starting Runner 74808 starting Runner 74807 starting Runner 74806 starting Runner 74805 starting Runner 74804 starting Runner 74803 starting Runner 74802 starting Runner 74801 starting Runner 74800 starting Runner 74799 starting Runner 74798 starting Runner 74797 starting Runner 74796 starting Runner 74795 starting Runner 74794 starting Runner 74793 starting Runner 74792 starting Runner 74791 starting Runner 74790 starting Runner 74789 starting Runner 74788 starting Runner 74787 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/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:37769/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/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time http://127.0.0.1:39649/1 > log/24/stdout1 2> log/24/stderr1 CMD (33792): ../libtool --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:39173/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/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 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 74787) running test 24 in state 4 Runner 2 (id 74788) running test 23 in state 4 Runner 3 (id 74789) running test 22 in state 4 Runner 4 (id 74790) running test 21 in state 4 Runner 5 (id 74791) running test 20 in state 4 Runner 6 (id 74792) running test 19 in state 4 Runner 7 (id 74793) running test 18 in state 4 Runner 8 (id 74794) running test 17 in state 4 Runner 9 (id 74795) running test 16 in state 4 Runner 10 (id 74796) running test 15 in state 4 Runner 11 (id 74797) running test 14 in state 4 Runner 12 (id 74798) running test 13 in state 4 Runner 13 (id 74799) running test 12 in state 4 Runner 14 (id 74800) running test 11 in state 4 Runner 15 (id 74801) running test 10 in state 4 Runner 16 (id 74802) running test 9 in state 4 Runner 17 (id 74803) running test 8 in state 4 Runner 18 (id 74804) running test 7 in state 4 Runner 19 (id 74805) running test 6 in state 4 Runner 20 (id 74806) running test 5 in state 4 Runner 21 (id 74807) running test 4 in state 4 Runner 22 (id 74808) running test 3 in state 4 Runner 23 (id 74809) running test 2 in state 4 Runner 24 (id 74810) running test 1 in state 4 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 75290 port 37769 * pid http => 75290 75290 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:37769/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:37769/none.htfml > log/2/stdout23 2> log/2/stderr23 === End of file commands.log === Start of file http_server.log 17:48:53.567073 Running HTTP IPv4 version on port 37769 17:48:53.567144 Wrote pid 75290 to log/2/server/http_server.pid 17:48:53.567172 Wrote port 37769 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 ==75906== ==75906== Process terminating with default action of signal 4 (SIGILL) ==75906== Illegal opcode at address 0x4014520 ==75906== at 0x4014520: getparameter (tool_getparam.c:2862) ==75906== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75906== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75906== by 0x4003728: main (tool_main.c:186) === End of file valgrind23 Warning: 74810: 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 74811 port 39649 * pid http => 74811 74811 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:39649/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:39649/1 > log/24/stdout1 2> log/24/stderr1 === End of file commands.log === Start of file http_server.log 17:48:51.847271 Running HTTP IPv4 version on port 39649 17:48:51.847339 Wrote pid 74811 to log/24/server/http_server.pid 17:48:51.847360 Wrote port 39649 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 ==74823== ==74823== Process terminating with default action of signal 4 (SIGILL) ==74823== Illegal opcode at address 0x4014520 ==74823== at 0x4014520: getparameter (tool_getparam.c:2862) ==74823== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==74823== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==74823== by 0x4003728: main (tool_main.c:186) === End of file valgrind1 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 74812 port 39173 * pid http => 74812 74812 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:39173/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:39173/2 > log/23/stdout2 2> log/23/stderr2 === End of file commands.log === Start of file http_server.log 17:48:52.948248 Running HTTP IPv4 version on port 39173 17:48:52.948311 Wrote pid 74812 to log/23/server/http_server.pid 17:48:52.948337 Wrote port 39173 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 ==74872== ==74872== Process terminating with default action of signal 4 (SIGILL) ==74872== Illegal opcode at address 0x4014520 ==74872== at 0x4014520: getparameter (tool_getparam.c:2862) ==74872== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==74872== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==74872== by 0x4003728: main (tool_main.c:186) === End of file valgrind2 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 commCMD (33792): ../libtool --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/valgrind25 ../src/curl -q --output log/2/curl25.out --include --trace-ascii log/2/trace25 --trace-time http://127.0.0.1:37769/want/25 -L --max-redirs 5 > log/2/stdout25 2> log/2/stderr25 CMD (33792): ../libtool --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/valgrind26 ../src/curl -q --output log/24/curl26.out --include --trace-ascii log/24/trace26 --trace-time http://127.0.0.1:39649/want/26 -o - -o - > log/24/stdout26 2> log/24/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/23/valgrind27 ../src/curl -q --output log/23/curl27.out --include --trace-ascii log/23/trace27 --trace-time "http://127.0.0.1:39173/want/{27,27,27}" -b none > log/23/stdout27 2> log/23/stderr27 ands.log ../libtool --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 ==75141== ==75141== Process terminating with default action of signal 4 (SIGILL) ==75141== Illegal opcode at address 0x4014520 ==75141== at 0x4014520: getparameter (tool_getparam.c:2862) ==75141== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75141== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75141== by 0x4003728: main (tool_main.c:186) === End of file valgrind19 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/2/valgrind25 ../src/curl -q --output log/2/curl25.out --include --trace-ascii log/2/trace25 --trace-time http://127.0.0.1:37769/want/25 -L --max-redirs 5 > log/2/stdout25 2> log/2/stderr25 25: 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 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/2/valgrind25 ../src/curl -q --output log/2/curl25.out --include --trace-ascii log/2/trace25 --trace-time http://127.0.0.1:37769/want/25 -L --max-redirs 5 > log/2/stdout25 2> log/2/stderr25 === End of file commands.log === Start of file http_server.log 17:49:07.143566 ====> Client connect 17:49:07.143589 accept_connection 3 returned 4 17:49:07.143601 accept_connection 3 returned 0 17:49:07.143610 Read 93 bytes 17:49:07.143616 Process 93 bytes request 17:49:07.143631 Got request: GET /verifiedserver HTTP/1.1 17:49:07.143637 Are-we-friendly question received 17:49:07.143653 Wrote request (93 bytes) input to log/2/server.input 17:49:07.143667 Identifying ourselves as friends 17:49:07.143716 Response sent (56 bytes) and written to log/2/server.response 17:49:07.143725 special request received, no persistency 17:49:07.143731 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37769... * Established connection to 127.0.0.1 (127.0.0.1 port 37769) from 127.0.0.1 port 33914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37769 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37769 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75290 === 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: 75290 === End of file server.response === Start of file valgrind25 ==76110== ==76110== Process terminating with default action of signal 4 (SIGILL) ==76110== Illegal opcode at address 0x4014520 ==76110== at 0x4014520: getparameter (tool_getparam.c:2862) ==76110== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76110== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76110== by 0x4003728: main (tool_main.c:186) === End of file valgrind25 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/24/valgrind26 ../src/curl -q --output log/24/curl26.out --include --trace-ascii log/24/trace26 --trace-time http://127.0.0.1:39649/want/26 -o - -o - > log/24/stdout26 2> log/24/stderr26 26: 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 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/24/valgrind26 ../src/curl -q --output log/24/curl26.out --include --trace-ascii log/24/trace26 --trace-time http://127.0.0.1:39649/want/26 -o - -o - > log/24/stdout26 2> log/24/stderr26 === End of file commands.log === Start of file http_server.log 17:49:07.338776 ====> Client connect 17:49:07.338836 accept_connection 3 returned 4 17:49:07.338855 accept_connection 3 returned 0 17:49:07.338867 Read 93 bytes 17:49:07.338876 Process 93 bytes request 17:49:07.338898 Got request: GET /verifiedserver HTTP/1.1 17:49:07.338907 Are-we-friendly question received 17:49:07.338935 Wrote request (93 bytes) input to log/24/server.input 17:49:07.338952 Identifying ourselves as friends 17:49:07.338998 Response sent (56 bytes) and written to log/24/server.response 17:49:07.339016 special request received, no persistency 17:49:07.339028 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 34826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind26 ==76177== ==76177== Process terminating with default action of signal 4 (SIGILL) ==76177== Illegal opcode at address 0x4014520 ==76177== at 0x4014520: getparameter (tool_getparam.c:2862) ==76177== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76177== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76177== by 0x4003728: main (tool_main.c:186) === End of file valgrind26 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/23/valgrind27 ../src/curl -q --output log/23/curl27.out --include --trace-ascii log/23/trace27 --trace-time "http://127.0.0.1:39173/want/{27,27,27}" -b none > log/23/stdout27 2> log/23/stderr27 27: 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 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/23/valgrind27 ../src/curl -q --output log/23/curl27.out --include --trace-ascii log/23/trace27 --trace-time "http://127.0.0.1:39173/want/{27,27,27}" -b none > log/23/stdout27 2> log/23/stderr27 === End of file commands.log === Start of file http_server.log 17:49:08.380616 ====> Client connect 17:49:08.380638 accept_connection 3 returned 4 17:49:08.380649 accept_connection 3 returned 0 17:49:08.380658 Read 93 bytes 17:49:08.380665 Process 93 bytes request 17:49:08.380678 Got request: GET /verifiedserver HTTP/1.1 17:49:08.380684 Are-we-friendly question received 17:49:08.380701 Wrote request (93 bytes) input to log/23/server.input 17:49:08.380714 Identifying ourselves as friends 17:49:08.380755 Response sent (56 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/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-time http://127.0.0.1:44593/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/2/valgrind29 ../src/curl -q --output log/2/curl29.out --include --trace-ascii log/2/trace29 --trace-time http://127.0.0.1:37769/want/29 -m 2 > log/2/stdout29 2> log/2/stderr29 RUN: Process with pid 75290 signalled to die RUN: Process with pid 75290 gracefully died s) and written to log/23/server.response 17:49:08.380767 special request received, no persistency 17:49:08.380773 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 45608 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind27 ==76239== ==76239== Process terminating with default action of signal 4 (SIGILL) ==76239== Illegal opcode at address 0x4014520 ==76239== at 0x4014520: getparameter (tool_getparam.c:2862) ==76239== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76239== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76239== by 0x4003728: main (tool_main.c:186) === 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/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 74818 port 44593 * pid http => 74818 74818 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:44593/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:44593/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 17:48:52.553879 Running HTTP IPv4 version on port 44593 17:48:52.553937 Wrote pid 74818 to log/17/server/http_server.pid 17:48:52.553959 Wrote port 44593 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 ==75293== ==75293== Process terminating with default action of signal 4 (SIGILL) ==75293== Illegal opcode at address 0x4014520 ==75293== at 0x4014520: getparameter (tool_getparam.c:2862) ==75293== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75293== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75293== by 0x4003728: main (tool_main.c:186) === End of file valgrind8 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/2/valgrind29 ../src/curl -q --output log/2/curl29.out --include --trace-ascii log/2/trace29 --trace-time http://127.0.0.1:37769/want/29 -m 2 > log/2/stdout29 2> log/2/stderr29 29: 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 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/2/valgrind29 ../src/curl -q --output log/2/curl29.out --include --trace-ascii log/2/trace29 --trace-time http://127.0.0.1:37769/want/29 -m 2 > log/2/stdout29 2> log/2/stderr29 === End of file commands.log === Start of file http_server.log 17:49:07.847427 ====> Client connect 17:49:07.847458 accept_connection 3 returned 4 17:49:07.847483 accept_connection 3 returned 0 17:49:07.847496 Read 93 bytes 17:49:07.847503 Process 93 bytes request 17:49:07.847511 Got request: GET /verifiedserver HTTP/1.1 17:49:07.847517 Are-we-friendly question received 17:49:07.847537 Wrote request (93 bytes) input to log/2/server.input 17:49:07.847548 Identifying ourselves as friends 17:49:07.847586 Response sent (56 bytes) and written to log/2/server.response 17:49:07.847592 special request received, no persistency 17:49:07.847598 ====> Client disconnect 0 exit_signal_handler: called 17:49:08.553039 signalled to die 17:49:08.553130 ========> IPv4 sws (port 37769 pid: 75290) exits with signal (15) 17:49:08.553140 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37769... * Established connection to 127.0.0.1 (127.0.0.1 port 37769) from 127.0.0.1 port 48880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37769 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37769 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75290 === 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: 75290 === End of file server.response === Start of file valgrind29 ==76320== ==76320== Process terminating with default action of signal 4 (SIGILL) ==76320== Illegal opcode at address 0x4014520 ==76320== at 0x4014520: getparameter (tool_getparam.c:2862) ==76320== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==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/24/valgrind30 ../src/curl -q --output log/24/curl30.out --include --trace-ascii log/24/trace30 --trace-time http://127.0.0.1:39649/want/30 > log/24/stdout30 2> log/24/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/23/valgrind31 ../src/curl -q --output log/23/curl31.out --include --trace-ascii log/23/trace31 --trace-time http://test31.curl:39173/we/want/31 -b none -c log/23/jar31.txt --resolve test31.curl:39173:127.0.0.1 > log/23/stdout31 2> log/23/stderr31 CMD (33792): ../libtool --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/valgrind32 ../src/curl -q --output log/17/curl32.out --include --trace-ascii log/17/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:44593/32 -G > log/17/stdout32 2> log/17/stderr32 6320== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76320== by 0x4003728: main (tool_main.c:186) === End of file valgrind29 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/24/valgrind30 ../src/curl -q --output log/24/curl30.out --include --trace-ascii log/24/trace30 --trace-time http://127.0.0.1:39649/want/30 > log/24/stdout30 2> log/24/stderr30 30: 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 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/24/valgrind30 ../src/curl -q --output log/24/curl30.out --include --trace-ascii log/24/trace30 --trace-time http://127.0.0.1:39649/want/30 > log/24/stdout30 2> log/24/stderr30 === End of file commands.log === Start of file http_server.log 17:49:08.026690 ====> Client connect 17:49:08.026720 accept_connection 3 returned 4 17:49:08.026735 accept_connection 3 returned 0 17:49:08.026749 Read 93 bytes 17:49:08.026758 Process 93 bytes request 17:49:08.026769 Got request: GET /verifiedserver HTTP/1.1 17:49:08.026778 Are-we-friendly question received 17:49:08.026802 Wrote request (93 bytes) input to log/24/server.input 17:49:08.026817 Identifying ourselves as friends 17:49:08.026868 Response sent (56 bytes) and written to log/24/server.response 17:49:08.026878 special request received, no persistency 17:49:08.026886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 34800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind30 ==76401== ==76401== Process terminating with default action of signal 4 (SIGILL) ==76401== Illegal opcode at address 0x4014520 ==76401== at 0x4014520: getparameter (tool_getparam.c:2862) ==76401== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76401== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76401== by 0x4003728: main (tool_main.c:186) === End of file valgrind30 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/23/valgrind31 ../src/curl -q --output log/23/curl31.out --include --trace-ascii log/23/trace31 --trace-time http://test31.curl:39173/we/want/31 -b none -c log/23/jar31.txt --resolve test31.curl:39173:127.0.0.1 > log/23/stdout31 2> log/23/stderr31 31: 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 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/23/valgrind31 ../src/curl -q --output log/23/curl31.out --include --trace-ascii log/23/trace31 --trace-time http://test31.curl:39173/we/want/31 -b none -c log/23/jar31.txt --resolve test31.curl:39173:127.0.0.1 > log/23/stdout31 2> log/23/stderr31 === End of file commands.log === Start of file http_server.log 17:49:09.029628 ====> Client connect 17:49:09.029649 accept_connection 3 returned 4 17:49:09.029659 accept_connection 3 returned 0 17:49:09.029668 Read 93 bytes 17:49:09.029674 Process 93 bytes request 17:49:09.029682 Got request: GET /verifiedserver HTTP/1.1 17:49:09.029687 Are-we-friendly question received 17:49:09.029704 Wrote request (93 bytes) input to log/23/server.input 17:49:09.029715 Identifying ourselves as friends 17:49:09.029751 Response sent (56 bytes) and written to log/23/server.response 17:49:09.029757 special request received, no persistency 17:49:09.029763 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 36838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind31 ==76416== ==76416== Process terminating with default action of signal 4 (SIGILL) ==76416== Illegal opcode at address 0x4014520 ==76416== at 0x4014520: getparameter (tool_getparam.c:2862) ==76416== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76416== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76416== by 0x4003728: main (tool_main.c:186) === End of file valgrind31 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/17/valgrind32 ../src/curl -q --output log/17/curl32.out --include --trace-ascii log/17/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:44593/32 -G > log/17/stdout32 2> log/17/stderr32 32: 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 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/17/valgrind32 ../src/curl -q --output log/17/curl32.out --include --trace-ascii log/17/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:44593/32 -G > log/17/stdout32 2> log/17/stderr32 === End of file commands.log === Start of file http_server.log 17:49:08.081793 ====> Client connect 17:49:08.081814 accept_connection 3 returned 4 17:49:08.081825 accept_connection 3 returned 0 17:49:08.081834 Read 93 bytes 17:49:08.081840 Process 93 bytes request 17:49:08.081855 Got request: GET /verifiedserver HTTP/1.1 17:49:08.081861 Are-we-friendly question received 17:49:08.081879 Wrote request (93 bytes) input to log/17/server.input 17:49:08.081892 Identifying ourselves as friends 17:49:08.081938 Response sent (56 bytes) and written to log/17/server.response 17:49:08.081947 special request received, no persistency 17:49:08.081953 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 58026 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End 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/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:32889/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 = Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind32 ==76513== ==76513== Process terminating with default action of signal 4 (SIGILL) ==76513== Illegal opcode at address 0x4014520 ==76513== at 0x4014520: getparameter (tool_getparam.c:2862) ==76513== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76513== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76513== by 0x4003728: main (tool_main.c:186) === 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/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:42933/3 > log/22/stdout3 2> log/22/stderr3 CMD (33792): ../libtool --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/valgrind28 ../src/curl -q --output log/6/curl28.out --include --trace-ascii log/6/trace28 --trace-time http://127.0.0.1:42747/want/28 -L > log/6/stdout28 2> log/6/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/24/valgrind34 ../src/curl -q --output log/24/curl34.out --include --trace-ascii log/24/trace34 --trace-time http://127.0.0.1:39649/34 > log/24/stdout34 2> log/24/stderr34 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 74973 port 32889 * pid http => 74973 74973 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:32889/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-01-28 17:49:09.323222114 +0000 +++ log/10/check-generated 2026-01-28 17:49:09.323222114 +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:32889/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:32889/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:32889/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 17:48:53.155649 Running HTTP IPv4 version on port 32889 17:48:53.155714 Wrote pid 74973 to log/10/server/http_server.pid 17:48:53.155735 Wrote port 32889 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 ==75655== ==75655== Process terminating with default action of signal 4 (SIGILL) ==75655== Illegal opcode at address 0x4014520 ==75655== at 0x4014520: getparameter (tool_getparam.c:2862) ==75655== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75655== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75655== by 0x4003728: main (tool_main.c:186) === End of file valgrind15 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 74813 port 42933 * pid http => 74813 74813 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:42933/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:42933/3 > log/22/stdout3 2> log/22/stderr3 === End of file commands.log === Start of file http_server.log 17:48:52.049392 Running HTTP IPv4 version on port 42933 17:48:52.049468 Wrote pid 74813 to log/22/server/http_server.pid 17:48:52.049491 Wrote port 42933 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 ==74923== ==74923== Process terminating with default action of signal 4 (SIGILL) ==74923== Illegal opcode at address 0x4014520 ==74923== at 0x4014520: getparameter (tool_getparam.c:2862) ==74923== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==74923== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==74923== by 0x4003728: main (tool_main.c:186) === 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/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 76292 port 42747 * pid http => 76292 76292 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/6/valgrind28 ../src/curl -q --output log/6/curl28.out --include --trace-ascii log/6/trace28 --trace-time http://127.0.0.1:42747/want/28 -L > log/6/stdout28 2> log/6/stderr28 28: 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 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/6/valgrind28 ../src/curl -q --output log/6/curl28.out --include --trace-ascii log/6/trace28 --trace-time http://127.0.0.1:42747/want/28 -L > log/6/stdout28 2> log/6/stderr28 === End of file commands.log === Start of file http_server.log 17:49:07.614464 Running HTTP IPv4 version on port 42747 17:49:07.614545 Wrote pid 76292 to log/6/server/http_server.pid 17:49:07.614567 Wrote port 42747 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 28 === End of file server.cmd === Start of file valgrind28 ==76580== ==76580== Process terminating with default action of signal 4 (SIGILL) ==76580== Illegal opcode at address 0x4014520 ==76580== at 0x4014520: getparameter (tool_getparam.c:2862) ==76580== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76580== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76580== by 0x4003728: main (tool_main.c:186) === End of file valgrind28 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/24/valgrind34 ../src/curl -q --output log/24/curl34.out --include --trace-ascii log/24/trace34 --trace-time http://127.0.0.1:39649/34 > log/24/stdout34 2> log/24/stderr34 34: 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 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/24/valgrind34 ../src/curl -q --output log/24/curl34.out --include --trace-ascii log/24/trace34 --trace-time http://127.0.0.1:39649/34 > log/24/stdout34 2> log/24/stderr34 === End of file commands.log === Start of file http_server.log 17:49:08.714615CMD (33792): ../libtool --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/valgrind36 ../src/curl -q --output log/17/curl36.out --include --trace-ascii log/17/trace36 --trace-time http://127.0.0.1:44593/36 > log/17/stdout36 2> log/17/stderr36 CMD (33792): ../libtool --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/valgrind35 ../src/curl -q --output log/23/curl35.out --include --trace-ascii log/23/trace35 --trace-time http://127.0.0.1:39173/we/want/35 --data-binary @log/23/test35.txt > log/23/stdout35 2> log/23/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/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:34067/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 ====> Client connect 17:49:08.714637 accept_connection 3 returned 4 17:49:08.714648 accept_connection 3 returned 0 17:49:08.714657 Read 93 bytes 17:49:08.714663 Process 93 bytes request 17:49:08.714673 Got request: GET /verifiedserver HTTP/1.1 17:49:08.714679 Are-we-friendly question received 17:49:08.714696 Wrote request (93 bytes) input to log/24/server.input 17:49:08.714707 Identifying ourselves as friends 17:49:08.714744 Response sent (56 bytes) and written to log/24/server.response 17:49:08.714750 special request received, no persistency 17:49:08.714756 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 34808 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind34 ==76660== ==76660== Process terminating with default action of signal 4 (SIGILL) ==76660== Illegal opcode at address 0x4014520 ==76660== at 0x4014520: getparameter (tool_getparam.c:2862) ==76660== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76660== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76660== by 0x4003728: main (tool_main.c:186) === End of file valgrind34 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/17/valgrind36 ../src/curl -q --output log/17/curl36.out --include --trace-ascii log/17/trace36 --trace-time http://127.0.0.1:44593/36 > log/17/stdout36 2> log/17/stderr36 36: 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 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/17/valgrind36 ../src/curl -q --output log/17/curl36.out --include --trace-ascii log/17/trace36 --trace-time http://127.0.0.1:44593/36 > log/17/stdout36 2> log/17/stderr36 === End of file commands.log === Start of file http_server.log 17:49:08.735488 ====> Client connect 17:49:08.735508 accept_connection 3 returned 4 17:49:08.735518 accept_connection 3 returned 0 17:49:08.735527 Read 93 bytes 17:49:08.735533 Process 93 bytes request 17:49:08.735541 Got request: GET /verifiedserver HTTP/1.1 17:49:08.735547 Are-we-friendly question received 17:49:08.735564 Wrote request (93 bytes) input to log/17/server.input 17:49:08.735574 Identifying ourselves as friends 17:49:08.735610 Response sent (56 bytes) and written to log/17/server.response 17:49:08.735616 special request received, no persistency 17:49:08.735622 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 58028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind36 ==76738== ==76738== Process terminating with default action of signal 4 (SIGILL) ==76738== Illegal opcode at address 0x4014520 ==76738== at 0x4014520: getparameter (tool_getparam.c:2862) ==76738== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76738== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76738== by 0x4003728: main (tool_main.c:186) === End of file valgrind36 test 0035...[HTTP POST binary data with embedded NUL] ../libtool --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/valgrind35 ../src/curl -q --output log/23/curl35.out --include --trace-ascii log/23/trace35 --trace-time http://127.0.0.1:39173/we/want/35 --data-binary @log/23/test35.txt > log/23/stdout35 2> log/23/stderr35 35: 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 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/23/valgrind35 ../src/curl -q --output log/23/curl35.out --include --trace-ascii log/23/trace35 --trace-time http://127.0.0.1:39173/we/want/35 --data-binary @log/23/test35.txt > log/23/stdout35 2> log/23/stderr35 === End of file commands.log === Start of file http_server.log 17:49:09.717912 ====> Client connect 17:49:09.717934 accept_connection 3 returned 4 17:49:09.717945 accept_connection 3 returned 0 17:49:09.717953 Read 93 bytes 17:49:09.717960 Process 93 bytes request 17:49:09.717968 Got request: GET /verifiedserver HTTP/1.1 17:49:09.717974 Are-we-friendly question received 17:49:09.718009 Wrote request (93 bytes) input to log/23/server.input 17:49:09.718019 Identifying ourselves as friends 17:49:09.718059 Response sent (56 bytes) and written to log/23/server.response 17:49:09.718065 special request received, no persistency 17:49:09.718071 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 36848 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === 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 ==76667== ==76667== Process terminating with default action of signal 4 (SIGILL) ==76667== Illegal opcode at address 0x4014520 ==76667== at 0x4014520: getparameter (tool_getparam.c:2862) ==76667== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76667== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76667== by 0x4003728: main (tool_main.c:186) === End of file valgrind35 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 74817 port 34067 * pid http => 74817 74817 test 0007...[HTTP with cookie parser and header recording] ../libtool --mode=execute /usr/bin/valgrind --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/10/valgrind37 ../src/curl -q --output log/10/curl37.out --include --trace-ascii log/10/trace37 --trace-time http://127.0.0.1:32889/37 > log/10/stdout37 2> log/10/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/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:39589/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/22/valgrind38 ../src/curl -q --include --trace-ascii log/22/trace38 --trace-time http://127.0.0.1:42933/want/38 -C - --no-include -o log/22/fewl38.txt > log/22/stdout38 2> log/22/stderr38 emcheck --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:34067/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:34067/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 17:48:52.451241 Running HTTP IPv4 version on port 34067 17:48:52.451309 Wrote pid 74817 to log/18/server/http_server.pid 17:48:52.451334 Wrote port 34067 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 ==75140== ==75140== Process terminating with default action of signal 4 (SIGILL) ==75140== Illegal opcode at address 0x4014520 ==75140== at 0x4014520: getparameter (tool_getparam.c:2862) ==75140== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75140== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75140== by 0x4003728: main (tool_main.c:186) === End of file valgrind7 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/10/valgrind37 ../src/curl -q --output log/10/curl37.out --include --trace-ascii log/10/trace37 --trace-time http://127.0.0.1:32889/37 > log/10/stdout37 2> log/10/stderr37 37: 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 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/10/valgrind37 ../src/curl -q --output log/10/curl37.out --include --trace-ascii log/10/trace37 --trace-time http://127.0.0.1:32889/37 > log/10/stdout37 2> log/10/stderr37 === End of file commands.log === Start of file http_server.log 17:49:09.185229 ====> Client connect 17:49:09.185258 accept_connection 3 returned 4 17:49:09.185270 accept_connection 3 returned 0 17:49:09.185280 Read 93 bytes 17:49:09.185287 Process 93 bytes request 17:49:09.185303 Got request: GET /verifiedserver HTTP/1.1 17:49:09.185309 Are-we-friendly question received 17:49:09.185328 Wrote request (93 bytes) input to log/10/server.input 17:49:09.185345 Identifying ourselves as friends 17:49:09.185390 Response sent (56 bytes) and written to log/10/server.response 17:49:09.185398 special request received, no persistency 17:49:09.185404 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 40058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind37 ==76866== ==76866== Process terminating with default action of signal 4 (SIGILL) ==76866== Illegal opcode at address 0x4014520 ==76866== at 0x4014520: getparameter (tool_getparam.c:2862) ==76866== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76866== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76866== by 0x4003728: main (tool_main.c:186) === End of file valgrind37 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 75347 port 39589 * pid http => 75347 75347 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:39589/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:39589/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 === End of file commands.log === Start of file http_server.log 17:48:53.662290 Running HTTP IPv4 version on port 39589 17:48:53.662404 Wrote pid 75347 to log/1/server/http_server.pid 17:48:53.662435 Wrote port 39589 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 ==75998== ==75998== Process terminating with default action of signal 4 (SIGILL) ==75998== Illegal opcode at address 0x4014520 ==75998== at 0x4014520: getparameter (tool_getparam.c:2862) ==75998== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75998== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75998== by 0x4003728: main (tool_main.c:186) === End of file valgrind24 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/22/valgrind38 ../src/curl -q --include --trace-ascii log/22/trace38 --trace-time http://127.0.0.1:42933/want/38 -C - --no-include -o log/22/fewl38.txt > log/22/stdout38 2> log/22/stderr38 38: 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 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/22/valgrind38 ../src/curl -q --include --trace-ascii log/22/trace38 --trace-time http://127.0.0.1:42933/want/38 -C - --no-include -o log/22/fewl38.txt > log/22/stdout38 2> log/22/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 17:49:09.197569 ====> Client connect 17:49:09.197591 accept_connection 3 returned 4 17:49:09.197602 accept_connection 3 returned 0 17:49:09.197613 Read 93 bytes 17:49:09.197621 Process 93 bytes request 17:49:09.197636CMD (33792): ../libtool --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/valgrind39 ../src/curl -q --output log/6/curl39.out --include --trace-ascii log/6/trace39 --trace-time http://127.0.0.1:42747/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/6/stdout39 2> log/6/stderr39 CMD (33792): ../libtool --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/valgrind40 ../src/curl -q --output log/24/curl40.out --include --trace-ascii log/24/trace40 --trace-time http://127.0.0.1:39649/we/are/all/twits/40 -L > log/24/stdout40 2> log/24/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/17/valgrind41 ../src/curl -q --output log/17/curl41.out --include --trace-ascii log/17/trace41 --trace-time http://127.0.0.1:44593/want/41 -F moo=@boo > log/17/stdout41 2> log/17/stderr41 Got request: GET /verifiedserver HTTP/1.1 17:49:09.197642 Are-we-friendly question received 17:49:09.197659 Wrote request (93 bytes) input to log/22/server.input 17:49:09.197675 Identifying ourselves as friends 17:49:09.197716 Response sent (56 bytes) and written to log/22/server.response 17:49:09.197724 special request received, no persistency 17:49:09.197730 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 44130 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind38 ==76898== ==76898== Process terminating with default action of signal 4 (SIGILL) ==76898== Illegal opcode at address 0x4014520 ==76898== at 0x4014520: getparameter (tool_getparam.c:2862) ==76898== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76898== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76898== by 0x4003728: main (tool_main.c:186) === End of file valgrind38 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/6/valgrind39 ../src/curl -q --output log/6/curl39.out --include --trace-ascii log/6/trace39 --trace-time http://127.0.0.1:42747/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/6/stdout39 2> log/6/stderr39 39: 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 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/6/valgrind39 ../src/curl -q --output log/6/curl39.out --include --trace-ascii log/6/trace39 --trace-time http://127.0.0.1:42747/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/6/stdout39 2> log/6/stderr39 === End of file commands.log === Start of file http_server.log 17:49:09.270542 ====> Client connect 17:49:09.270565 accept_connection 3 returned 4 17:49:09.270576 accept_connection 3 returned 0 17:49:09.270585 Read 93 bytes 17:49:09.270592 Process 93 bytes request 17:49:09.270610 Got request: GET /verifiedserver HTTP/1.1 17:49:09.270616 Are-we-friendly question received 17:49:09.270633 Wrote request (93 bytes) input to log/6/server.input 17:49:09.270645 Identifying ourselves as friends 17:49:09.270686 Response sent (56 bytes) and written to log/6/server.response 17:49:09.270694 special request received, no persistency 17:49:09.270700 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 52006 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === 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 ==76987== ==76987== Process terminating with default action of signal 4 (SIGILL) ==76987== Illegal opcode at address 0x4014520 ==76987== at 0x4014520: getparameter (tool_getparam.c:2862) ==76987== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==76987== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==76987== by 0x4003728: main (tool_main.c:186) === 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/24/valgrind40 ../src/curl -q --output log/24/curl40.out --include --trace-ascii log/24/trace40 --trace-time http://127.0.0.1:39649/we/are/all/twits/40 -L > log/24/stdout40 2> log/24/stderr40 40: 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 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/24/valgrind40 ../src/curl -q --output log/24/curl40.out --include --trace-ascii log/24/trace40 --trace-time http://127.0.0.1:39649/we/are/all/twits/40 -L > log/24/stdout40 2> log/24/stderr40 === End of file commands.log === Start of file http_server.log 17:49:09.452431 ====> Client connect 17:49:09.452456 accept_connection 3 returned 4 17:49:09.452471 accept_connection 3 returned 0 17:49:09.452482 Read 93 bytes 17:49:09.452490 Process 93 bytes request 17:49:09.452500 Got request: GET /verifiedserver HTTP/1.1 17:49:09.452507 Are-we-friendly question received 17:49:09.452530 Wrote request (93 bytes) input to log/24/server.input 17:49:09.452544 Identifying ourselves as friends 17:49:09.452610 Response sent (56 bytes) and written to log/24/server.response 17:49:09.452619 special request received, no persistency 17:49:09.452649 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 34824 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind40 ==77109== ==77109== Process terminating with default action of signal 4 (SIGILL) ==77109== Illegal opcode at address 0x4014520 ==77109== at 0x4014520: getparameter (tool_getparam.c:2862) ==77109== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77109== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77109== by 0x4003728: main (tool_main.c:186) === End of file valgrind40 test 0041...[HTTP formpost with missing CMD (33792): ../libtool --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/valgrind43 ../src/curl -q --output log/18/curl43.out --include --trace-ascii log/18/trace43 --trace-time http://127.0.0.1:34067/want/43 -L -x 127.0.0.1:34067 > log/18/stdout43 2> log/18/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/23/valgrind42 ../src/curl -q --output log/23/curl42.out --include --trace-ascii log/23/trace42 --trace-time http://127.0.0.1:39173/we/are/all/twits/42 -L > log/23/stdout42 2> log/23/stderr42 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/valgrind41 ../src/curl -q --output log/17/curl41.out --include --trace-ascii log/17/trace41 --trace-time http://127.0.0.1:44593/want/41 -F moo=@boo > log/17/stdout41 2> log/17/stderr41 curl returned 132, when expecting 26 41: exit FAILED == Contents of files in the log/17/ 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/17/valgrind41 ../src/curl -q --output log/17/curl41.out --include --trace-ascii log/17/trace41 --trace-time http://127.0.0.1:44593/want/41 -F moo=@boo > log/17/stdout41 2> log/17/stderr41 === End of file commands.log === Start of file http_server.log 17:49:09.453980 ====> Client connect 17:49:09.454002 accept_connection 3 returned 4 17:49:09.454022 accept_connection 3 returned 0 17:49:09.454038 Read 93 bytes 17:49:09.454045 Process 93 bytes request 17:49:09.454053 Got request: GET /verifiedserver HTTP/1.1 17:49:09.454059 Are-we-friendly question received 17:49:09.454082 Wrote request (93 bytes) input to log/17/server.input 17:49:09.454095 Identifying ourselves as friends 17:49:09.454140 Response sent (56 bytes) and written to log/17/server.response 17:49:09.454147 special request received, no persistency 17:49:09.454153 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 58044 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind41 ==77101== ==77101== Process terminating with default action of signal 4 (SIGILL) ==77101== Illegal opcode at address 0x4014520 ==77101== at 0x4014520: getparameter (tool_getparam.c:2862) ==77101== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77101== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77101== by 0x4003728: main (tool_main.c:186) === End of file valgrind41 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/18/valgrind43 ../src/curl -q --output log/18/curl43.out --include --trace-ascii log/18/trace43 --trace-time http://127.0.0.1:34067/want/43 -L -x 127.0.0.1:34067 > log/18/stdout43 2> log/18/stderr43 43: 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 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/18/valgrind43 ../src/curl -q --output log/18/curl43.out --include --trace-ascii log/18/trace43 --trace-time http://127.0.0.1:34067/want/43 -L -x 127.0.0.1:34067 > log/18/stdout43 2> log/18/stderr43 === End of file commands.log === Start of file http_server.log 17:49:09.467222 ====> Client connect 17:49:09.467245 accept_connection 3 returned 4 17:49:09.467255 accept_connection 3 returned 0 17:49:09.467264 Read 93 bytes 17:49:09.467275 Process 93 bytes request 17:49:09.467291 Got request: GET /verifiedserver HTTP/1.1 17:49:09.467297 Are-we-friendly question received 17:49:09.467313 Wrote request (93 bytes) input to log/18/server.input 17:49:09.467329 Identifying ourselves as friends 17:49:09.467372 Response sent (56 bytes) and written to log/18/server.response 17:49:09.467380 special request received, no persistency 17:49:09.467386 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind43 ==77183== ==77183== Process terminating with default action of signal 4 (SIGILL) ==77183== Illegal opcode at address 0x4014520 ==77183== at 0x4014520: getparameter (tool_getparam.c:2862) ==77183== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77183== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77183== by 0x4003728: main (tool_main.c:186) === End of file valgrind43 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/23/valgrind42 ../src/curl -q --output log/23/curl42.out --include --trace-ascii log/23/trace42 --trace-time http://127.0.0.1:39173/we/are/all/twits/42 -L > log/23/stdout42 2> log/23/stderr42 42: 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 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/23/valgrind42 ../src/curl -q --output log/23/curl42.out --include --trace-ascii log/23/trace42 --trace-time http://127.0.0.1:39173/we/are/all/twits/42 -L > log/23/stdout42 2> log/23/stderr42 === End of file commands.log === Start of file http_server.log 17:49:10.454241 ====> Client connect 17:49:10.454263 accept_connection 3 returned 4 17:49:10.454275 accept_connection 3 returned 0 17:49:10.454285 Read 93 bytes 17:49:10.454293 Process 93 bytes request 17:49:10.454301 Got request: GET /verifiedserver HTTP/1.1 17:49:10.454308 Are-we-friendly question received 17:49:10.454327 Wrote request (93 bytes) input to log/23/server.input 17:49:10.454338 Identifying ourselves as friends 17:49:10.454375 Response sent (56 bytes) and written to log/23/server.response 17:49:10.454381 special request received, no persistency 17:49:10.454387 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 36862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind42 ==77113== ==77113== Process terminating 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/2/valgrind33 ../src/curl -q --output log/2/curl33.out --include --trace-ascii log/2/trace33 --trace-time http://127.0.0.1:38779/33 -Tlog/2/test33.txt -C 50 > log/2/stdout33 2> log/2/stderr33 CMD (33792): ../libtool --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/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:46725/we/want/that/page/5#5 -x 127.0.0.1:46725 > log/20/stdout5 2> log/20/stderr5 CMD (33792): ../libtool --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/valgrind45 ../src/curl -q --output log/1/curl45.out --include --trace-ascii log/1/trace45 --trace-time 127.0.0.1:39589/want/45 -L > log/1/stdout45 2> log/1/stderr45 h default action of signal 4 (SIGILL) ==77113== Illegal opcode at address 0x4014520 ==77113== at 0x4014520: getparameter (tool_getparam.c:2862) ==77113== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77113== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77113== by 0x4003728: main (tool_main.c:186) === End of file valgrind42 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 76626 port 38779 * pid http => 76626 76626 test 0033...[HTTP PUT 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/2/valgrind33 ../src/curl -q --output log/2/curl33.out --include --trace-ascii log/2/trace33 --trace-time http://127.0.0.1:38779/33 -Tlog/2/test33.txt -C 50 > log/2/stdout33 2> log/2/stderr33 33: 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 33 === Start of file commands.log ../libtool --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/valgrind33 ../src/curl -q --output log/2/curl33.out --include --trace-ascii log/2/trace33 --trace-time http://127.0.0.1:38779/33 -Tlog/2/test33.txt -C 50 > log/2/stdout33 2> log/2/stderr33 === End of file commands.log === Start of file http_server.log 17:49:08.667335 Running HTTP IPv4 version on port 38779 17:49:08.667392 Wrote pid 76626 to log/2/server/http_server.pid 17:49:08.667415 Wrote port 38779 to log/2/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 33 === End of file server.cmd === Start of file test33.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test33.txt === Start of file valgrind33 ==77309== ==77309== Process terminating with default action of signal 4 (SIGILL) ==77309== Illegal opcode at address 0x4014520 ==77309== at 0x4014520: getparameter (tool_getparam.c:2862) ==77309== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77309== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77309== by 0x4003728: main (tool_main.c:186) === End of file valgrind33 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 ==75154== ==75154== Process terminating with default action of signal 4 (SIGILL) ==75154== Illegal opcode at address 0x4014520 ==75154== at 0x4014520: getparameter (tool_getparam.c:2862) ==75154== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75154== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75154== by 0x4003728: main (tool_main.c:186) === End of file valgrind20 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 74815 port 46725 * pid http => 74815 74815 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:46725/we/want/that/page/5#5 -x 127.0.0.1:46725 > 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:46725/we/want/that/page/5#5 -x 127.0.0.1:46725 > log/20/stdout5 2> log/20/stderr5 === End of file commands.log === Start of file http_server.log 17:48:52.248979 Running HTTP IPv4 version on port 46725 17:48:52.249041 Wrote pid 74815 to log/20/server/http_server.pid 17:48:52.249085 Wrote port 46725 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 ==75034== ==75034== Process terminating with default action of signal 4 (SIGILL) ==75034== Illegal opcode at address 0x4014520 ==75034== at 0x4014520: getparameter (tool_getparam.c:2862) ==75034== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75034== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75034== by 0x4003728: main (tool_main.c:186) === End of file valgrind5 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/1/valgrind45 ../src/curl -q --output log/1/curl45.out --include --trace-ascii log/1/trace45 --trace-time 127.0.0.1:39589/want/45 -L > log/1/stdout45 2> log/1/stderr45 45: 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 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/1/valgrind45 ../src/curl -q --output log/1/curl45.out --include --trace-ascii log/1/trace45 --trace-time 127.0.0.1:39589/want/45 -L > log/1/stdout45 2> log/1/stderr45 === End of file commands.log === Start of file http_server.log 17:49:09.930272 ====> Client connect 17:49:09.930295 accept_connection 3 returned 4 17:49:09.930307 accept_connection 3 returned 0 17:49:09.930316 Read 93 bytes 17:49:09.930323 Process 93 bytes request 17:49:09.930336 Got request: GET /verifiedserver HTTP/1.1 17:49:09.930342 Are-we-friendly question received 17:49:09.930359 Wrote request (93 bytes) input to log/1/server.input 17:49:09.930376 Identifying ourselves as friends 17:49:09.930421 Response sent (56 bytes) and written to log/1/server.response 17:49:09.930430 special request received, no persistency 17:49:09.930436 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 45458 * using HTTP/1.x > GET /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/10/valgrind44 ../src/curl -q --output log/10/curl44.out --include --trace-ascii log/10/trace44 --trace-time http://127.0.0.1:32889/we/want/44 -F name=daniel -F tool=curl -F file=@log/10/test44.txt -H "Expect:" > log/10/stdout44 2> log/10/stderr44 CMD (33792): ../libtool --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:42933/want/46 --resolve domain..tld:42933:127.0.0.1 -c log/22/jar46 -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/6/valgrind47 ../src/curl -q --output log/6/curl47.out --include --trace-ascii log/6/trace47 --trace-time http://127.0.0.1:42747/47 -0 > log/6/stdout47 2> log/6/stderr47 edserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind45 ==77433== ==77433== Process terminating with default action of signal 4 (SIGILL) ==77433== Illegal opcode at address 0x4014520 ==77433== at 0x4014520: getparameter (tool_getparam.c:2862) ==77433== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77433== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77433== by 0x4003728: main (tool_main.c:186) === End of file valgrind45 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/10/valgrind44 ../src/curl -q --output log/10/curl44.out --include --trace-ascii log/10/trace44 --trace-time http://127.0.0.1:32889/we/want/44 -F name=daniel -F tool=curl -F file=@log/10/test44.txt -H "Expect:" > log/10/stdout44 2> log/10/stderr44 44: 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 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/10/valgrind44 ../src/curl -q --output log/10/curl44.out --include --trace-ascii log/10/trace44 --trace-time http://127.0.0.1:32889/we/want/44 -F name=daniel -F tool=curl -F file=@log/10/test44.txt -H "Expect:" > log/10/stdout44 2> log/10/stderr44 === End of file commands.log === Start of file http_server.log 17:49:09.921778 ====> Client connect 17:49:09.921814 accept_connection 3 returned 4 17:49:09.921826 accept_connection 3 returned 0 17:49:09.921836 Read 93 bytes 17:49:09.921843 Process 93 bytes request 17:49:09.921852 Got request: GET /verifiedserver HTTP/1.1 17:49:09.921859 Are-we-friendly question received 17:49:09.921878 Wrote request (93 bytes) input to log/10/server.input 17:49:09.921890 Identifying ourselves as friends 17:49:09.921930 Response sent (56 bytes) and written to log/10/server.response 17:49:09.921936 special request received, no persistency 17:49:09.921943 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 40074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === 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 ==77420== ==77420== Process terminating with default action of signal 4 (SIGILL) ==77420== Illegal opcode at address 0x4014520 ==77420== at 0x4014520: getparameter (tool_getparam.c:2862) ==77420== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77420== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77420== by 0x4003728: main (tool_main.c:186) === End of file valgrind44 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:42933/want/46 --resolve domain..tld:42933:127.0.0.1 -c log/22/jar46 -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:42933/want/46 --resolve domain..tld:42933:127.0.0.1 -c log/22/jar46 -b log/22/injar46 > log/22/stdout46 2> log/22/stderr46 === End of file commands.log === Start of file http_server.log 17:49:09.932154 ====> Client connect 17:49:09.932177 accept_connection 3 returned 4 17:49:09.932188 accept_connection 3 returned 0 17:49:09.932198 Read 93 bytes 17:49:09.932205 Process 93 bytes request 17:49:09.932213 Got request: GET /verifiedserver HTTP/1.1 17:49:09.932219 Are-we-friendly question received 17:49:09.932240 Wrote request (93 bytes) input to log/22/server.input 17:49:09.932251 Identifying ourselves as friends 17:49:09.932288 Response sent (56 bytes) and written to log/22/server.response 17:49:09.932294 special request received, no persistency 17:49:09.932300 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 44136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind46 ==77450== ==77450== Process terminating with default action of signal 4 (SIGILL) ==77450== Illegal opcode at address 0x4014520 ==77450== at 0x4014520: getparameter (tool_getparam.c:2862) ==77450== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77450== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77450== by 0x4003728: main (tool_main.c:186) === End of file valgrind46 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/6/valgrind47 ../src/curl -q --output log/6/curl47.out --include --trace-ascii log/6/trace47 --trace-time http://127.0.0.1:42747/47 -0 > log/6/stdout47 2> log/6/stderr47 47: 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 47 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcCMD (33792): ../libtool --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/valgrind50 ../src/curl -q --output log/18/curl50.out --include --trace-ascii log/18/trace50 --trace-time http://127.0.0.1:34067/we/are/all/twits/50 -L > log/18/stdout50 2> log/18/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/23/valgrind51 ../src/curl -q --output log/23/curl51.out --include --trace-ascii log/23/trace51 --trace-time http://127.0.0.1:39173/we/are/all/twits/51 -L > log/23/stdout51 2> log/23/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/24/valgrind48 ../src/curl -q --output log/24/curl48.out --include --trace-ascii log/24/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:39649/48 -G -I http://127.0.0.1:39649/48 > log/24/stdout48 2> log/24/stderr48 CMD (33792): ../libtool --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/valgrind49 ../src/curl -q --output log/17/curl49.out --include --trace-ascii log/17/trace49 --trace-time http://127.0.0.1:44593/we/are/all/twits/49 -L > log/17/stdout49 2> log/17/stderr49 CMD (33792): ../libtool --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:35671/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 heck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind47 ../src/curl -q --output log/6/curl47.out --include --trace-ascii log/6/trace47 --trace-time http://127.0.0.1:42747/47 -0 > log/6/stdout47 2> log/6/stderr47 === End of file commands.log === Start of file http_server.log 17:49:09.973573 ====> Client connect 17:49:09.973598 accept_connection 3 returned 4 17:49:09.973610 accept_connection 3 returned 0 17:49:09.973620 Read 93 bytes 17:49:09.973627 Process 93 bytes request 17:49:09.973636 Got request: GET /verifiedserver HTTP/1.1 17:49:09.973642 Are-we-friendly question received 17:49:09.973660 Wrote request (93 bytes) input to log/6/server.input 17:49:09.973671 Identifying ourselves as friends 17:49:09.973711 Response sent (56 bytes) and written to log/6/server.response 17:49:09.973718 special request received, no persistency 17:49:09.973724 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 52022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind47 ==77586== ==77586== Process terminating with default action of signal 4 (SIGILL) ==77586== Illegal opcode at address 0x4014520 ==77586== at 0x4014520: getparameter (tool_getparam.c:2862) ==77586== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77586== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77586== by 0x4003728: main (tool_main.c:186) === 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/18/valgrind50 ../src/curl -q --output log/18/curl50.out --include --trace-ascii log/18/trace50 --trace-time http://127.0.0.1:34067/we/are/all/twits/50 -L > log/18/stdout50 2> log/18/stderr50 50: 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 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/18/valgrind50 ../src/curl -q --output log/18/curl50.out --include --trace-ascii log/18/trace50 --trace-time http://127.0.0.1:34067/we/are/all/twits/50 -L > log/18/stdout50 2> log/18/stderr50 === End of file commands.log === Start of file http_server.log 17:49:10.206417 ====> Client connect 17:49:10.206439 accept_connection 3 returned 4 17:49:10.206451 accept_connection 3 returned 0 17:49:10.206460 Read 93 bytes 17:49:10.206467 Process 93 bytes request 17:49:10.206475 Got request: GET /verifiedserver HTTP/1.1 17:49:10.206482 Are-we-friendly question received 17:49:10.206499 Wrote request (93 bytes) input to log/18/server.input 17:49:10.206510 Identifying ourselves as friends 17:49:10.206553 Response sent (56 bytes) and written to log/18/server.response 17:49:10.206560 special request received, no persistency 17:49:10.206566 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36742 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind50 ==77713== ==77713== Process terminating with default action of signal 4 (SIGILL) ==77713== Illegal opcode at address 0x4014520 ==77713== at 0x4014520: getparameter (tool_getparam.c:2862) ==77713== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77713== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77713== by 0x4003728: main (tool_main.c:186) === 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/17/valgrind49 ../src/curl -q --output log/17/curl49.out --include --trace-ascii log/17/trace49 --trace-time http://127.0.0.1:44593/we/are/all/twits/49 -L > log/17/stdout49 2> log/17/stderr49 49: 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 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/17/valgrind49 ../src/curl -q --output log/17/curl49.out --include --trace-ascii log/17/trace49 --trace-time http://127.0.0.1:44593/we/are/all/twits/49 -L > log/17/stdout49 2> log/17/stderr49 === End of file commands.log === Start of file http_server.log 17:49:10.206266 ====> Client connect 17:49:10.206303 accept_connection 3 returned 4 17:49:10.206324 accept_connection 3 returned 0 17:49:10.206342 Read 93 bytes 17:49:10.206355 Process 93 bytes request 17:49:10.206368 Got request: GET /verifiedserver HTTP/1.1 17:49:10.206378 Are-we-friendly question received 17:49:10.206406 Wrote request (93 bytes) input to log/17/server.input 17:49:10.206423 Identifying ourselves as friends 17:49:10.206484 Response sent (56 bytes) and written to log/17/server.response 17:49:10.206494 special request received, no persistency 17:49:10.206503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 58048 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind49 ==77714== ==77714== Process terminating with default action of signal 4 (SIGILL) ==77714== Illegal opcode at address 0x4014520 ==77714== at 0x4014520: getparameter (tool_getparam.c:2862) ==77714== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77714== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77714== by 0x4003728: main (tool_main.c:186) === End of file valgrind49 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/23/valgrind51 ../src/curl -q --output log/23/curl51.out --include --trace-ascii log/23/trace51 --trace-time http://127.0.0.1:39173/we/are/all/twits/51 -L > log/23/stdout51 2> log/23/stderr51 51: 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 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/23/valgrind51 ../src/curl -q --output log/23/curl51.out --include --trace-ascii log/23/trace51 --trace-time http://127.0.0.1:39173/we/are/all/twits/51 -L > log/23/stdout51 2> log/23/stderr51 === End of file commands.log === Start of file http_server.log 17:49:11.207275 ====> Client connect 17:49:11.207297 accept_connection 3 returned 4 17:49:11.207309 accept_connection 3 returned 0 17:49:11.207318 Read 93 bytes 17:49:11.207325 Process 93 bytes request 17:49:11.207334 Got request: GET /verifiedserver HTTP/1.1 17:49:11.207340 Are-we-friendly question received 17:49:11.207357 Wrote request (93 bytes) input to log/23/server.input 17:49:11.207368 Identifying ourselves as friends 17:49:11.207409 Response sent (56 bytes) and written to log/23/server.response 17:49:11.207416 special request received, no persistency 17:49:11.207422 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 36872 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === End of file http_verify.out === Start of file server.cmd Testnum 51 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74812 === End of file server.response === Start of file valgrind51 ==77717== ==77717== Process terminating with default action of signal 4 (SIGILL) ==77717== Illegal opcode at address 0x4014520 ==77717== at 0x4014520: getparameter (tool_getparam.c:2862) ==77717== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77717== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77717== by 0x4003728: main (tool_main.c:186) === End of file valgrind51 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/24/valgrind48 ../src/curl -q --output log/24/curl48.out --include --trace-ascii log/24/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:39649/48 -G -I http://127.0.0.1:39649/48 > log/24/stdout48 2> log/24/stderr48 48: 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 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/24/valgrind48 ../src/curl -q --output log/24/curl48.out --include --trace-ascii log/24/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:39649/48 -G -I http://127.0.0.1:39649/48 > log/24/stdout48 2> log/24/stderr48 === End of file commands.log === Start of file http_server.log 17:49:10.206304 ====> Client connect 17:49:10.206327 accept_connection 3 returned 4 17:49:10.206338 accept_connection 3 returned 0 17:49:10.206348 Read 93 bytes 17:49:10.206354 Process 93 bytes request 17:49:10.206364 Got request: GET /verifiedserver HTTP/1.1 17:49:10.206370 Are-we-friendly question received 17:49:10.206388 Wrote request (93 bytes) input to log/24/server.input 17:49:10.206399 Identifying ourselves as friends 17:49:10.206438 Response sent (56 bytes) and written to log/24/server.response 17:49:10.206445 special request received, no persistency 17:49:10.206451 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 34828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind48 ==77711== ==77711== Process terminating with default action of signal 4 (SIGILL) ==77711== Illegal opcode at address 0x4014520 ==77711== at 0x4014520: getparameter (tool_getparam.c:2862) ==77711== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77711== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77711== by 0x4003728: main (tool_main.c:186) === End of file valgrind48 CMD (33792): ../libtool --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/valgrind52 ../src/curl -q --output log/2/curl52.out --include --trace-ascii log/2/trace52 --trace-time http://127.0.0.1:38779/we/are/all/twits/52 -L > log/2/stdout52 2> log/2/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/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/20/valgrind54 ../src/curl -q --output log/20/curl54.out --include --trace-ascii log/20/trace54 --trace-time http://127.0.0.1:46725/want/54 -L > log/20/stdout54 2> log/20/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/10/valgrind56 ../src/curl -q --output log/10/curl56.out --include --trace-ascii log/10/trace56 --trace-time -K - 127.0.0.1:32889/that.site.com/56 log/10/stdout56 2> log/10/stderr56 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 75084 port 35671 * pid http => 75084 75084 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:35671/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 18: stdout FAILED: --- log/7/check-expected 2026-01-28 17:49:11.139888779 +0000 +++ log/7/check-generated 2026-01-28 17:49:11.139888779 +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:35671/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 === End of file commands.log === Start of file http_server.log 17:48:53.355406 Running HTTP IPv4 version on port 35671 17:48:53.355465 Wrote pid 75084 to log/7/server/http_server.pid 17:48:53.355486 Wrote port 35671 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 ==75803== ==75803== Process terminating with default action of signal 4 (SIGILL) ==75803== Illegal opcode at address 0x4014520 ==75803== at 0x4014520: getparameter (tool_getparam.c:2862) ==75803== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75803== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75803== by 0x4003728: main (tool_main.c:186) === End of file valgrind18 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/2/valgrind52 ../src/curl -q --output log/2/curl52.out --include --trace-ascii log/2/trace52 --trace-time http://127.0.0.1:38779/we/are/all/twits/52 -L > log/2/stdout52 2> log/2/stderr52 52: 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 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/2/valgrind52 ../src/curl -q --output log/2/curl52.out --include --trace-ascii log/2/trace52 --trace-time http://127.0.0.1:38779/we/are/all/twits/52 -L > log/2/stdout52 2> log/2/stderr52 === End of file commands.log === Start of file http_server.log 17:49:10.424449 ====> Client connect 17:49:10.424473 accept_connection 3 returned 4 17:49:10.424484 accept_connection 3 returned 0 17:49:10.424495 Read 93 bytes 17:49:10.424505 Process 93 bytes request 17:49:10.424520 Got request: GET /verifiedserver HTTP/1.1 17:49:10.424527 Are-we-friendly question received 17:49:10.424546 Wrote request (93 bytes) input to log/2/server.input 17:49:10.424561 Identifying ourselves as friends 17:49:10.424605 Response sent (56 bytes) and written to log/2/server.response 17:49:10.424614 special request received, no persistency 17:49:10.424620 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 46250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind52 ==77935== ==77935== Process terminating with default action of signal 4 (SIGILL) ==77935== Illegal opcode at address 0x4014520 ==77935== at 0x4014520: getparameter (tool_getparam.c:2862) ==77935== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==77935== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==77935== by 0x4003728: main (tool_main.c:186) === End of file valgrind52 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 75148 port 34411 * pid http => 75148 75148 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 17:48:53.462321 Running HTTP IPv4 version on port 34411 17:48:53.462377 Wrote pid 75148 to log/4/server/http_server.pid 17:48:53.462398 Wrote port 34411 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 ==75853== ==75853== Process terminating with default action of signal 4 (SIGILL) ==75853== Illegal opcode at address 0x4014520 ==75853== at 0x4014520: getparameter (tool_getparam.c:2862) ==75853== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75853== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75853== by 0x4003728: main (tool_main.c:186) === End of file valgrind21 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/10/valgrind56 ../src/curl -q --output log/10/curl56.out --include --trace-ascii log/10/trace56 --trace-time -K - 127.0.0.1:32889/that.site.com/56 log/10/stdout56 2> log/10/stderr56 56: 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 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/10/valgrind56 ../src/curl -q --output log/10/curl56.out --include --trace-ascii log/10/trace56 --trace-time -K - 127.0.0.1:32889/that.site.com/56 log/10/stdout56 2> log/10/stderr56 === End of file commands.log === Start of file http_server.log 17:49:10.654833 ====> Client connect 17:49:10.654860 accept_connection 3 returned 4 17:49:10.654871 accept_connection 3 returned 0 17:49:10.654881 Read 93 bytes 17:49:10.654888 Process 93 bytes request 17:49:10.654897 Got request: GET /verifiedserver HTTP/1.1 17:49:10.654903 Are-we-friendly question received 17:49:10.654954 Wrote request (93 bytes) input to log/10/server.input 17:49:10.654972 Identifying ourselves as friends 17:49:10.655087 Response sent (56 bytes) and written to log/10/server.response 17:49:10.655099 special request received, no persistency 17:49:10.655106 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 40076 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.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:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === End of file http_verify.out === Start of file server.cmd Testnum 56 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74973 === End of file server.response === 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 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind55 ../src/curl -q --output log/1/curl55.out --include --trace-ascii log/1/trace55 --trace-time http://127.0.0.1:39589/55 -L > log/1/stdout55 2> log/1/stderr55 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" === End of file stdin-for-56 === Start of file valgrind56 ==78122== ==78122== Process terminating with default action of signal 4 (SIGILL) ==78122== Illegal opcode at address 0x4014520 ==78122== at 0x4014520: getparameter (tool_getparam.c:2862) ==78122== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78122== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78122== by 0x4003728: main (tool_main.c:186) === End of file valgrind56 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/20/valgrind54 ../src/curl -q --output log/20/curl54.out --include --trace-ascii log/20/trace54 --trace-time http://127.0.0.1:46725/want/54 -L > log/20/stdout54 2> log/20/stderr54 54: 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 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/20/valgrind54 ../src/curl -q --output log/20/curl54.out --include --trace-ascii log/20/trace54 --trace-time http://127.0.0.1:46725/want/54 -L > log/20/stdout54 2> log/20/stderr54 === End of file commands.log === Start of file http_server.log 17:49:10.616593 ====> Client connect 17:49:10.616621 accept_connection 3 returned 4 17:49:10.616634 accept_connection 3 returned 0 17:49:10.616645 Read 93 bytes 17:49:10.616652 Process 93 bytes request 17:49:10.616669 Got request: GET /verifiedserver HTTP/1.1 17:49:10.616676 Are-we-friendly question received 17:49:10.616694 Wrote request (93 bytes) input to log/20/server.input 17:49:10.616708 Identifying ourselves as friends 17:49:10.616753 Response sent (56 bytes) and written to log/20/server.response 17:49:10.616763 special request received, no persistency 17:49:10.616769 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 59222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind54 ==78012== ==78012== Process terminating with default action of signal 4 (SIGILL) ==78012== Illegal opcode at address 0x4014520 ==78012== at 0x4014520: getparameter (tool_getparam.c:2862) ==78012== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78012== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78012== by 0x4003728: main (tool_main.c:186) === End of file valgrind54 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/1/valgrind55 ../src/curl -q --output log/1/curl55.out --include --trace-ascii log/1/trace55 --trace-time http://127.0.0.1:39589/55 -L > log/1/stdout55 2> log/1/stderr55 55: 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 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/1/valgrind55 ../src/curl -q --output log/1/curl55.out --include --trace-ascii log/1/trace55 --trace-time http://127.0.0.1:39589/55 -L > log/1/stdout55 2> log/1/stderr55 === End of file commands.CMD (33792): ../libtool --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/valgrind57 ../src/curl -q --include --trace-ascii log/22/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:42933/57 -o log/22/out57 > log/22/stdout57 2> log/22/stderr57 log === Start of file http_server.log 17:49:10.646685 ====> Client connect 17:49:10.646709 accept_connection 3 returned 4 17:49:10.646720 accept_connection 3 returned 0 17:49:10.646730 Read 93 bytes 17:49:10.646737 Process 93 bytes request 17:49:10.646746 Got request: GET /verifiedserver HTTP/1.1 17:49:10.646752 Are-we-friendly question received 17:49:10.646770 Wrote request (93 bytes) input to log/1/server.input 17:49:10.646782 Identifying ourselves as friends 17:49:10.646821 Response sent (56 bytes) and written to log/1/server.response 17:49:10.646828 special request received, no persistency 17:49:10.646834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 45462 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind55 ==78090== ==78090== Process terminating with default action of signal 4 (SIGILL) ==78090== Illegal opcode at address 0x4014520 ==78090== at 0x4014520: getparameter (tool_getparam.c:2862) ==78090== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78090== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78090== by 0x4003728: main (tool_main.c:186) === End of file valgrind55 CMD (33792): ../libtool --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/valgrind58 ../src/curl -q --output log/6/curl58.out --include --trace-ascii log/6/trace58 --trace-time http://127.0.0.1:42747/we/want/ -T log/6/58te[]st.txt -g > log/6/stdout58 2> log/6/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/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:41057/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 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/22/valgrind57 ../src/curl -q --include --trace-ascii log/22/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:42933/57 -o log/22/out57 > log/22/stdout57 2> log/22/stderr57 57: stdout FAILED: --- log/22/check-expected 2026-01-28 17:49:11.569888779 +0000 +++ log/22/check-generated 2026-01-28 17:49:11.569888779 +0000 @@ -1 +0,0 @@ -text/html; charset=ISO-8859-4[CR][LF] == Contents of files in the log/22/ 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/22/valgrind57 ../src/curl -q --include --trace-ascii log/22/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:42933/57 -o log/22/out57 > log/22/stdout57 2> log/22/stderr57 === End of file commands.log === Start of file http_server.log 17:49:10.667961 ====> Client connect 17:49:10.667984 accept_connection 3 returned 4 17:49:10.667995 accept_connection 3 returned 0 17:49:10.668005 Read 93 bytes 17:49:10.668012 Process 93 bytes request 17:49:10.668021 Got request: GET /verifiedserver HTTP/1.1 17:49:10.668027 Are-we-friendly question received 17:49:10.668048 Wrote request (93 bytes) input to log/22/server.input 17:49:10.668060 Identifying ourselves as friends 17:49:10.668099 Response sent (56 bytes) and written to log/22/server.response 17:49:10.668105 special request received, no persistency 17:49:10.668111 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 44138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind57 ==78161== ==78161== Process terminating with default action of signal 4 (SIGILL) ==78161== Illegal opcode at address 0x4014520 ==78161== at 0x4014520: getparameter (tool_getparam.c:2862) ==78161== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78161== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78161== by 0x4003728: main (tool_main.c:186) === End of file valgrind57 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/6/valgrind58 ../src/curl -q --output log/6/curl58.out --include --trace-ascii log/6/trace58 --trace-time http://127.0.0.1:42747/we/want/ -T log/6/58te[]st.txt -g > log/6/stdout58 2> log/6/stderr58 58: 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 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/6/valgrind58 ../src/curl -q --output log/6/curl58.out --include --trace-ascii log/6/trace58 --trace-time http://127.0.0.1:42747/we/want/ -T log/6/58te[]st.txt -g > log/6/stdout58 2> log/6/stderr58 === End of file commands.log === Start of file http_server.log 17:49:10.691235 ====> Client connect 17:49:10.691258 accept_connection 3 returned 4 17:49:10.691270 accept_connection 3 returned 0 17:49:10.691279 Read 93 bytes 17:49:10.691287 Process 93 bytes request 17:49:10.691295 Got request: GET /verifiedserver HTTP/1.1 17:49:10.691302 Are-we-friendly question received 17:49:10.691320 Wrote request (93 bytes) input to log/6/server.input 17:49:10.691332 Identifying ourselves as friends 17:49:10.691374 Response sent (56 bytes) and written to log/6/server.response 17:49:10.691381 special request received, no persistency 17:49:10.691388 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 52036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind58 ==78255== ==78255== Process terminating with default action of signal 4 (SIGILL) ==78255== Illegal opcode at address 0x4014520 ==78255== at 0x4014520: getparameter (tool_getparam.c:2862) ==78255== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78255== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78255== by 0x4003728: main (tool_main.c:186) === 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/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 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74820 port 41057 * pid http => 74820 74820 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:41057/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:41057/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 17:48:52.754110 Running HTTP IPv4 version on port 41057 17:48:52.754171 Wrote pid 74820 to log/15/server/http_server.pid 17:48:52.754192 Wrote port 41057 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 ==75404== ==75404== Process terminating with default action of signal 4 (SIGILL) ==75404== Illegal opcode at address 0x4014520 ==75404== at 0x4014520: getparameter (tool_getparam.c:2862) ==75404== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045)CMD (33792): ../libtool --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/valgrind60 ../src/curl -q --output log/24/curl60.out --include --trace-ascii log/24/trace60 --trace-time http://127.0.0.1:39649/bzz/60 -T - -H "Content-Length: 1" log/24/stdout60 2> log/24/stderr60 CMD (33792): ../libtool --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/valgrind63 ../src/curl -q --output log/17/curl63.out --include --trace-ascii log/17/trace63 --trace-time http://we.want.that.site.com/63 > log/17/stdout63 2> log/17/stderr63 CMD (33792): ../libtool --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/valgrind59 ../src/curl -q --output log/18/curl59.out --include --trace-ascii log/18/trace59 --trace-time "http://127.0.0.1:34067?mooo/59" > log/18/stdout59 2> log/18/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/23/valgrind62 ../src/curl -q --output log/23/curl62.out --include --trace-ascii log/23/trace62 --trace-time http://127.0.0.1:39173/we/want/62 http://127.0.0.1:39173/we/want/62?hoge=fuga -b log/23/jar62.txt -H "Host: www.host.foo.com" > log/23/stdout62 2> log/23/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/7/valgrind61 ../src/curl -q --output log/7/curl61.out --include --trace-ascii log/7/trace61 --trace-time http://127.0.0.1:35671/we/want/61 -c log/7/jar61.txt -H "Host: www.host.foo.com" > log/7/stdout61 2> log/7/stderr61 ==75404== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75404== by 0x4003728: main (tool_main.c:186) === End of file valgrind10 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/24/valgrind60 ../src/curl -q --output log/24/curl60.out --include --trace-ascii log/24/trace60 --trace-time http://127.0.0.1:39649/bzz/60 -T - -H "Content-Length: 1" log/24/stdout60 2> log/24/stderr60 60: 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 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/24/valgrind60 ../src/curl -q --output log/24/curl60.out --include --trace-ascii log/24/trace60 --trace-time http://127.0.0.1:39649/bzz/60 -T - -H "Content-Length: 1" log/24/stdout60 2> log/24/stderr60 === End of file commands.log === Start of file http_server.log 17:49:10.998371 ====> Client connect 17:49:10.998392 accept_connection 3 returned 4 17:49:10.998403 accept_connection 3 returned 0 17:49:10.998412 Read 93 bytes 17:49:10.998419 Process 93 bytes request 17:49:10.998426 Got request: GET /verifiedserver HTTP/1.1 17:49:10.998433 Are-we-friendly question received 17:49:10.998449 Wrote request (93 bytes) input to log/24/server.input 17:49:10.998460 Identifying ourselves as friends 17:49:10.998507 Response sent (56 bytes) and written to log/24/server.response 17:49:10.998514 special request received, no persistency 17:49:10.998520 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 34838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === 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 ==78392== ==78392== Process terminating with default action of signal 4 (SIGILL) ==78392== Illegal opcode at address 0x4014520 ==78392== at 0x4014520: getparameter (tool_getparam.c:2862) ==78392== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78392== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78392== by 0x4003728: main (tool_main.c:186) === End of file valgrind60 setenv http_proxy = http://fake:user@127.0.0.1:44593/ 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/17/valgrind63 ../src/curl -q --output log/17/curl63.out --include --trace-ascii log/17/trace63 --trace-time http://we.want.that.site.com/63 > log/17/stdout63 2> log/17/stderr63 63: 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 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/17/valgrind63 ../src/curl -q --output log/17/curl63.out --include --trace-ascii log/17/trace63 --trace-time http://we.want.that.site.com/63 > log/17/stdout63 2> log/17/stderr63 === End of file commands.log === Start of file http_server.log 17:49:11.014989 ====> Client connect 17:49:11.015012 accept_connection 3 returned 4 17:49:11.015024 accept_connection 3 returned 0 17:49:11.015034 Read 93 bytes 17:49:11.015042 Process 93 bytes request 17:49:11.015051 Got request: GET /verifiedserver HTTP/1.1 17:49:11.015058 Are-we-friendly question received 17:49:11.015078 Wrote request (93 bytes) input to log/17/server.input 17:49:11.015090 Identifying ourselves as friends 17:49:11.015133 Response sent (56 bytes) and written to log/17/server.response 17:49:11.015140 special request received, no persistency 17:49:11.015146 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 58064 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind63 ==78494== ==78494== Process terminating with default action of signal 4 (SIGILL) ==78494== Illegal opcode at address 0x4014520 ==78494== at 0x4014520: getparameter (tool_getparam.c:2862) ==78494== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78494== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78494== by 0x4003728: main (tool_main.c:186) === End of file valgrind63 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/18/valgrind59 ../src/curl -q --output log/18/curl59.out --include --trace-ascii log/18/trace59 --trace-time "http://127.0.0.1:34067?mooo/59" > log/18/stdout59 2> log/18/stderr59 59: 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 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/18/valgrind59 ../src/curl -q --output log/18/curl59.out --include --trace-ascii log/18/trace59 --trace-time "http://127.0.0.1:34067?mooo/59" > log/18/stdout59 2> log/18/stderr59 === End of file commands.log === Start of file http_server.log 17:49:10.997594 ====> Client connect 17:49:10.997616 accept_connection 3 returned 4 17:49:10.997627 accept_connection 3 returned 0 17:49:10.997637 Read 93 bytes 17:49:10.997644 Process 93 bytes request 17:49:10.997653 Got request: GET /verifiedserver HTTP/1.1 17:49:10.997660 Are-we-friendly question received 17:49:10.997677 Wrote request (93 bytes) input to log/18/server.input 17:49:10.997689 Identifying ourselves as friends 17:49:10.997727 Response sent (56 bytes) and written to log/18/server.response 17:49:10.997734 special request received, no persistency 17:49:10.997740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36752 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 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/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:43845/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 o host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind59 ==78389== ==78389== Process terminating with default action of signal 4 (SIGILL) ==78389== Illegal opcode at address 0x4014520 ==78389== at 0x4014520: getparameter (tool_getparam.c:2862) ==78389== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78389== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78389== by 0x4003728: main (tool_main.c:186) === End of file valgrind59 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/7/valgrind61 ../src/curl -q --output log/7/curl61.out --include --trace-ascii log/7/trace61 --trace-time http://127.0.0.1:35671/we/want/61 -c log/7/jar61.txt -H "Host: www.host.foo.com" > log/7/stdout61 2> log/7/stderr61 61: 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 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/7/valgrind61 ../src/curl -q --output log/7/curl61.out --include --trace-ascii log/7/trace61 --trace-time http://127.0.0.1:35671/we/want/61 -c log/7/jar61.txt -H "Host: www.host.foo.com" > log/7/stdout61 2> log/7/stderr61 === End of file commands.log === Start of file http_server.log 17:49:11.002942 ====> Client connect 17:49:11.002964 accept_connection 3 returned 4 17:49:11.002975 accept_connection 3 returned 0 17:49:11.002984 Read 93 bytes 17:49:11.002991 Process 93 bytes request 17:49:11.003008 Got request: GET /verifiedserver HTTP/1.1 17:49:11.003014 Are-we-friendly question received 17:49:11.003032 Wrote request (93 bytes) input to log/7/server.input 17:49:11.003047 Identifying ourselves as friends 17:49:11.003094 Response sent (56 bytes) and written to log/7/server.response 17:49:11.003103 special request received, no persistency 17:49:11.003109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 44418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === End of file http_verify.out === Start of file server.cmd Testnum 61 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75084 === End of file server.response === Start of file valgrind61 ==78445== ==78445== Process terminating with default action of signal 4 (SIGILL) ==78445== Illegal opcode at address 0x4014520 ==78445== at 0x4014520: getparameter (tool_getparam.c:2862) ==78445== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78445== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78445== by 0x4003728: main (tool_main.c:186) === End of file valgrind61 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/23/valgrind62 ../src/curl -q --output log/23/curl62.out --include --trace-ascii log/23/trace62 --trace-time http://127.0.0.1:39173/we/want/62 http://127.0.0.1:39173/we/want/62?hoge=fuga -b log/23/jar62.txt -H "Host: www.host.foo.com" > log/23/stdout62 2> log/23/stderr62 62: 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 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/23/valgrind62 ../src/curl -q --output log/23/curl62.out --include --trace-ascii log/23/trace62 --trace-time http://127.0.0.1:39173/we/want/62 http://127.0.0.1:39173/we/want/62?hoge=fuga -b log/23/jar62.txt -H "Host: www.host.foo.com" > log/23/stdout62 2> log/23/stderr62 === End of file commands.log === Start of file http_server.log 17:49:12.015556 ====> Client connect 17:49:12.015578 accept_connection 3 returned 4 17:49:12.015590 accept_connection 3 returned 0 17:49:12.015600 Read 93 bytes 17:49:12.015607 Process 93 bytes request 17:49:12.015615 Got request: GET /verifiedserver HTTP/1.1 17:49:12.015622 Are-we-friendly question received 17:49:12.015640 Wrote request (93 bytes) input to log/23/server.input 17:49:12.015651 Identifying ourselves as friends 17:49:12.015690 Response sent (56 bytes) and written to log/23/server.response 17:49:12.015697 special request received, no persistency 17:49:12.015703 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 36880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind62 ==78507== ==78507== Process terminating with default action of signal 4 (SIGILL) ==78507== Illegal opcode at address 0x4014520 ==78507== at 0x4014520: getparameter (tool_getparam.c:2862) ==78507== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78507== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78507== by 0x4003728: main (tool_main.c:186) === End of file valgrind62 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 74871 port 43845 * pid http => 74871 74871 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:43845/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 CMD (33792): ../libtool --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:37413 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/4/valgrind65 ../src/curl -q --output log/4/curl65.out --include --trace-ascii log/4/trace65 --trace-time http://127.0.0.1:34411/65 -u testuser:test2pass --digest > log/4/stdout65 2> log/4/stderr65 CMD (33792): ../libtool --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/valgrind64 ../src/curl -q --output log/2/curl64.out --include --trace-ascii log/2/trace64 --trace-time http://127.0.0.1:38779/64 -u testuser:testpass --digest > log/2/stdout64 2> log/2/stderr64 of file commands.log ../libtool --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:43845/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 === End of file commands.log === Start of file http_server.log 17:48:53.953341 Running HTTP IPv4 version on port 43845 17:48:53.953420 Wrote pid 74871 to log/13/server/http_server.pid 17:48:53.953452 Wrote port 43845 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 ==75506== ==75506== Process terminating with default action of signal 4 (SIGILL) ==75506== Illegal opcode at address 0x4014520 ==75506== at 0x4014520: getparameter (tool_getparam.c:2862) ==75506== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75506== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75506== by 0x4003728: main (tool_main.c:186) === 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/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 74974 port 37413 * pid http => 74974 74974 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:37413 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:37413 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 17:48:53.155756 Running HTTP IPv4 version on port 37413 17:48:53.155833 Wrote pid 74974 to log/9/server/http_server.pid 17:48:53.155860 Wrote port 37413 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 ==75654== ==75654== Process terminating with default action of signal 4 (SIGILL) ==75654== Illegal opcode at address 0x4014520 ==75654== at 0x4014520: getparameter (tool_getparam.c:2862) ==75654== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75654== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75654== by 0x4003728: main (tool_main.c:186) === End of file valgrind16 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/4/valgrind65 ../src/curl -q --output log/4/curl65.out --include --trace-ascii log/4/trace65 --trace-time http://127.0.0.1:34411/65 -u testuser:test2pass --digest > log/4/stdout65 2> log/4/stderr65 65: 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 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/4/valgrind65 ../src/curl -q --output log/4/curl65.out --include --trace-ascii log/4/trace65 --trace-time http://127.0.0.1:34411/65 -u testuser:test2pass --digest > log/4/stdout65 2> log/4/stderr65 === End of file commands.log === Start of file http_server.log 17:49:11.187337 ====> Client connect 17:49:11.187371 accept_connection 3 returned 4 17:49:11.187387 accept_connection 3 returned 0 17:49:11.187399 Read 93 bytes 17:49:11.187407 Process 93 bytes request 17:49:11.187423 Got request: GET /verifiedserver HTTP/1.1 17:49:11.187432 Are-we-friendly question received 17:49:11.187457 Wrote request (93 bytes) input to log/4/server.input 17:49:11.187475 Identifying ourselves as friends 17:49:11.187537 Response sent (56 bytes) and written to log/4/server.response 17:49:11.187550 special request received, no persistency 17:49:11.187558 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 50778 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind65 ==78718== ==78718== Process terminating with default action of signal 4 (SIGILL) ==78718== Illegal opcode at address 0x4014520 ==78718== at 0x4014520: getparameter (tool_getparam.c:2862) ==78718== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78718== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78718== by 0x4003728: main (tool_main.c:186) === End of file valgrind65 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/2/valgrind64 ../src/curl -q --output log/2/curl64.out --include --trace-ascii log/2/trace64 --trace-time http://127.0.0.1:38779/64 -u testuser:testpass --digest > log/2/stdout64 2> log/2/stderr64 64: 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 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/2/valgrind64 ../src/curl -q --output log/2/curl64.out --include --trace-ascii log/2/trace64 --trace-time http://127.0.0.1:38779/64 -u testuser:testpass --digest > log/2/stdout64 2> log/2/stderr64 === End of file commands.log === Start of file http_server.log 17:49:11.179728 ====> Client connect 17:49:11.179752 accept_connection 3 returned 4 17:49:11.179764 accept_connection 3 returned 0 17:49:11.179773 Read 93 bytes 17:49:11.179781 Process 93 bytes request 17:49:11.179790 Got request: GET /verifiedserver HTTP/1.1 17:49:11.179796 Are-we-friendly question received 17:49:11.179814 Wrote request (93 bytes) input to log/2/server.input 17:49:11.179826 Identifying ourselves as friends 17:49:11.179866 Response sent (56 bytes) and written 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/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:46439/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 CMD (33792): ../libtool --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:36641/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/20/valgrind66 ../src/curl -q --output log/20/curl66.out --include --trace-ascii log/20/trace66 --trace-time http://127.0.0.1:46725/66 --http0.9 > log/20/stdout66 2> log/20/stderr66 log/2/server.response 17:49:11.179873 special request received, no persistency 17:49:11.179879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 46266 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind64 ==78705== ==78705== Process terminating with default action of signal 4 (SIGILL) ==78705== Illegal opcode at address 0x4014520 ==78705== at 0x4014520: getparameter (tool_getparam.c:2862) ==78705== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78705== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78705== by 0x4003728: main (tool_main.c:186) === End of file valgrind64 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 74921 port 46439 * pid http => 74921 74921 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:46439/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:46439/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 === End of file commands.log === Start of file http_server.log 17:48:53.054194 Running HTTP IPv4 version on port 46439 17:48:53.054252 Wrote pid 74921 to log/11/server/http_server.pid 17:48:53.054276 Wrote port 46439 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 ==75559== ==75559== Process terminating with default action of signal 4 (SIGILL) ==75559== Illegal opcode at address 0x4014520 ==75559== at 0x4014520: getparameter (tool_getparam.c:2862) ==75559== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75559== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75559== by 0x4003728: main (tool_main.c:186) === End of file valgrind14 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 74920 port 36641 * pid http => 74920 74920 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:36641/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:36641/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 === End of file commands.log === Start of file http_server.log 17:48:53.052640 Running HTTP IPv4 version on port 36641 17:48:53.052706 Wrote pid 74920 to log/12/server/http_server.pid 17:48:53.052731 Wrote port 36641 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 ==75555== ==75555== Process terminating with default action of signal 4 (SIGILL) ==75555== Illegal opcode at address 0x4014520 ==75555== at 0x4014520: getparameter (tool_getparam.c:2862) ==75555== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75555== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75555== by 0x4003728: main (tool_main.c:186) === End of file valgrind13 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/20/valgrind66 ../src/curl -q --output log/20/curl66.out --include --trace-ascii log/20/trace66 --trace-time http://127.0.0.1:46725/66 --http0.9 > log/20/stdout66 2> log/20/stderr66 66: 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 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/20/valgrind66 ../src/curl -q --output log/20/curl66.out --include --trace-ascii log/20/trace66 --trace-time http://127.0.0.1:46725/66 --http0.9 > log/20/stdout66 2> log/20/stderr66 === End of file commands.log === Start of file http_server.log 17:49:11.401761 ====> Client connect 17:49:11.401785 accept_connection 3 returned 4 17:49:11.401797 accept_connection 3 returned 0 17:49:11.401807 Read 93 bytes 17:49:11.401814 Process 93 bytes request 17:49:11.401823 Got request: GET /verifiedserver HTTP/1.1 17:49:11.401829 Are-we-friendly question received 17:49:11.401850 Wrote request (93 bytes) input to log/20/server.input 17:49:11.401862 Identifying ourselves as friends 17:49:11.401902 Response sent (56 bytes) and written to log/20/server.response 17:49:11.401909 special request received, no persistency 17:49:11.401916 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 59230 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind66 ==78848== ==78848== Process terminating with default acCMD (33792): ../libtool --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/valgrind67 ../src/curl -q --output log/1/curl67.out --include --trace-ascii log/1/trace67 --trace-time http://127.0.0.1:39589/67 -u testuser:testpass --ntlm > log/1/stdout67 2> log/1/stderr67 CMD (33792): ../libtool --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/valgrind68 ../src/curl -q --output log/10/curl68.out --include --trace-ascii log/10/trace68 --trace-time http://127.0.0.1:32889/68 -u testuser:testpass --ntlm > log/10/stdout68 2> log/10/stderr68 CMD (33792): ../libtool --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/valgrind53 ../src/curl -q --output log/5/curl53.out --include --trace-ascii log/5/trace53 --trace-time 127.0.0.1:46875/want/53 -b log/5/injar53 -j > log/5/stdout53 2> log/5/stderr53 tion of signal 4 (SIGILL) ==78848== Illegal opcode at address 0x4014520 ==78848== at 0x4014520: getparameter (tool_getparam.c:2862) ==78848== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78848== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78848== by 0x4003728: main (tool_main.c:186) === End of file valgrind66 test 0067...[HTTP with NTLM 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/1/valgrind67 ../src/curl -q --output log/1/curl67.out --include --trace-ascii log/1/trace67 --trace-time http://127.0.0.1:39589/67 -u testuser:testpass --ntlm > log/1/stdout67 2> log/1/stderr67 67: 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 67 === Start of file commands.log ../libtool --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/valgrind67 ../src/curl -q --output log/1/curl67.out --include --trace-ascii log/1/trace67 --trace-time http://127.0.0.1:39589/67 -u testuser:testpass --ntlm > log/1/stdout67 2> log/1/stderr67 === End of file commands.log === Start of file http_server.log 17:49:11.402480 ====> Client connect 17:49:11.402508 accept_connection 3 returned 4 17:49:11.402522 accept_connection 3 returned 0 17:49:11.402533 Read 93 bytes 17:49:11.402542 Process 93 bytes request 17:49:11.402551 Got request: GET /verifiedserver HTTP/1.1 17:49:11.402559 Are-we-friendly question received 17:49:11.402581 Wrote request (93 bytes) input to log/1/server.input 17:49:11.402594 Identifying ourselves as friends 17:49:11.402640 Response sent (56 bytes) and written to log/1/server.response 17:49:11.402648 special request received, no persistency 17:49:11.402655 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 45474 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === End of file http_verify.out === Start of file server.cmd Testnum 67 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75347 === End of file server.response === Start of file valgrind67 ==78865== ==78865== Process terminating with default action of signal 4 (SIGILL) ==78865== Illegal opcode at address 0x4014520 ==78865== at 0x4014520: getparameter (tool_getparam.c:2862) ==78865== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78865== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78865== by 0x4003728: main (tool_main.c:186) === End of file valgrind67 test 0068...[HTTP with NTLM authorization and wrong 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/valgrind68 ../src/curl -q --output log/10/curl68.out --include --trace-ascii log/10/trace68 --trace-time http://127.0.0.1:32889/68 -u testuser:testpass --ntlm > log/10/stdout68 2> log/10/stderr68 68: 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 68 === Start of file commands.log ../libtool --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/valgrind68 ../src/curl -q --output log/10/curl68.out --include --trace-ascii log/10/trace68 --trace-time http://127.0.0.1:32889/68 -u testuser:testpass --ntlm > log/10/stdout68 2> log/10/stderr68 === End of file commands.log === Start of file http_server.log 17:49:11.428161 ====> Client connect 17:49:11.428190 accept_connection 3 returned 4 17:49:11.428203 accept_connection 3 returned 0 17:49:11.428216 Read 93 bytes 17:49:11.428224 Process 93 bytes request 17:49:11.428234 Got request: GET /verifiedserver HTTP/1.1 17:49:11.428242 Are-we-friendly question received 17:49:11.428265 Wrote request (93 bytes) input to log/10/server.input 17:49:11.428280 Identifying ourselves as friends 17:49:11.428334 Response sent (56 bytes) and written to log/10/server.response 17:49:11.428342 special request received, no persistency 17:49:11.428348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 40082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === End of file http_verify.out === Start of file server.cmd Testnum 68 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74973 === End of file server.response === Start of file valgrind68 ==78982== ==78982== Process terminating with default action of signal 4 (SIGILL) ==78982== Illegal opcode at address 0x4014520 ==78982== at 0x4014520: getparameter (tool_getparam.c:2862) ==78982== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78982== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78982== by 0x4003728: main (tool_main.c:186) === End of file valgrind68 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 77918 port 46875 * pid http => 77918 77918 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/5/valgrind53 ../src/curl -q --output log/5/curl53.out --include --trace-ascii log/5/trace53 --trace-time 127.0.0.1:46875/want/53 -b log/5/injar53 -j > log/5/stdout53 2> log/5/stderr53 53: 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 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/5/valgrind53 ../src/curl -q --output log/5/curl53.out --include --trace-ascii log/5/trace53 --trace-time 127.0.0.1:46875/want/53 -b log/5/injar53 -j > log/5/stdout53 2> log/5/stderr53 === End of file commands.log === Start of file http_server.log 17:49:10.427188 Running HTTP IPv4 version on port 46875 17:49:10.427255 Wrote pid 77918 to log/5/server/http_server.pid 17:49:10.427285 Wrote port 46875 to log/5/server/http_server.port === End of file http_server.log === 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 valgrind53 ==78904== ==78904== Process terminating with default action of signal 4 (SIGILL) ==78904== Illegal opcode at addressCMD (33792): ../libtool --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/valgrind70 ../src/curl -q --output log/6/curl70.out --include --trace-ascii log/6/trace70 --trace-time http://127.0.0.1:42747/70 -u testuser:testpass --anyauth > log/6/stdout70 2> log/6/stderr70 CMD (33792): ../libtool --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/valgrind69 ../src/curl -q --output log/22/curl69.out --include --trace-ascii log/22/trace69 --trace-time http://127.0.0.1:42933/69 -u testuser:testpass --anyauth > log/22/stdout69 2> log/22/stderr69 CMD (33792): ../libtool --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:41669/4 http://127.0.0.1:41669/4 > log/21/stdout4 2> log/21/stderr4 0x4014520 ==78904== at 0x4014520: getparameter (tool_getparam.c:2862) ==78904== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==78904== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==78904== by 0x4003728: main (tool_main.c:186) === End of file valgrind53 test 0070...[HTTP with Digest *OR* NTLM 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/valgrind70 ../src/curl -q --output log/6/curl70.out --include --trace-ascii log/6/trace70 --trace-time http://127.0.0.1:42747/70 -u testuser:testpass --anyauth > log/6/stdout70 2> log/6/stderr70 70: 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 70 === Start of file commands.log ../libtool --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/valgrind70 ../src/curl -q --output log/6/curl70.out --include --trace-ascii log/6/trace70 --trace-time http://127.0.0.1:42747/70 -u testuser:testpass --anyauth > log/6/stdout70 2> log/6/stderr70 === End of file commands.log === Start of file http_server.log 17:49:11.444182 ====> Client connect 17:49:11.444224 accept_connection 3 returned 4 17:49:11.444241 accept_connection 3 returned 0 17:49:11.444254 Read 93 bytes 17:49:11.444263 Process 93 bytes request 17:49:11.444275 Got request: GET /verifiedserver HTTP/1.1 17:49:11.444284 Are-we-friendly question received 17:49:11.444307 Wrote request (93 bytes) input to log/6/server.input 17:49:11.444323 Identifying ourselves as friends 17:49:11.444380 Response sent (56 bytes) and written to log/6/server.response 17:49:11.444389 special request received, no persistency 17:49:11.444397 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 52044 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === End of file http_verify.out === Start of file server.cmd Testnum 70 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76292 === End of file server.response === Start of file valgrind70 ==79042== ==79042== Process terminating with default action of signal 4 (SIGILL) ==79042== Illegal opcode at address 0x4014520 ==79042== at 0x4014520: getparameter (tool_getparam.c:2862) ==79042== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79042== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79042== by 0x4003728: main (tool_main.c:186) === End of file valgrind70 test 0069...[HTTP with NTLM, Basic or Wild-and-crazy 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/22/valgrind69 ../src/curl -q --output log/22/curl69.out --include --trace-ascii log/22/trace69 --trace-time http://127.0.0.1:42933/69 -u testuser:testpass --anyauth > log/22/stdout69 2> log/22/stderr69 69: 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 69 === Start of file commands.log ../libtool --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/valgrind69 ../src/curl -q --output log/22/curl69.out --include --trace-ascii log/22/trace69 --trace-time http://127.0.0.1:42933/69 -u testuser:testpass --anyauth > log/22/stdout69 2> log/22/stderr69 === End of file commands.log === Start of file http_server.log 17:49:11.444187 ====> Client connect 17:49:11.444228 accept_connection 3 returned 4 17:49:11.444245 accept_connection 3 returned 0 17:49:11.444258 Read 93 bytes 17:49:11.444267 Process 93 bytes request 17:49:11.444278 Got request: GET /verifiedserver HTTP/1.1 17:49:11.444287 Are-we-friendly question received 17:49:11.444315 Wrote request (93 bytes) input to log/22/server.input 17:49:11.444331 Identifying ourselves as friends 17:49:11.444477 Response sent (56 bytes) and written to log/22/server.response 17:49:11.444490 special request received, no persistency 17:49:11.444499 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 44140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === End of file http_verify.out === Start of file server.cmd Testnum 69 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74813 === End of file server.response === Start of file valgrind69 ==79058== ==79058== Process terminating with default action of signal 4 (SIGILL) ==79058== Illegal opcode at address 0x4014520 ==79058== at 0x4014520: getparameter (tool_getparam.c:2862) ==79058== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79058== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79058== by 0x4003728: main (tool_main.c:186) === End of file valgrind69 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 74814 port 41669 * pid http => 74814 74814 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:41669/4 http://127.0.0.1:41669/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:41669/4 http://127.0.0.1:41669/4 > log/21/stdout4 2> log/21/stderr4 === End of file commands.log === Start of file http_server.log 17:48:52.148644 Running HTTP IPv4 version on port 41669 17:48:52.148715 Wrote pid 74814 to log/21/server/http_server.pid 17:48:52.148744 Wrote port 41669 to log/21/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 4 === EnCMD (33792): ../libtool --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:45927/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 CMD (33792): ../libtool --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:40899/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 d of file server.cmd === Start of file valgrind4 ==74975== ==74975== Process terminating with default action of signal 4 (SIGILL) ==74975== Illegal opcode at address 0x4014520 ==74975== at 0x4014520: getparameter (tool_getparam.c:2862) ==74975== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==74975== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==74975== by 0x4003728: main (tool_main.c:186) === End of file valgrind4 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 75287 port 45927 * pid http => 75287 75287 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:45927/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:45927/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 === End of file commands.log === Start of file http_server.log 17:48:53.563129 Running HTTP IPv4 version on port 45927 17:48:53.563192 Wrote pid 75287 to log/3/server/http_server.pid 17:48:53.563213 Wrote port 45927 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 ==75902== ==75902== Process terminating with default action of signal 4 (SIGILL) ==75902== Illegal opcode at address 0x4014520 ==75902== at 0x4014520: getparameter (tool_getparam.c:2862) ==75902== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75902== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75902== by 0x4003728: main (tool_main.c:186) === End of file valgrind22CMD (33792): ../libtool --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:37569/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/15/valgrind71 ../src/curl -q --output log/15/curl71.out --include --trace-ascii log/15/trace71 --trace-time http://127.0.0.1:41057/we/want/71 -K - log/15/stdout71 2> log/15/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/23/valgrind75 ../src/curl -q --include --trace-ascii log/23/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/23/weee#1.dump" --stderr - > log/23/stdout75 2> log/23/stderr75 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 74819 port 40899 * pid http => 74819 74819 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:40899/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:40899/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 17:48:52.654591 Running HTTP IPv4 version on port 40899 17:48:52.654647 Wrote pid 74819 to log/16/server/http_server.pid 17:48:52.654668 Wrote port 40899 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 ==75349== ==75349== Process terminating with default action of signal 4 (SIGILL) ==75349== Illegal opcode at address 0x4014520 ==75349== at 0x4014520: getparameter (tool_getparam.c:2862) ==75349== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75349== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75349== by 0x4003728: main (tool_main.c:186) === 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/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 74822 port 37569 * pid http => 74822 74822 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:37569/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:37569/want/11 -L > log/14/stdout11 2> log/14/stderr11 === End of file commands.log === Start of file http_server.log 17:48:53.852074 Running HTTP IPv4 version on port 37569 17:48:53.852149 Wrote pid 74822 to log/14/server/http_server.pid 17:48:53.852173 Wrote port 37569 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 ==75457== ==75457== Process terminating with default action of signal 4 (SIGILL) ==75457== Illegal opcode at address 0x4014520 ==75457== at 0x4014520: getparameter (tool_getparam.c:2862) ==75457== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75457== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75457== by 0x4003728: main (tool_main.c:186) === End of file valgrind11 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/15/valgrind71 ../src/curl -q --output log/15/curl71.out --include --trace-ascii log/15/trace71 --trace-time http://127.0.0.1:41057/we/want/71 -K - log/15/stdout71 2> log/15/stderr71 71: 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 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/15/valgrind71 ../src/curl -q --output log/15/curl71.out --include --trace-ascii log/15/trace71 --trace-time http://127.0.0.1:41057/we/want/71 -K - log/15/stdout71 2> log/15/stderr71 === End of file commands.log === Start of file http_server.log 17:49:11.683744 ====> Client connect 17:49:11.683786 accept_connection 3 returned 4 17:49:11.683804 accept_connection 3 returned 0 17:49:11.683819 Read 93 bytes 17:49:11.683829 Process 93 bytes request 17:49:11.683856 Got request: GET /verifiedserver HTTP/1.1 17:49:11.683865 Are-we-friendly question received 17:49:11.683892 Wrote request (93 bytes) input to log/15/server.input 17:49:11.683913 Identifying ourselves as friends 17:49:11.683975 Response sent (56 bytes) and written to log/15/server.response 17:49:11.683989 special request received, no persistency 17:49:11.683998 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 37462 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file stdin-for-71 -F name=daniel -F tool=curl -F file=@log/15/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 ==79229== ==79229== Process terminating with default action of signal 4 (SIGILL) ==79229== Illegal opcode at address 0x4014520 ==79229== at 0x4014520: getparameter (tool_getparam.c:2862) ==79229== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79229== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79229== by 0x4003728: main (tool_main.c:186) === End of file valgrind71 CMD (33792): ../libtool --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/valgrind74 ../src/curl -q --include --trace-ascii log/18/trace74 --trace-time "http://127.0.0.1:34067/{74,740001}" -o "log/18/dumpit#1.dump" > log/18/stdout74 2> log/18/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/24/valgrind72 ../src/curl -q --output log/24/curl72.out --include --trace-ascii log/24/trace72 --trace-time http://127.0.0.1:39649/72 -u testuser:testpass --anyauth > log/24/stdout72 2> log/24/stderr72 CMD (33792): ../libtool --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:42045/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/7/valgrind76 ../src/curl -q --output log/7/curl76.out --include --trace-ascii log/7/trace76 --trace-time http://127.0.0.1:35671/76 -u testuser:testpass --anyauth > log/7/stdout76 2> log/7/stderr76 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/23/valgrind75 ../src/curl -q --include --trace-ascii log/23/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/23/weee#1.dump" --stderr - > log/23/stdout75 2> log/23/stderr75 75: stdout FAILED: --- log/23/check-expected 2026-01-28 17:49:13.183222111 +0000 +++ log/23/check-generated 2026-01-28 17:49:13.183222111 +0000 @@ -1,3 +0,0 @@ -curl: (3) bad range in URL position 47:[CR][LF] -http://a-site-never-accessed.example.org/[2-1][CR][LF] - ^[CR][LF] == Contents of files in the log/23/ directory after test 75 === Start of file check-expected curl: (3) bad range in URL 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/23/valgrind75 ../src/curl -q --include --trace-ascii log/23/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/23/weee#1.dump" --stderr - > log/23/stdout75 2> log/23/stderr75 === End of file commands.log === Start of file server.cmd Testnum 75 === End of file server.cmd === Start of file valgrind75 ==79336== ==79336== Process terminating with default action of signal 4 (SIGILL) ==79336== Illegal opcode at address 0x4014520 ==79336== at 0x4014520: getparameter (tool_getparam.c:2862) ==79336== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79336== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79336== by 0x4003728: main (tool_main.c:186) === 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/18/valgrind74 ../src/curl -q --include --trace-ascii log/18/trace74 --trace-time "http://127.0.0.1:34067/{74,740001}" -o "log/18/dumpit#1.dump" > log/18/stdout74 2> log/18/stderr74 74: 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 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/18/valgrind74 ../src/curl -q --include --trace-ascii log/18/trace74 --trace-time "http://127.0.0.1:34067/{74,740001}" -o "log/18/dumpit#1.dump" > log/18/stdout74 2> log/18/stderr74 === End of file commands.log === Start of file http_server.log 17:49:11.910061 ====> Client connect 17:49:11.910093 accept_connection 3 returned 4 17:49:11.910110 accept_connection 3 returned 0 17:49:11.910124 Read 93 bytes 17:49:11.910134 Process 93 bytes request 17:49:11.910145 Got request: GET /verifiedserver HTTP/1.1 17:49:11.910154 Are-we-friendly question received 17:49:11.910180 Wrote request (93 bytes) input to log/18/server.input 17:49:11.910198 Identifying ourselves as friends 17:49:11.910278 Response sent (56 bytes) and written to log/18/server.response 17:49:11.910290 special request received, no persistency 17:49:11.910299 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36758 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind74 ==79406== ==79406== Process terminating with default action of signal 4 (SIGILL) ==79406== Illegal opcode at address 0x4014520 ==79406== at 0x4014520: getparameter (tool_getparam.c:2862) ==79406== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79406== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79406== by 0x4003728: main (tool_main.c:186) === End of file valgrind74 test 0072...[HTTP with Digest *OR* Basic 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/valgrind72 ../src/curl -q --output log/24/curl72.out --include --trace-ascii log/24/trace72 --trace-time http://127.0.0.1:39649/72 -u testuser:testpass --anyauth > log/24/stdout72 2> log/24/stderr72 72: 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 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/24/valgrind72 ../src/curl -q --output log/24/curl72.out --include --trace-ascii log/24/trace72 --trace-time http://127.0.0.1:39649/72 -u testuser:testpass --anyauth > log/24/stdout72 2> log/24/stderr72 === End of file commands.log === Start of file http_server.log 17:49:11.900884 ====> Client connect 17:49:11.900917 accept_connection 3 returned 4 17:49:11.900933 accept_connection 3 returned 0 17:49:11.900946 Read 93 bytes 17:49:11.900956 Process 93 bytes request 17:49:11.900968 Got request: GET /verifiedserver HTTP/1.1 17:49:11.900977 Are-we-friendly question received 17:49:11.901004 Wrote request (93 bytes) input to log/24/server.input 17:49:11.901021 Identifying ourselves as friends 17:49:11.901079 Response sent (56 bytes) and written to log/24/server.response 17:49:11.901089 special request received, no persistency 17:49:11.901098 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 34854 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.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:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind72 ==79376== ==79376== Process terminating with default action of signal 4 (SIGILL) ==79376== Illegal opcode at address 0x4014520 ==79376== at 0x4014520: getparameter (tool_getparam.c:2862) ==79376== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79376== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79376== by 0x4003728: main (tool_main.c:186) === 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/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 75033 port 42045 * pid http => 75033 75033 test 0017...[HTTP with config file 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/17/valgrind73 ../src/curl -q --output log/17/curl73.out --include --trace-ascii log/17/trace73 --trace-time http://127.0.0.1:44593/we/want/73 -c log/17/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/17/stdout73 2> log/17/stderr73 CMD (33792): ../libtool --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/valgrind77 ../src/curl -q --output log/13/curl77.out --include --trace-ascii log/13/trace77 --trace-time http://127.0.0.1:43845/77 -z "dec 12 12:00:00 1999 GMT" > log/13/stdout77 2> log/13/stderr77 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/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:42045/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:42045/that.site.com/17 log/8/stdout17 2> log/8/stderr17 === End of file commands.log === Start of file http_server.log 17:48:53.255953 Running HTTP IPv4 version on port 42045 17:48:53.256009 Wrote pid 75033 to log/8/server/http_server.pid 17:48:53.256030 Wrote port 42045 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 ==75753== ==75753== Process terminating with default action of signal 4 (SIGILL) ==75753== Illegal opcode at address 0x4014520 ==75753== at 0x4014520: getparameter (tool_getparam.c:2862) ==75753== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75753== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75753== by 0x4003728: main (tool_main.c:186) === End of file valgrind17 test 0076...[HTTP with comma-separated WWW-Authenticate 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/7/valgrind76 ../src/curl -q --output log/7/curl76.out --include --trace-ascii log/7/trace76 --trace-time http://127.0.0.1:35671/76 -u testuser:testpass --anyauth > log/7/stdout76 2> log/7/stderr76 76: 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 76 === Start of file commands.log ../libtool --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/valgrind76 ../src/curl -q --output log/7/curl76.out --include --trace-ascii log/7/trace76 --trace-time http://127.0.0.1:35671/76 -u testuser:testpass --anyauth > log/7/stdout76 2> log/7/stderr76 === End of file commands.log === Start of file http_server.log 17:49:11.918264 ====> Client connect 17:49:11.918295 accept_connection 3 returned 4 17:49:11.918310 accept_connection 3 returned 0 17:49:11.918322 Read 93 bytes 17:49:11.918331 Process 93 bytes request 17:49:11.918341 Got request: GET /verifiedserver HTTP/1.1 17:49:11.918349 Are-we-friendly question received 17:49:11.918373 Wrote request (93 bytes) input to log/7/server.input 17:49:11.918388 Identifying ourselves as friends 17:49:11.918448 Response sent (56 bytes) and written to log/7/server.response 17:49:11.918457 special request received, no persistency 17:49:11.918465 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 44432 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === End of file http_verify.out === Start of file server.cmd Testnum 76 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75084 === End of file server.response === Start of file valgrind76 ==79464== ==79464== Process terminating with default action of signal 4 (SIGILL) ==79464== Illegal opcode at address 0x4014520 ==79464== at 0x4014520: getparameter (tool_getparam.c:2862) ==79464== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79464== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79464== by 0x4003728: main (tool_main.c:186) === End of file valgrind76 test 0073...[HTTP, receive 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/17/valgrind73 ../src/curl -q --output log/17/curl73.out --include --trace-ascii log/17/trace73 --trace-time http://127.0.0.1:44593/we/want/73 -c log/17/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/17/stdout73 2> log/17/stderr73 73: 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 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/17/valgrind73 ../src/curl -q --output log/17/curl73.out --include --trace-ascii log/17/trace73 --trace-time http://127.0.0.1:44593/we/want/73 -c log/17/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/17/stdout73 2> log/17/stderr73 === End of file commands.log === Start of file http_server.log 17:49:11.903117 ====> Client connect 17:49:11.903149 accept_connection 3 returned 4 17:49:11.903166 accept_connection 3 returned 0 17:49:11.903181 Read 93 bytes 17:49:11.903191 Process 93 bytes request 17:49:11.903202 Got request: GET /verifiedserver HTTP/1.1 17:49:11.903211 Are-we-friendly question received 17:49:11.903239 Wrote request (93 bytes) input to log/17/server.input 17:49:11.903257 Identifying ourselves as friends 17:49:11.903320 Response sent (56 bytes) and written to log/17/server.response 17:49:11.903330 special request received, no persistency 17:49:11.903339 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 58080 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind73 ==79374== ==79374== Process terminating with default action of signal 4 (SIGILL) ==79374== Illegal opcode at address 0x4014520 ==79374== at 0x4014520: getparameter (tool_getparam.c:2862) ==79374== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79374== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79374== by 0x4003728: main (tool_main.c:186) === End of file valgrind73 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/13/valgrind77 ../src/curl -q --output log/13/curl77.out --include --trace-asciCMD (33792): ../libtool --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/valgrind78 ../src/curl -q --output log/9/curl78.out --include --trace-ascii log/9/trace78 --trace-time http://127.0.0.1:37413/78 -z "dec 12 11:00:00 1999 GMT" > log/9/stdout78 2> log/9/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/11/valgrind81 ../src/curl -q --output log/11/curl81.out --include --trace-ascii log/11/trace81 --trace-time http://127.0.0.1:46439/81 --proxy-user testuser:testpass -x http://127.0.0.1:46439 --proxy-ntlm > log/11/stdout81 2> log/11/stderr81 i log/13/trace77 --trace-time http://127.0.0.1:43845/77 -z "dec 12 12:00:00 1999 GMT" > log/13/stdout77 2> log/13/stderr77 77: 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 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/13/valgrind77 ../src/curl -q --output log/13/curl77.out --include --trace-ascii log/13/trace77 --trace-time http://127.0.0.1:43845/77 -z "dec 12 12:00:00 1999 GMT" > log/13/stdout77 2> log/13/stderr77 === End of file commands.log === Start of file http_server.log 17:49:13.118650 ====> Client connect 17:49:13.118686 accept_connection 3 returned 4 17:49:13.118701 accept_connection 3 returned 0 17:49:13.118714 Read 93 bytes 17:49:13.118723 Process 93 bytes request 17:49:13.118744 Got request: GET /verifiedserver HTTP/1.1 17:49:13.118753 Are-we-friendly question received 17:49:13.118779 Wrote request (93 bytes) input to log/13/server.input 17:49:13.118799 Identifying ourselves as friends 17:49:13.118860 Response sent (56 bytes) and written to log/13/server.response 17:49:13.118872 special request received, no persistency 17:49:13.118880 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 47362 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind77 ==79644== ==79644== Process terminating with default action of signal 4 (SIGILL) ==79644== Illegal opcode at address 0x4014520 ==79644== at 0x4014520: getparameter (tool_getparam.c:2862) ==79644== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79644== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79644== by 0x4003728: main (tool_main.c:186) === End of file valgrind77 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/9/valgrind78 ../src/curl -q --output log/9/curl78.out --include --trace-ascii log/9/trace78 --trace-time http://127.0.0.1:37413/78 -z "dec 12 11:00:00 1999 GMT" > log/9/stdout78 2> log/9/stderr78 78: 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 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/9/valgrind78 ../src/curl -q --output log/9/curl78.out --include --trace-ascii log/9/trace78 --trace-time http://127.0.0.1:37413/78 -z "dec 12 11:00:00 1999 GMT" > log/9/stdout78 2> log/9/stderr78 === End of file commands.log === Start of file http_server.log 17:49:12.135493 ====> Client connect 17:49:12.135527 accept_connection 3 returned 4 17:49:12.135543 accept_connection 3 returned 0 17:49:12.135557 Read 93 bytes 17:49:12.135567 Process 93 bytes request 17:49:12.135594 Got request: GET /verifiedserver HTTP/1.1 17:49:12.135603 Are-we-friendly question received 17:49:12.135630 Wrote request (93 bytes) input to log/9/server.input 17:49:12.135650 Identifying ourselves as friends 17:49:12.135712 Response sent (56 bytes) and written to log/9/server.response 17:49:12.135725 special request received, no persistency 17:49:12.135734 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 33748 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind78 ==79660== ==79660== Process terminating with default action of signal 4 (SIGILL) ==79660== Illegal opcode at address 0x4014520 ==79660== at 0x4014520: getparameter (tool_getparam.c:2862) ==79660== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79660== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79660== by 0x4003728: main (tool_main.c:186) === End of file valgrind78 test 0081...[HTTP with proxy using NTLM 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/11/valgrind81 ../src/curl -q --output log/11/curl81.out --include --trace-ascii log/11/trace81 --trace-time http://127.0.0.1:46439/81 --proxy-user testuser:testpass -x http://127.0.0.1:46439 --proxy-ntlm > log/11/stdout81 2> log/11/stderr81 81: 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 81 === Start of file commands.log ../libtool --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/valgrind81 ../src/curl -q --output log/11/curl81.out --include --trace-ascii log/11/trace81 --trace-time http://127.0.0.1:46439/81 --proxy-user testuser:testpass -x http://127.0.0.1:46439 --proxy-ntlm > log/11/stdout81 2> log/11/stderr81 === End of file commands.log === Start of file http_server.log 17:49:12.172039 ====> Client connect 17:49:12.172071 accept_connection 3 returned 4 17:49:12.172086 accept_connection 3 returned 0 17:49:12.172100 Read 93 bytes 17:49:12.172109 Process 93 bytes request 17:49:12.172129 Got request: GET /verifiedserver HTTP/1.1 17:49:12.172138 Are-we-friendly question received 17:49:12.172165 Wrote request (93 bytes) input to log/11/server.input 17:49:12.172183 Identifying ourselves as friends 17:49:12.172251 Response sent (56 bytes) and written to log/11/server.response 17:49:12.172264 special request received, no persistency 17:49:12.172272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 54824 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === End of file http_verify.out === Start of file server.cmd Testnum 81 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74921 === End of file server.response === Start of file valgrind81 ==79789== ==79789== Process terminating with default action of signal 4 (SIGILL) ==79789== Illegal opcode at address 0x4014520 CMD (33792): ../libtool --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/valgrind79 ../src/curl -q --output log/4/curl79.out --include --trace-ascii log/4/trace79 --trace-time ftp://127.0.0.1:34411/we/want/that/page/79 -x 127.0.0.1:34411 > log/4/stdout79 2> log/4/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/12/valgrind82 ../src/curl -q --output log/12/curl82.out --include --trace-ascii log/12/trace82 --trace-time http://127.0.0.1:36641/82 --proxy-user testuser:testpass -x http://127.0.0.1:36641 > log/12/stdout82 2> log/12/stderr82 CMD (33792): ../libtool --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:36987/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 ==79789== at 0x4014520: getparameter (tool_getparam.c:2862) ==79789== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79789== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79789== by 0x4003728: main (tool_main.c:186) === End of file valgrind81 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/4/valgrind79 ../src/curl -q --output log/4/curl79.out --include --trace-ascii log/4/trace79 --trace-time ftp://127.0.0.1:34411/we/want/that/page/79 -x 127.0.0.1:34411 > log/4/stdout79 2> log/4/stderr79 79: 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 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/4/valgrind79 ../src/curl -q --output log/4/curl79.out --include --trace-ascii log/4/trace79 --trace-time ftp://127.0.0.1:34411/we/want/that/page/79 -x 127.0.0.1:34411 > log/4/stdout79 2> log/4/stderr79 === End of file commands.log === Start of file http_server.log 17:49:12.168937 ====> Client connect 17:49:12.168971 accept_connection 3 returned 4 17:49:12.168988 accept_connection 3 returned 0 17:49:12.169004 Read 93 bytes 17:49:12.169013 Process 93 bytes request 17:49:12.169027 Got request: GET /verifiedserver HTTP/1.1 17:49:12.169036 Are-we-friendly question received 17:49:12.169062 Wrote request (93 bytes) input to log/4/server.input 17:49:12.169078 Identifying ourselves as friends 17:49:12.169142 Response sent (56 bytes) and written to log/4/server.response 17:49:12.169154 special request received, no persistency 17:49:12.169163 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 50794 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind79 ==79769== ==79769== Process terminating with default action of signal 4 (SIGILL) ==79769== Illegal opcode at address 0x4014520 ==79769== at 0x4014520: getparameter (tool_getparam.c:2862) ==79769== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79769== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79769== by 0x4003728: main (tool_main.c:186) === End of file valgrind79 test 0082...[HTTP with proxy requiring 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/12/valgrind82 ../src/curl -q --output log/12/curl82.out --include --trace-ascii log/12/trace82 --trace-time http://127.0.0.1:36641/82 --proxy-user testuser:testpass -x http://127.0.0.1:36641 > log/12/stdout82 2> log/12/stderr82 82: 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 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/12/valgrind82 ../src/curl -q --output log/12/curl82.out --include --trace-ascii log/12/trace82 --trace-time http://127.0.0.1:36641/82 --proxy-user testuser:testpass -x http://127.0.0.1:36641 > log/12/stdout82 2> log/12/stderr82 === End of file commands.log === Start of file http_server.log 17:49:12.253072 ====> Client connect 17:49:12.253104 accept_connection 3 returned 4 17:49:12.253118 accept_connection 3 returned 0 17:49:12.253129 Read 93 bytes 17:49:12.253140 Process 93 bytes request 17:49:12.253158 Got request: GET /verifiedserver HTTP/1.1 17:49:12.253166 Are-we-friendly question received 17:49:12.253189 Wrote request (93 bytes) input to log/12/server.input 17:49:12.253207 Identifying ourselves as friends 17:49:12.253264 Response sent (56 bytes) and written to log/12/server.response 17:49:12.253276 special request received, no persistency 17:49:12.253284 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 36134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind82 ==79908== ==79908== Process terminating with default action of signal 4 (SIGILL) ==79908== Illegal opcode at address 0x4014520 ==79908== at 0x4014520: getparameter (tool_getparam.c:2862) ==79908== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==79908== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==79908== by 0x4003728: main (tool_main.c:186) === End of file valgrind82 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 74816 port 36987 * pid http => 74816 74816 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:36987/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:36987/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 17:48:52.350222 Running HTTP IPv4 version on port 36987 17:48:52.350292 Wrote pid 74816 to log/19/server/http_server.pid 17:48:52.350319 Wrote port 36987 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 ==75086== ==75086== Process terminating with default action of signal 4 (SIGILL) ==75086== Illegal opcode at address 0x4014520 ==75086== at 0x4014520: getparameter (tool_getparam.c:2862) ==CMD (33792): ../libtool --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/valgrind85 ../src/curl -q --output log/10/curl85.out --include --trace-ascii log/10/trace85 --trace-time http://127.0.0.1:32889/we/want/that/page/85 -x 127.0.0.1:32889 --user iam:myself --proxy-user testing:this > log/10/stdout85 2> log/10/stderr85 CMD (33792): ../libtool --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/valgrind88 ../src/curl -q --output log/22/curl88.out --include --trace-ascii log/22/trace88 --trace-time http://127.0.0.1:42933/88 -T log/22/put88 -u testuser:testpass --digest > log/22/stdout88 2> log/22/stderr88 CMD (33792): ../libtool --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/valgrind87 ../src/curl -q --include --trace-ascii log/6/trace87 --trace-time "http://127.0.0.1:42747/[870001-870002]" -o "log/6/dumpit87-#2.dump" > log/6/stdout87 2> log/6/stderr87 CMD (33792): ../libtool --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/valgrind84 ../src/curl -q --output log/1/curl84.out --include --trace-ascii log/1/trace84 --trace-time http://127.0.0.1:39589/we/want/that/page/84 -x 127.0.0.1:39589 --user iam:myself > log/1/stdout84 2> log/1/stderr84 75086== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==75086== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==75086== by 0x4003728: main (tool_main.c:186) === End of file valgrind6 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/10/valgrind85 ../src/curl -q --output log/10/curl85.out --include --trace-ascii log/10/trace85 --trace-time http://127.0.0.1:32889/we/want/that/page/85 -x 127.0.0.1:32889 --user iam:myself --proxy-user testing:this > log/10/stdout85 2> log/10/stderr85 85: 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 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/10/valgrind85 ../src/curl -q --output log/10/curl85.out --include --trace-ascii log/10/trace85 --trace-time http://127.0.0.1:32889/we/want/that/page/85 -x 127.0.0.1:32889 --user iam:myself --proxy-user testing:this > log/10/stdout85 2> log/10/stderr85 === End of file commands.log === Start of file http_server.log 17:49:12.446220 ====> Client connect 17:49:12.446252 accept_connection 3 returned 4 17:49:12.446268 accept_connection 3 returned 0 17:49:12.446280 Read 93 bytes 17:49:12.446289 Process 93 bytes request 17:49:12.446299 Got request: GET /verifiedserver HTTP/1.1 17:49:12.446308 Are-we-friendly question received 17:49:12.446331 Wrote request (93 bytes) input to log/10/server.input 17:49:12.446346 Identifying ourselves as friends 17:49:12.446402 Response sent (56 bytes) and written to log/10/server.response 17:49:12.446411 special request received, no persistency 17:49:12.446419 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 40096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind85 ==80042== ==80042== Process terminating with default action of signal 4 (SIGILL) ==80042== Illegal opcode at address 0x4014520 ==80042== at 0x4014520: getparameter (tool_getparam.c:2862) ==80042== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80042== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80042== by 0x4003728: main (tool_main.c:186) === End of file valgrind85 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/22/valgrind88 ../src/curl -q --output log/22/curl88.out --include --trace-ascii log/22/trace88 --trace-time http://127.0.0.1:42933/88 -T log/22/put88 -u testuser:testpass --digest > log/22/stdout88 2> log/22/stderr88 88: 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 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/22/valgrind88 ../src/curl -q --output log/22/curl88.out --include --trace-ascii log/22/trace88 --trace-time http://127.0.0.1:42933/88 -T log/22/put88 -u testuser:testpass --digest > log/22/stdout88 2> log/22/stderr88 === End of file commands.log === Start of file http_server.log 17:49:12.506857 ====> Client connect 17:49:12.506886 accept_connection 3 returned 4 17:49:12.506899 accept_connection 3 returned 0 17:49:12.506910 Read 93 bytes 17:49:12.506918 Process 93 bytes request 17:49:12.506928 Got request: GET /verifiedserver HTTP/1.1 17:49:12.506935 Are-we-friendly question received 17:49:12.506963 Wrote request (93 bytes) input to log/22/server.input 17:49:12.506976 Identifying ourselves as friends 17:49:12.507018 Response sent (56 bytes) and written to log/22/server.response 17:49:12.507027 special request received, no persistency 17:49:12.507036 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 44148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind88 ==80257== ==80257== Process terminating with default action of signal 4 (SIGILL) ==80257== Illegal opcode at address 0x4014520 ==80257== at 0x4014520: getparameter (tool_getparam.c:2862) ==80257== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80257== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80257== by 0x4003728: main (tool_main.c:186) === 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/5/valgrind86 ../src/curl -q --include --trace-ascii log/5/trace86 --trace-time "http://127.0.0.1:46875/[860001-860003]" -o "log/5/dumpit#1.dump" > log/5/stdout86 2> log/5/stderr86 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/6/valgrind87 ../src/curl -q --include --trace-ascii log/6/trace87 --trace-time "http://127.0.0.1:42747/[870001-870002]" -o "log/6/dumpit87-#2.dump" > log/6/stdout87 2> log/6/stderr87 87: output (log/6/dumpit87-#2.dump) FAILED: --- log/6/check-expected 2026-01-28 17:49:13.609888778 +0000 +++ log/6/check-generated 2026-01-28 17:49:13.609888778 +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/6/ 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/6/valgrind87 ../src/curl -q --include --trace-ascii log/6/trace87 --trace-time "http://127.0.0.1:42747/[870001-870002]" -o "log/6/dumpit87-#2.dump" > log/6/stdout87 2> log/6/stderr87 === End of file commands.log === Start of file http_server.log 17:49:12.483437 ====> Client connect 17:49:12.483471 accept_connection 3 returned 4 17:49:12.483488 accept_connection 3 returned 0 17:49:12.483502 Read 93 bytes 17:49:12.483512 Process 93 bytes request 17:49:12.483526 Got request: GET /verifiedserver HTTP/1.1 17:49:12.483535 Are-we-friendly question received 17:49:12.483560 Wrote request (93 bytes) input to log/6/server.input 17:49:12.483574 Identifying ourselves as friends 17:49:12.483630 Response sent (56 bytes) and written to log/6/server.response 17:49:12.483639 special request received, no persistency 17:49:12.483649 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 52054 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind87 ==80162== ==80162== Process terminating with default action of signal 4 (SIGILL) ==80162== Illegal opcode at address 0x4014520 ==80162== at 0x4014520: getparameter (tool_getparam.c:2862) ==80162== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80162== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80162== by 0x4003728: main (tool_main.c:186) === End of file valgrind87 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/1/valgrind84 ../src/curl -q --output log/1/curl84.out --include --trace-ascii log/1/trace84 --trace-time http://127.0.0.1:39589/we/want/that/page/84 -x 127.0.0.1:39589 --user iam:myself > log/1/stdout84 2> log/1/stderr84 84: 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 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/1/valgrind84 ../src/curl -q --output log/1/curl84.out --include --trace-ascii log/1/trace84 --trace-time http://127.0.0.1:39589/we/want/that/page/84 -x 127.0.0.1:39589 --user iam:myself > log/1/stdout84 2> log/1/stderr84 === End of file commands.log === Start of file http_server.log 17:49:12.443449 ====> Client connect 17:49:12.443478 accept_connection 3 returned 4 17:49:12.443493 accept_connection 3 returned 0 17:49:12.443504 Read 93 bytes 17:49:12.443513 Process 93 bytes request 17:49:12.443524 Got request: GET /verifiedserver HTTP/1.1 17:49:12.443532 Are-we-friendly question received 17:49:12.443556 Wrote request (93 bytes) input to log/1/server.input 17:49:12.443572 Identifying ourselves as friends 17:49:12.443621 Response sent (56 bytes) and written to log/1/server.response 17:49:12.443628 special request received, no persistency 17:49:12.443635 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 45482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind84 ==80036== ==80036== Process terminating with default action of signal 4 (SIGILL) ==80036== Illegal opcode at address 0x4014520 ==80036== at 0x4014520: getparameter (tool_getparam.c:2862) ==80036== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80036== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80036== by 0x4003728: main (tool_main.c:186) === End of file valgrind84 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/5/valgrind86 ../src/curl -q --include --trace-ascii log/5/trace86 --trace-time "http://127.0.0.1:46875/[860001-860003]" -o "log/5/dumpit#1.dump" > log/5/stdout86 2> log/5/stderr86 86: 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 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/5/valgrind86 ../src/curl -q --include --trace-ascii log/5/trace86 --trace-time "http://127.0.0.1:46875/[860001-860003]" -o "log/5/dumpit#1.dump" > log/5/stdout86 2> log/5/stderr86 === End of file commands.log === Start of file http_server.log 17:49:12.464173 ====> Client connect 17:49:12.464206 accept_connection 3 returned 4 17:49:12.464222 accept_connection 3 returned 0 17:49:12.464234 Read 93 bytes 17:49:12.464243 Process 93 bytes request 17:49:12.464269 Got request: GET /verifiedserver HTTP/1.1 17:49:12.464278 Are-we-friendly question received 17:49:12.464305 Wrote request (93 bytes) input to log/5/server.input 17:49:12.464325 Identifying ourselves as friends 17:49:12.464384 Response sent (56 bytes) and written to log/5/server.response 17:49:12.464395 special request received, no persistency 17:49:12.464402 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 43666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-LengthCMD (33792): ../libtool --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/valgrind89 ../src/curl -q --output log/21/curl89.out --include --trace-ascii log/21/trace89 --trace-time http://127.0.0.1:41669/89 -u testuser:testpass --ntlm -L > log/21/stdout89 2> log/21/stderr89 CMD (33792): ../libtool --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/valgrind90 ../src/curl -q --output log/16/curl90.out --include --trace-ascii log/16/trace90 --trace-time http://127.0.0.1:40899/90 -u testuser:testpass --anyauth -L > log/16/stdout90 2> log/16/stderr90 CMD (33792): ../libtool --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/valgrind91 ../src/curl -q --output log/3/curl91.out --include --trace-ascii log/3/trace91 --trace-time http://127.0.0.1:45927/91 --anyauth -u mydomain\\myself:secret > log/3/stdout91 2> log/3/stderr91 : 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind86 ==80106== ==80106== Process terminating with default action of signal 4 (SIGILL) ==80106== Illegal opcode at address 0x4014520 ==80106== at 0x4014520: getparameter (tool_getparam.c:2862) ==80106== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80106== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80106== by 0x4003728: main (tool_main.c:186) === End of file valgrind86 test 0089...[HTTP with NTLM and follow-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/21/valgrind89 ../src/curl -q --output log/21/curl89.out --include --trace-ascii log/21/trace89 --trace-time http://127.0.0.1:41669/89 -u testuser:testpass --ntlm -L > log/21/stdout89 2> log/21/stderr89 89: 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 89 === Start of file commands.log ../libtool --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/valgrind89 ../src/curl -q --output log/21/curl89.out --include --trace-ascii log/21/trace89 --trace-time http://127.0.0.1:41669/89 -u testuser:testpass --ntlm -L > log/21/stdout89 2> log/21/stderr89 === End of file commands.log === Start of file http_server.log 17:49:12.525840 ====> Client connect 17:49:12.525873 accept_connection 3 returned 4 17:49:12.525890 accept_connection 3 returned 0 17:49:12.525905 Read 93 bytes 17:49:12.525915 Process 93 bytes request 17:49:12.525937 Got request: GET /verifiedserver HTTP/1.1 17:49:12.525947 Are-we-friendly question received 17:49:12.525972 Wrote request (93 bytes) input to log/21/server.input 17:49:12.525996 Identifying ourselves as friends 17:49:12.526059 Response sent (56 bytes) and written to log/21/server.response 17:49:12.526073 special request received, no persistency 17:49:12.526082 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 52774 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === End of file http_verify.out === Start of file server.cmd Testnum 89 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74814 === End of file server.response === Start of file valgrind89 ==80310== ==80310== Process terminating with default action of signal 4 (SIGILL) ==80310== Illegal opcode at address 0x4014520 ==80310== at 0x4014520: getparameter (tool_getparam.c:2862) ==80310== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80310== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80310== by 0x4003728: main (tool_main.c:186) === End of file valgrind89 test 0090...[HTTP with NTLM via --anyauth, and then follow-location with NTLM 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/16/valgrind90 ../src/curl -q --output log/16/curl90.out --include --trace-ascii log/16/trace90 --trace-time http://127.0.0.1:40899/90 -u testuser:testpass --anyauth -L > log/16/stdout90 2> log/16/stderr90 90: 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 90 === Start of file commands.log ../libtool --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/valgrind90 ../src/curl -q --output log/16/curl90.out --include --trace-ascii log/16/trace90 --trace-time http://127.0.0.1:40899/90 -u testuser:testpass --anyauth -L > log/16/stdout90 2> log/16/stderr90 === End of file commands.log === Start of file http_server.log 17:49:12.566277 ====> Client connect 17:49:12.566309 accept_connection 3 returned 4 17:49:12.566324 accept_connection 3 returned 0 17:49:12.566337 Read 93 bytes 17:49:12.566346 Process 93 bytes request 17:49:12.566365 Got request: GET /verifiedserver HTTP/1.1 17:49:12.566374 Are-we-friendly question received 17:49:12.566398 Wrote request (93 bytes) input to log/16/server.input 17:49:12.566417 Identifying ourselves as friends 17:49:12.566474 Response sent (56 bytes) and written to log/16/server.response 17:49:12.566485 special request received, no persistency 17:49:12.566494 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 37332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === End of file http_verify.out === Start of file server.cmd Testnum 90 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74819 === End of file server.response === Start of file valgrind90 ==80448== ==80448== Process terminating with default action of signal 4 (SIGILL) ==80448== Illegal opcode at address 0x4014520 ==80448== at 0x4014520: getparameter (tool_getparam.c:2862) ==80448== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80448== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80448== by 0x4003728: main (tool_main.c:186) === End of file valgrind90 test 0091...[HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 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/3/valgrind91 ../src/curl -q --output log/3/curl91.out --include --trace-ascii log/3/trace91 --trace-time http://127.0.0.1:45927/91 --anyauth -u mydomain\\myself:secret > log/3/stdout91 2> log/3/stderr91 91: 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 91 === Start of file commands.log ../libtool --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/valgrind91 ../src/curl -q --output log/3/curl91.out --include --trace-ascii log/3/trace91 --trace-time http://127.0.0.1:45927/91 --anyauth -u mydomain\\myself:secret > log/3/stdout91 2> log/3/stderr91 === End of file commands.log === Start of file http_server.log 17:49:12.565871 ====> Client connect 17:49:12.565914 accept_connection 3 returned 4 17:49:12.565931 accept_connection 3 returned 0 17:49:12.565947 Read 93 bytes 17:49:12.565956 Process 93 bytes request 17:49:12.565978 Got request: GET /verifiedserver HTTP/1.1 17:49:12.565986 Are-we-friendly question received 17:49:12.566011 Wrote request (93 bytes) input to log/3/server.input 17:4CMD (33792): ../libtool --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/valgrind92 ../src/curl -q --output log/14/curl92.out --include --trace-ascii log/14/trace92 --trace-time http://127.0.0.1:37569/want/92 -C 87 > log/14/stdout92 2> log/14/stderr92 CMD (33792): ../libtool --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/valgrind93 ../src/curl -q --output log/15/curl93.out --include --trace-ascii log/15/trace93 --trace-time http://127.0.0.1:41057/93 -x 127.0.0.1:41057 > log/15/stdout93 2> log/15/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/24/valgrind97 ../src/curl -q --output log/24/curl97.out --include --trace-ascii log/24/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:39649/97 > log/24/stdout97 2> log/24/stderr97 9:12.566030 Identifying ourselves as friends 17:49:12.566112 Response sent (56 bytes) and written to log/3/server.response 17:49:12.566125 special request received, no persistency 17:49:12.566133 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 38726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === End of file http_verify.out === Start of file server.cmd Testnum 91 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75287 === End of file server.response === Start of file valgrind91 ==80426== ==80426== Process terminating with default action of signal 4 (SIGILL) ==80426== Illegal opcode at address 0x4014520 ==80426== at 0x4014520: getparameter (tool_getparam.c:2862) ==80426== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80426== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80426== by 0x4003728: main (tool_main.c:186) === End of file valgrind91 test 0092...[HTTP resume transfer with the 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/14/valgrind92 ../src/curl -q --output log/14/curl92.out --include --trace-ascii log/14/trace92 --trace-time http://127.0.0.1:37569/want/92 -C 87 > log/14/stdout92 2> log/14/stderr92 92: 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 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/14/valgrind92 ../src/curl -q --output log/14/curl92.out --include --trace-ascii log/14/trace92 --trace-time http://127.0.0.1:37569/want/92 -C 87 > log/14/stdout92 2> log/14/stderr92 === End of file commands.log === Start of file http_server.log 17:49:13.568768 ====> Client connect 17:49:13.568802 accept_connection 3 returned 4 17:49:13.568818 accept_connection 3 returned 0 17:49:13.568832 Read 93 bytes 17:49:13.568841 Process 93 bytes request 17:49:13.568863 Got request: GET /verifiedserver HTTP/1.1 17:49:13.568873 Are-we-friendly question received 17:49:13.568902 Wrote request (93 bytes) input to log/14/server.input 17:49:13.568927 Identifying ourselves as friends 17:49:13.568999 Response sent (56 bytes) and written to log/14/server.response 17:49:13.569014 special request received, no persistency 17:49:13.569023 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 57356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind92 ==80417== ==80417== Process terminating with default action of signal 4 (SIGILL) ==80417== Illegal opcode at address 0x4014520 ==80417== at 0x4014520: getparameter (tool_getparam.c:2862) ==80417== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80417== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80417== by 0x4003728: main (tool_main.c:186) === End of file valgrind92 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/15/valgrind93 ../src/curl -q --output log/15/curl93.out --include --trace-ascii log/15/trace93 --trace-time http://127.0.0.1:41057/93 -x 127.0.0.1:41057 > log/15/stdout93 2> log/15/stderr93 93: 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 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/15/valgrind93 ../src/curl -q --output log/15/curl93.out --include --trace-ascii log/15/trace93 --trace-time http://127.0.0.1:41057/93 -x 127.0.0.1:41057 > log/15/stdout93 2> log/15/stderr93 === End of file commands.log === Start of file http_server.log 17:49:12.777974 ====> Client connect 17:49:12.778008 accept_connection 3 returned 4 17:49:12.778024 accept_connection 3 returned 0 17:49:12.778038 Read 93 bytes 17:49:12.778048 Process 93 bytes request 17:49:12.778060 Got request: GET /verifiedserver HTTP/1.1 17:49:12.778069 Are-we-friendly question received 17:49:12.778094 Wrote request (93 bytes) input to log/15/server.input 17:49:12.778111 Identifying ourselves as friends 17:49:12.778166 Response sent (56 bytes) and written to log/15/server.response 17:49:12.778175 special request received, no persistency 17:49:12.778184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 37476 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind93 ==80614== ==80614== Process terminating with default action of signal 4 (SIGILL) ==80614== Illegal opcode at address 0x4014520 ==80614== at 0x4014520: getparameter (tool_getparam.c:2862) ==80614== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80614== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80614== by 0x4003728: main (tool_main.c:186) === End of file valgrind93 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/24/valgrind97 ../src/curl -q --output log/24/curl97.out --include --trace-ascii log/24/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:39649/97 > log/24/stdout97 2> log/24/stderr97 97: 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 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/24/valgrind97 ../src/curl -q --output log/24/curl97.out --include --trace-ascii log/24/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" 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/7/valgrind99 ../src/curl -q --output log/7/curl99.out --include --trace-ascii log/7/trace99 --trace-time http://127.0.0.1:35671/99 -C 9999999999 > log/7/stdout99 2> log/7/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/23/valgrind94 ../src/curl -q --output log/23/curl94.out --include --trace-ascii log/23/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:39173 > log/23/stdout94 2> log/23/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/8/valgrind98 ../src/curl -q --output log/8/curl98.out --include --trace-ascii log/8/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:42045/98 log/8/stdout98 2> log/8/stderr98 tp://127.0.0.1:39649/97 > log/24/stdout97 2> log/24/stderr97 === End of file commands.log === Start of file http_server.log 17:49:13.092001 ====> Client connect 17:49:13.092036 accept_connection 3 returned 4 17:49:13.092053 accept_connection 3 returned 0 17:49:13.092067 Read 93 bytes 17:49:13.092077 Process 93 bytes request 17:49:13.092091 Got request: GET /verifiedserver HTTP/1.1 17:49:13.092102 Are-we-friendly question received 17:49:13.092128 Wrote request (93 bytes) input to log/24/server.input 17:49:13.092146 Identifying ourselves as friends 17:49:13.092202 Response sent (56 bytes) and written to log/24/server.response 17:49:13.092212 special request received, no persistency 17:49:13.092221 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 34868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind97 ==80804== ==80804== Process terminating with default action of signal 4 (SIGILL) ==80804== Illegal opcode at address 0x4014520 ==80804== at 0x4014520: getparameter (tool_getparam.c:2862) ==80804== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80804== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80804== by 0x4003728: main (tool_main.c:186) === End of file valgrind97 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/7/valgrind99 ../src/curl -q --output log/7/curl99.out --include --trace-ascii log/7/trace99 --trace-time http://127.0.0.1:35671/99 -C 9999999999 > log/7/stdout99 2> log/7/stderr99 99: 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 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/7/valgrind99 ../src/curl -q --output log/7/curl99.out --include --trace-ascii log/7/trace99 --trace-time http://127.0.0.1:35671/99 -C 9999999999 > log/7/stdout99 2> log/7/stderr99 === End of file commands.log === Start of file http_server.log 17:49:13.101202 ====> Client connect 17:49:13.101233 accept_connection 3 returned 4 17:49:13.101248 accept_connection 3 returned 0 17:49:13.101260 Read 93 bytes 17:49:13.101269 Process 93 bytes request 17:49:13.101280 Got request: GET /verifiedserver HTTP/1.1 17:49:13.101288 Are-we-friendly question received 17:49:13.101312 Wrote request (93 bytes) input to log/7/server.input 17:49:13.101328 Identifying ourselves as friends 17:49:13.101476 Response sent (56 bytes) and written to log/7/server.response 17:49:13.101488 special request received, no persistency 17:49:13.101496 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 44446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind99 ==80836== ==80836== Process terminating with default action of signal 4 (SIGILL) ==80836== Illegal opcode at address 0x4014520 ==80836== at 0x4014520: getparameter (tool_getparam.c:2862) ==80836== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80836== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80836== by 0x4003728: main (tool_main.c:186) === End of file valgrind99 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/23/valgrind94 ../src/curl -q --output log/23/curl94.out --include --trace-ascii log/23/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:39173 > log/23/stdout94 2> log/23/stderr94 94: 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 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/23/valgrind94 ../src/curl -q --output log/23/curl94.out --include --trace-ascii log/23/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:39173 > log/23/stdout94 2> log/23/stderr94 === End of file commands.log === Start of file http_server.log 17:49:14.057954 ====> Client connect 17:49:14.057987 accept_connection 3 returned 4 17:49:14.058002 accept_connection 3 returned 0 17:49:14.058017 Read 93 bytes 17:49:14.058026 Process 93 bytes request 17:49:14.058040 Got request: GET /verifiedserver HTTP/1.1 17:49:14.058049 Are-we-friendly question received 17:49:14.058073 Wrote request (93 bytes) input to log/23/server.input 17:49:14.058089 Identifying ourselves as friends 17:49:14.058144 Response sent (56 bytes) and written to log/23/server.response 17:49:14.058153 special request received, no persistency 17:49:14.058162 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 36882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind94 ==80724== ==80724== Process terminating with default action of signal 4 (SIGILL) ==80724== Illegal opcode at address 0x4014520 ==80724== at 0x4014520: getparameter (tool_getparam.c:2862) ==80724== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80724== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80724== by 0x4003728: main (tool_main.c:186) === End of file valgrind94 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/8/valgrind98 ../src/curl -q --output log/8/curl98.out --include --trace-ascii log/8/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:42045/98 log/2/stdout80 2> log/2/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/20/valgrind83 ../src/curl -q --output log/20/curl83.out --include --trace-ascii log/20/trace83 --trace-time http://test.83:46725/we/want/that/page/83 -p -x 127.0.0.1:42327 --user 'iam:my:;self' > log/20/stdout83 2> log/20/stderr83 /8/stdin-for-98 > log/8/stdout98 2> log/8/stderr98 98: 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 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/8/valgrind98 ../src/curl -q --output log/8/curl98.out --include --trace-ascii log/8/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:42045/98 log/8/stdout98 2> log/8/stderr98 === End of file commands.log === Start of file http_server.log 17:49:13.100553 ====> Client connect 17:49:13.100581 accept_connection 3 returned 4 17:49:13.100594 accept_connection 3 returned 0 17:49:13.100606 Read 93 bytes 17:49:13.100616 Process 93 bytes request 17:49:13.100630 Got request: GET /verifiedserver HTTP/1.1 17:49:13.100637 Are-we-friendly question received 17:49:13.100658 Wrote request (93 bytes) input to log/8/server.input 17:49:13.100672 Identifying ourselves as friends 17:49:13.100722 Response sent (56 bytes) and written to log/8/server.response 17:49:13.100732 special request received, no persistency 17:49:13.100739 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 58608 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file stdin-for-98 data on stdin === End of file stdin-for-98 === Start of file valgrind98 ==80820== ==80820== Process terminating with default action of signal 4 (SIGILL) ==80820== Illegal opcode at address 0x4014520 ==80820== at 0x4014520: getparameter (tool_getparam.c:2862) ==80820== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80820== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80820== by 0x4003728: main (tool_main.c:186) === 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/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 79752 port 33397 * pid http-proxy => 79752 79752 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/2/valgrind80 ../src/curl -q --output log/2/curl80.out --include --trace-ascii log/2/trace80 --trace-time http://test.80:38779/we/want/that/page/80 -p --proxy1.0 127.0.0.1:33397 --user iam:myself --proxy-user youare:yourself -A "" > log/2/stdout80 2> log/2/stderr80 80: 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 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/2/valgrind80 ../src/curl -q --output log/2/curl80.out --include --trace-ascii log/2/trace80 --trace-time http://test.80:38779/we/want/that/page/80 -p --proxy1.0 127.0.0.1:33397 --user iam:myself --proxy-user youare:yourself -A "" > log/2/stdout80 2> log/2/stderr80 === End of file commands.log === Start of file http2_server.log 17:49:12.192294 Run as proxy, CONNECT to host 127.0.0.1 17:49:12.192390 Running HTTP IPv4 version on port 33397 17:49:12.192556 Wrote pid 79752 to log/2/server/http2_server.pid 17:49:12.192589 Wrote port 33397 to log/2/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:49:12.170537 ====> Client connect 17:49:12.170567 accept_connection 3 returned 4 17:49:12.170581 accept_connection 3 returned 0 17:49:12.170594 Read 93 bytes 17:49:12.170602 Process 93 bytes request 17:49:12.170612 Got request: GET /verifiedserver HTTP/1.1 17:49:12.170620 Are-we-friendly question received 17:49:12.170643 Wrote request (93 bytes) input to log/2/server.input 17:49:12.170658 Identifying ourselves as friends 17:49:12.170710 Response sent (56 bytes) and written to log/2/server.response 17:49:12.170720 special request received, no persistency 17:49:12.170727 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 46278 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind80 ==80974== ==80974== Process terminating with default action of signal 4 (SIGILL) ==80974== Illegal opcode at address 0x4014520 ==80974== at 0x4014520: getparameter (tool_getparam.c:2862) ==80974== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==80974== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==80974== by 0x4003728: main (tool_main.c:186) === End of file valgrind80 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/20/server/http2_server.pid" --logfile "log/20/http2_server.log" --logdir "log/20" --portfile log/20/server/http2_server.port --config log/20/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 80026 port 42327 * pid http-proxy => 80026 80026 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/20/valgrind83 ../src/curl -q --output log/20/curl83.out --include --trace-ascii log/20/trace83 --trace-time http://test.83:46725/we/want/that/page/83 -p -x 127.0.0.1:42327 --user 'iam:my:;self' > log/20/stdout83 2> log/20/stderr83 83: 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 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/20/valgrind83 ../src/curl -q --output log/20/curl83.out --include --trace-ascii log/20/trace83 --trace-time http://test.83:46725/we/want/that/page/83 -p -x 127.0.0.1:42327 --user 'iam:my:;self' > log/20/stdout83 2> log/20/stderr83 === End of file commands.log === Start of file http2_server.log 17:49:12.466716 Run as proxy, CONNECT to host 127.0.0.1 17:49:12.466840 Running HTTP IPv4 version on port 42327 17:49:12.466880 Wrote pid 80026 to 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/17/valgrind100 ../src/curl -q --output log/17/curl100.out --include --trace-ascii log/17/trace100 --trace-time ftp://127.0.0.1:45931/test-100/ > log/17/stdout100 2> log/17/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/18/valgrind95 ../src/curl -q --output log/18/curl95.out --include --trace-ascii log/18/trace95 --trace-time http://test.95:34067/we/want/that/page/95 -p -x 127.0.0.1:37665 -d "datatopost=ohthatsfunyesyes" > log/18/stdout95 2> log/18/stderr95 20/server/http2_server.pid 17:49:12.466910 Wrote port 42327 to log/20/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:49:12.442897 ====> Client connect 17:49:12.442931 accept_connection 3 returned 4 17:49:12.442949 accept_connection 3 returned 0 17:49:12.442962 Read 93 bytes 17:49:12.442972 Process 93 bytes request 17:49:12.442984 Got request: GET /verifiedserver HTTP/1.1 17:49:12.442993 Are-we-friendly question received 17:49:12.443019 Wrote request (93 bytes) input to log/20/server.input 17:49:12.443036 Identifying ourselves as friends 17:49:12.443100 Response sent (56 bytes) and written to log/20/server.response 17:49:12.443110 special request received, no persistency 17:49:12.443119 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 59246 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind83 ==81058== ==81058== Process terminating with default action of signal 4 (SIGILL) ==81058== Illegal opcode at address 0x4014520 ==81058== at 0x4014520: getparameter (tool_getparam.c:2862) ==81058== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81058== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81058== by 0x4003728: main (tool_main.c:186) === End of file valgrind83 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 45931 (log/17/server/ftp_server.port) RUN: FTP server is PID 80755 port 45931 * pid ftp => 80755 80755 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/17/valgrind100 ../src/curl -q --output log/17/curl100.out --include --trace-ascii log/17/trace100 --trace-time ftp://127.0.0.1:45931/test-100/ > log/17/stdout100 2> log/17/stderr100 100: 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 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/17/valgrind100 ../src/curl -q --output log/17/curl100.out --include --trace-ascii log/17/trace100 --trace-time ftp://127.0.0.1:45931/test-100/ > log/17/stdout100 2> log/17/stderr100 === End of file commands.log === Start of file ftp_server.log 17:49:13.278741 FTP server listens on port IPv4/45931 17:49:13.278838 logged pid 80755 in log/17/server/ftp_server.pid 17:49:13.278865 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.124629 Running IPv4 version 17:49:13.124728 Listening on port 45931 17:49:13.124773 Wrote pid 80874 to log/17/server/ftp_sockctrl.pid 17:49:13.124803 Wrote port 45931 to log/17/server/ftp_server.port 17:49:13.124824 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 ==81185== ==81185== Process terminating with default action of signal 4 (SIGILL) ==81185== Illegal opcode at address 0x4014520 ==81185== at 0x4014520: getparameter (tool_getparam.c:2862) ==81185== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81185== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81185== by 0x4003728: main (tool_main.c:186) === End of file valgrind100 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 80722 port 37665 * pid http-proxy => 80722 80722 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/18/valgrind95 ../src/curl -q --output log/18/curl95.out --include --trace-ascii log/18/trace95 --trace-time http://test.95:34067/we/want/that/page/95 -p -x 127.0.0.1:37665 -d "datatopost=ohthatsfunyesyes" > log/18/stdout95 2> log/18/stderr95 95: 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 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/18/valgrind95 ../src/curl -q --output log/18/curl95.out --include --trace-ascii log/18/trace95 --trace-time http://test.95:34067/we/want/that/page/95 -p -x 127.0.0.1:37665 -d "datatopost=ohthatsfunyesyes" > log/18/stdout95 2> log/18/stderr95 === End of file commands.log === Start of file http2_server.log 17:49:13.093410 Run as proxy, CONNECT to host 127.0.0.1 17:49:13.093507 Running HTTP IPv4 version on port 37665 17:49:13.093553 Wrote pid 80722 to log/18/server/http2_server.pid 17:49:13.093583 Wrote port 37665 to log/18/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:49:13.066260 ====> Client connect 17:49:13.066301 accept_connection 3 returned 4 17:49:13.066317 accept_connection 3 returned 0 17:49:13.066333 Read 93 bytes 17:49:13.066341 Process 93 bytes request 17:49:13.066354 Got request: GET /verifiedserver HTTP/1.1 17:49:13.066363 Are-we-friendly question received 17:49:13.066387 Wrote request (93 bytes) input to log/18/server.input 17:49:13.066403 Identifying ourselves as friends 17:49:13.066468 Response sent (56 bytes) and written to log/18/server.response 17:49:13.066477 special request received, no persistency 17:49:13.066484 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36774 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind95 ==81164== ==81164== Process terminating with default action of signal 4 (SIGILL) ==81164== Illegal opcode at address 0x4014520 ==81164== at 0x4014520: getparameter (tool_getparam.c:2862) ==81164== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81164== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81164== by 0x4003728: main (tool_main.c:186) === End of file 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/13/valgrind101 ../src/curl -q --output log/13/curl101.out --include --trace-ascii log/13/trace101 --trace-time ftp://127.0.0.1:32981/ -P 127.0.0.1 > log/13/stdout101 2> log/13/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:36391/102 > log/9/stdout102 2> log/9/stderr102 CMD (33792): ../libtool --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/valgrind104 ../src/curl -q --output log/4/curl104.out --include --trace-ascii log/4/trace104 --trace-time ftp://127.0.0.1:40307/a/path/104 --head > log/4/stdout104 2> log/4/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/11/valgrind103 ../src/curl -q --output log/11/curl103.out --include --trace-ascii log/11/trace103 --trace-time ftp://127.0.0.1:36233/a/path/103 -P - > log/11/stdout103 2> log/11/stderr103 rind95 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 32981 (log/13/server/ftp_server.port) RUN: FTP server is PID 80972 port 32981 * pid ftp => 80972 80972 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/13/valgrind101 ../src/curl -q --output log/13/curl101.out --include --trace-ascii log/13/trace101 --trace-time ftp://127.0.0.1:32981/ -P 127.0.0.1 > log/13/stdout101 2> log/13/stderr101 101: 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 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/13/valgrind101 ../src/curl -q --output log/13/curl101.out --include --trace-ascii log/13/trace101 --trace-time ftp://127.0.0.1:32981/ -P 127.0.0.1 > log/13/stdout101 2> log/13/stderr101 === End of file commands.log === Start of file ftp_server.log 17:49:13.376829 FTP server listens on port IPv4/32981 17:49:13.376927 logged pid 80972 in log/13/server/ftp_server.pid 17:49:13.376959 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.222682 Running IPv4 version 17:49:13.222809 Listening on port 32981 17:49:13.222863 Wrote pid 81007 to log/13/server/ftp_sockctrl.pid 17:49:13.222896 Wrote port 32981 to log/13/server/ftp_server.port 17:49:13.222920 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 ==81264== ==81264== Process terminating with default action of signal 4 (SIGILL) ==81264== Illegal opcode at address 0x4014520 ==81264== at 0x4014520: getparameter (tool_getparam.c:2862) ==81264== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81264== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81264== by 0x4003728: main (tool_main.c:186) === 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 36391 (log/9/server/ftp_server.port) RUN: FTP server is PID 80975 port 36391 * pid ftp => 80975 80975 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:36391/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:36391/102 > log/9/stdout102 2> log/9/stderr102 === End of file commands.log === Start of file ftp_server.log 17:49:13.384597 FTP server listens on port IPv4/36391 17:49:13.384704 logged pid 80975 in log/9/server/ftp_server.pid 17:49:13.384738 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.230360 Running IPv4 version 17:49:13.230455 Listening on port 36391 17:49:13.230494 Wrote pid 81018 to log/9/server/ftp_sockctrl.pid 17:49:13.230523 Wrote port 36391 to log/9/server/ftp_server.port 17:49:13.230683 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 ==81272== ==81272== Process terminating with default action of signal 4 (SIGILL) ==81272== Illegal opcode at address 0x4014520 ==81272== at 0x4014520: getparameter (tool_getparam.c:2862) ==81272== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81272== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81272== by 0x4003728: main (tool_main.c:186) === End of file valgrind102 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 40307 (log/4/server/ftp_server.port) RUN: FTP server is PID 80996 port 40307 * pid ftp => 80996 80996 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/4/valgrind104 ../src/curl -q --output log/4/curl104.out --include --trace-ascii log/4/trace104 --trace-time ftp://127.0.0.1:40307/a/path/104 --head > log/4/stdout104 2> log/4/stderr104 104: 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 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/4/valgrind104 ../src/curl -q --output log/4/curl104.out --include --trace-ascii log/4/trace104 --trace-time ftp://127.0.0.1:40307/a/path/104 --head > log/4/stdout104 2> log/4/stderr104 === End of file commands.log === Start of file ftp_server.log 17:49:13.401383 FTP server listens on port IPv4/40307 17:49:13.401466 logged pid 80996 in log/4/server/ftp_server.pid 17:49:13.401493 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.247302 Running IPv4 version 17:49:13.247383 Listening on port 40307 17:49:13.247425 Wrote pid 81034 to log/4/server/ftp_sockctrl.pid 17:49:13.247455 Wrote port 40307 to log/4/server/ftp_server.port 17:49:13.247475 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 ==81368== ==81368== Process terminating with default action of signal 4 (SIGILL) ==81368== Illegal opcode at address 0x4014520 ==81368== at 0x4014520: getparameter (tool_getparam.c:2862) ==81368== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81368== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81368== by 0x4003728: main (tool_main.c:186) === End of file valgrind104 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 36233 (log/11/server/ftp_server.port) RUN: FTP server is PID 80983 port 36233 * pid ftp => 80983 80983 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/11/valgrind103 ../src/curl -q --output log/11/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/12/valgrind105 ../src/curl -q --output log/12/curl105.out --include --trace-ascii log/12/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:38035/105 --use-ascii > log/12/stdout105 2> log/12/stderr105 CMD (33792): ../libtool --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/valgrind106 ../src/curl -q --output log/19/curl106.out --include --trace-ascii log/19/trace106 --trace-time "ftp://127.0.0.1:40075//path%20with%20%20spaces//and%20things2/106;type=A" > log/19/stdout106 2> log/19/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/10/valgrind107 ../src/curl -q --output log/10/curl107.out --include --trace-ascii log/10/trace107 --trace-time ftp://127.0.0.1:41693/107 -T log/10/test107.txt > log/10/stdout107 2> log/10/stderr107 rl103.out --include --trace-ascii log/11/trace103 --trace-time ftp://127.0.0.1:36233/a/path/103 -P - > log/11/stdout103 2> log/11/stderr103 103: 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 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/11/valgrind103 ../src/curl -q --output log/11/curl103.out --include --trace-ascii log/11/trace103 --trace-time ftp://127.0.0.1:36233/a/path/103 -P - > log/11/stdout103 2> log/11/stderr103 === End of file commands.log === Start of file ftp_server.log 17:49:13.386942 FTP server listens on port IPv4/36233 17:49:13.387035 logged pid 80983 in log/11/server/ftp_server.pid 17:49:13.387062 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.232877 Running IPv4 version 17:49:13.232944 Listening on port 36233 17:49:13.232986 Wrote pid 81023 to log/11/server/ftp_sockctrl.pid 17:49:13.233016 Wrote port 36233 to log/11/server/ftp_server.port 17:49:13.233036 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 ==81293== ==81293== Process terminating with default action of signal 4 (SIGILL) ==81293== Illegal opcode at address 0x4014520 ==81293== at 0x4014520: getparameter (tool_getparam.c:2862) ==81293== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81293== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81293== by 0x4003728: main (tool_main.c:186) === End of file valgrind103 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 38035 (log/12/server/ftp_server.port) RUN: FTP server is PID 81047 port 38035 * pid ftp => 81047 81047 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/12/valgrind105 ../src/curl -q --output log/12/curl105.out --include --trace-ascii log/12/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:38035/105 --use-ascii > log/12/stdout105 2> log/12/stderr105 105: 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 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/12/valgrind105 ../src/curl -q --output log/12/curl105.out --include --trace-ascii log/12/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:38035/105 --use-ascii > log/12/stdout105 2> log/12/stderr105 === End of file commands.log === Start of file ftp_server.log 17:49:13.524745 FTP server listens on port IPv4/38035 17:49:13.524816 logged pid 81047 in log/12/server/ftp_server.pid 17:49:13.524837 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.370713 Running IPv4 version 17:49:13.370779 Listening on port 38035 17:49:13.370812 Wrote pid 81049 to log/12/server/ftp_sockctrl.pid 17:49:13.370836 Wrote port 38035 to log/12/server/ftp_server.port 17:49:13.370854 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 ==81457== ==81457== Process terminating with default action of signal 4 (SIGILL) ==81457== Illegal opcode at address 0x4014520 ==81457== at 0x4014520: getparameter (tool_getparam.c:2862) ==81457== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81457== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81457== by 0x4003728: main (tool_main.c:186) === End of file valgrind105 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 40075 (log/19/server/ftp_server.port) RUN: FTP server is PID 81054 port 40075 * pid ftp => 81054 81054 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/19/valgrind106 ../src/curl -q --output log/19/curl106.out --include --trace-ascii log/19/trace106 --trace-time "ftp://127.0.0.1:40075//path%20with%20%20spaces//and%20things2/106;type=A" > log/19/stdout106 2> log/19/stderr106 106: 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 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/19/valgrind106 ../src/curl -q --output log/19/curl106.out --include --trace-ascii log/19/trace106 --trace-time "ftp://127.0.0.1:40075//path%20with%20%20spaces//and%20things2/106;type=A" > log/19/stdout106 2> log/19/stderr106 === End of file commands.log === Start of file ftp_server.log 17:49:13.624247 FTP server listens on port IPv4/40075 17:49:13.624332 logged pid 81054 in log/19/server/ftp_server.pid 17:49:13.624354 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.470151 Running IPv4 version 17:49:13.470229 Listening on port 40075 17:49:13.470266 Wrote pid 81076 to log/19/server/ftp_sockctrl.pid 17:49:13.470295 Wrote port 40075 to log/19/server/ftp_server.port 17:49:13.470327 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 ==81509== ==81509== Process terminating with default action of signal 4 (SIGILL) ==81509== Illegal opcode at address 0x4014520 ==81509== at 0x4014520: getparameter (tool_getparam.c:2862) ==81509== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81509== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81509== by 0x4003728: main (tool_main.c:186) === End of file valgrind106 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 41693 (log/10/server/ftp_server.port) RUN: FTP server is PID 81055 port 41693 * pid ftp => 81055 81055 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/10/valgrind107 ../src/curl -q --output log/10/curl107.out --include --trace-ascii log/10/trace107 --trace-time ftp://127.0.0.1:41693/107 -T log/10/test107.txt > log/10/stdout107 2> log/10/stderr107 107: 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 107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdirCMD (33792): ../libtool --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/valgrind110 ../src/curl -q --output log/5/curl110.out --include --trace-ascii log/5/trace110 --trace-time ftp://127.0.0.1:34559/110 -C 20 > log/5/stdout110 2> log/5/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/22/valgrind108 ../src/curl -q --output log/22/curl108.out --include --trace-ascii log/22/trace108 --trace-time ftp://127.0.0.1:44871/CWD/STOR/RETR/108 -T log/22/upload108 -P - > log/22/stdout108 2> log/22/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/6/valgrind109 ../src/curl -q --output log/6/curl109.out --include --trace-ascii log/6/trace109 --trace-time ftp://127.0.0.1:36757/109 -T log/6/upload109 --append > log/6/stdout109 2> log/6/stderr109 /src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind107 ../src/curl -q --output log/10/curl107.out --include --trace-ascii log/10/trace107 --trace-time ftp://127.0.0.1:41693/107 -T log/10/test107.txt > log/10/stdout107 2> log/10/stderr107 === End of file commands.log === Start of file ftp_server.log 17:49:13.635872 FTP server listens on port IPv4/41693 17:49:13.635940 logged pid 81055 in log/10/server/ftp_server.pid 17:49:13.635958 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.481857 Running IPv4 version 17:49:13.481922 Listening on port 41693 17:49:13.481950 Wrote pid 81092 to log/10/server/ftp_sockctrl.pid 17:49:13.481972 Wrote port 41693 to log/10/server/ftp_server.port 17:49:13.481985 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 ==81528== ==81528== Process terminating with default action of signal 4 (SIGILL) ==81528== Illegal opcode at address 0x4014520 ==81528== at 0x4014520: getparameter (tool_getparam.c:2862) ==81528== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81528== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81528== by 0x4003728: main (tool_main.c:186) === End of file valgrind107 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 34559 (log/5/server/ftp_server.port) RUN: FTP server is PID 81078 port 34559 * pid ftp => 81078 81078 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/5/valgrind110 ../src/curl -q --output log/5/curl110.out --include --trace-ascii log/5/trace110 --trace-time ftp://127.0.0.1:34559/110 -C 20 > log/5/stdout110 2> log/5/stderr110 110: 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 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/5/valgrind110 ../src/curl -q --output log/5/curl110.out --include --trace-ascii log/5/trace110 --trace-time ftp://127.0.0.1:34559/110 -C 20 > log/5/stdout110 2> log/5/stderr110 === End of file commands.log === Start of file ftp_server.log 17:49:13.654487 FTP server listens on port IPv4/34559 17:49:13.654555 logged pid 81078 in log/5/server/ftp_server.pid 17:49:13.654576 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.500389 Running IPv4 version 17:49:13.500442 Listening on port 34559 17:49:13.500472 Wrote pid 81114 to log/5/server/ftp_sockctrl.pid 17:49:13.500495 Wrote port 34559 to log/5/server/ftp_server.port 17:49:13.500601 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 ==81620== ==81620== Process terminating with default action of signal 4 (SIGILL) ==81620== Illegal opcode at address 0x4014520 ==81620== at 0x4014520: getparameter (tool_getparam.c:2862) ==81620== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81620== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81620== by 0x4003728: main (tool_main.c:186) === End of file valgrind110 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 44871 (log/22/server/ftp_server.port) RUN: FTP server is PID 81056 port 44871 * pid ftp => 81056 81056 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/22/valgrind108 ../src/curl -q --output log/22/curl108.out --include --trace-ascii log/22/trace108 --trace-time ftp://127.0.0.1:44871/CWD/STOR/RETR/108 -T log/22/upload108 -P - > log/22/stdout108 2> log/22/stderr108 108: 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 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/22/valgrind108 ../src/curl -q --output log/22/curl108.out --include --trace-ascii log/22/trace108 --trace-time ftp://127.0.0.1:44871/CWD/STOR/RETR/108 -T log/22/upload108 -P - > log/22/stdout108 2> log/22/stderr108 === End of file commands.log === Start of file ftp_server.log 17:49:13.646298 FTP server listens on port IPv4/44871 17:49:13.646373 logged pid 81056 in log/22/server/ftp_server.pid 17:49:13.646395 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.492233 Running IPv4 version 17:49:13.492299 Listening on port 44871 17:49:13.492334 Wrote pid 81107 to log/22/server/ftp_sockctrl.pid 17:49:13.492386 Wrote port 44871 to log/22/server/ftp_server.port 17:49:13.492404 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 ==81550== ==81550== Process terminating with default action of signal 4 (SIGILL) ==81550== Illegal opcode at address 0x4014520 ==81550== at 0x4014520: getparameter (tool_getparam.c:2862) ==81550== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81550== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81550== by 0x4003728: main (tool_main.c:186) === End of file valgrind108 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 36757 (log/6/server/ftp_server.port) RUN: FTP server is PID 81072 port 36757 * pid ftp => 81072 81072 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/6/valgrind109 ../src/curl -q --output log/6/curl109.out --include --trace-ascii log/6/trace109 --trace-time ftp://127.0.0.1:36757/109 -T log/6/upload109 --append > log/6/stdout109 2> log/6/stderr109 109: 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 109 === Start of file commands.log ../libtool --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/valgrind109 ../src/curl -q --output log/6/curl109.out --include --trace-ascii log/6/trace109 --trace-time ftp://127.0.0.1:36757/109 -T log/6/upload109 --append > log/6/stdout109 2> log/6/stderr109 === End of file commands.log === Start of file ftp_server.log 17:49:13.646628 FTP server listens on port IPv4/36757 17:49:13.646721 logged CMD (33792): ../libtool --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/valgrind114 ../src/curl -q --output log/14/curl114.out --include --trace-ascii log/14/trace114 --trace-time ftp://127.0.0.1:38643/114 > log/14/stdout114 2> log/14/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/21/valgrind111 ../src/curl -q --output log/21/curl111.out --include --trace-ascii log/21/trace111 --trace-time ftp://127.0.0.1:37113/111 -C 2000 > log/21/stdout111 2> log/21/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/16/valgrind112 ../src/curl -q --output log/16/curl112.out --include --trace-ascii log/16/trace112 --trace-time ftp://127.0.0.1:39205/112 -T log/16/upload112 -C 41 > log/16/stdout112 2> log/16/stderr112 CMD (33792): ../libtool --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/valgrind113 ../src/curl -q --output log/3/curl113.out --include --trace-ascii log/3/trace113 --trace-time ftp://127.0.0.1:35383/113 > log/3/stdout113 2> log/3/stderr113 pid 81072 in log/6/server/ftp_server.pid 17:49:13.646750 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.492560 Running IPv4 version 17:49:13.492633 Listening on port 36757 17:49:13.492669 Wrote pid 81108 to log/6/server/ftp_sockctrl.pid 17:49:13.492698 Wrote port 36757 to log/6/server/ftp_server.port 17:49:13.492719 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 ==81600== ==81600== Process terminating with default action of signal 4 (SIGILL) ==81600== Illegal opcode at address 0x4014520 ==81600== at 0x4014520: getparameter (tool_getparam.c:2862) ==81600== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81600== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81600== by 0x4003728: main (tool_main.c:186) === End of file valgrind109 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 38643 (log/14/server/ftp_server.port) RUN: FTP server is PID 81129 port 38643 * pid ftp => 81129 81129 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/14/valgrind114 ../src/curl -q --output log/14/curl114.out --include --trace-ascii log/14/trace114 --trace-time ftp://127.0.0.1:38643/114 > log/14/stdout114 2> log/14/stderr114 114: 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 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/14/valgrind114 ../src/curl -q --output log/14/curl114.out --include --trace-ascii log/14/trace114 --trace-time ftp://127.0.0.1:38643/114 > log/14/stdout114 2> log/14/stderr114 === End of file commands.log === Start of file ftp_server.log 17:49:13.750889 FTP server listens on port IPv4/38643 17:49:13.750953 logged pid 81129 in log/14/server/ftp_server.pid 17:49:13.750970 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.596857 Running IPv4 version 17:49:13.596936 Listening on port 38643 17:49:13.596965 Wrote pid 81132 to log/14/server/ftp_sockctrl.pid 17:49:13.596986 Wrote port 38643 to log/14/server/ftp_server.port 17:49:13.597000 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 ==81868== ==81868== Process terminating with default action of signal 4 (SIGILL) ==81868== Illegal opcode at address 0x4014520 ==81868== at 0x4014520: getparameter (tool_getparam.c:2862) ==81868== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81868== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81868== by 0x4003728: main (tool_main.c:186) === End of file valgrind114 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 37113 (log/21/server/ftp_server.port) RUN: FTP server is PID 81123 port 37113 * pid ftp => 81123 81123 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/21/valgrind111 ../src/curl -q --output log/21/curl111.out --include --trace-ascii log/21/trace111 --trace-time ftp://127.0.0.1:37113/111 -C 2000 > log/21/stdout111 2> log/21/stderr111 111: 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 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/21/valgrind111 ../src/curl -q --output log/21/curl111.out --include --trace-ascii log/21/trace111 --trace-time ftp://127.0.0.1:37113/111 -C 2000 > log/21/stdout111 2> log/21/stderr111 === End of file commands.log === Start of file ftp_server.log 17:49:13.718651 FTP server listens on port IPv4/37113 17:49:13.718741 logged pid 81123 in log/21/server/ftp_server.pid 17:49:13.718761 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.564439 Running IPv4 version 17:49:13.564517 Listening on port 37113 17:49:13.564557 Wrote pid 81128 to log/21/server/ftp_sockctrl.pid 17:49:13.564586 Wrote port 37113 to log/21/server/ftp_server.port 17:49:13.564747 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 ==81767== ==81767== Process terminating with default action of signal 4 (SIGILL) ==81767== Illegal opcode at address 0x4014520 ==81767== at 0x4014520: getparameter (tool_getparam.c:2862) ==81767== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81767== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81767== by 0x4003728: main (tool_main.c:186) === End of file valgrind111 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 39205 (log/16/server/ftp_server.port) RUN: FTP server is PID 81124 port 39205 * pid ftp => 81124 81124 test 0112...[FTP PASV 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/16/valgrind112 ../src/curl -q --output log/16/curl112.out --include --trace-ascii log/16/trace112 --trace-time ftp://127.0.0.1:39205/112 -T log/16/upload112 -C 41 > log/16/stdout112 2> log/16/stderr112 112: 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 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/16/valgrind112 ../src/curl -q --output log/16/curl112.out --include --trace-ascii log/16/trace112 --trace-time ftp://127.0.0.1:39205/112 -T log/16/upload112 -C 41 > log/16/stdout112 2> log/16/stderr112 === End of file commands.log === Start of file ftp_server.log 17:49:13.717811 FTP server listens on port IPv4/39205 17:49:13.717872 logged pid 81124 in log/16/server/ftp_server.pid 17:49:13.717892 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.563784 Running IPv4 version 17:49:13.563857 Listening on port 39205 17:49:13.563885 Wrote pid 81127 to log/16/server/ftp_sockctrl.pid 17:49:13.563907 Wrote port 39205 to log/16/server/ftp_server.port 17:49:13.563922 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 ****CMD (33792): ../libtool --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/valgrind115 ../src/curl -q --output log/1/curl115.out --include --trace-ascii log/1/trace115 --trace-time ftp://127.0.0.1:39965/115 > log/1/stdout115 2> log/1/stderr115 CMD (33792): ../libtool --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/valgrind116 ../src/curl -q --output log/15/curl116.out --include --trace-ascii log/15/trace116 --trace-time ftp://127.0.0.1:44375/116 -P 1.2.3.4 > log/15/stdout116 2> log/15/stderr116 CMD (33792): ../libtool --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/valgrind118 ../src/curl -q --output log/7/curl118.out --include --trace-ascii log/7/trace118 --trace-time ftp://127.0.0.1:42667/118 > log/7/stdout118 2> log/7/stderr118 *crap******** that we are gonna upload worx? === End of file upload112 === Start of file valgrind112 ==81777== ==81777== Process terminating with default action of signal 4 (SIGILL) ==81777== Illegal opcode at address 0x4014520 ==81777== at 0x4014520: getparameter (tool_getparam.c:2862) ==81777== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81777== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81777== by 0x4003728: main (tool_main.c:186) === End of file valgrind112 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 35383 (log/3/server/ftp_server.port) RUN: FTP server is PID 81126 port 35383 * pid ftp => 81126 81126 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/3/valgrind113 ../src/curl -q --output log/3/curl113.out --include --trace-ascii log/3/trace113 --trace-time ftp://127.0.0.1:35383/113 > log/3/stdout113 2> log/3/stderr113 113: 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 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/3/valgrind113 ../src/curl -q --output log/3/curl113.out --include --trace-ascii log/3/trace113 --trace-time ftp://127.0.0.1:35383/113 > log/3/stdout113 2> log/3/stderr113 === End of file commands.log === Start of file ftp_server.log 17:49:13.724830 FTP server listens on port IPv4/35383 17:49:13.724906 logged pid 81126 in log/3/server/ftp_server.pid 17:49:13.724926 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.570822 Running IPv4 version 17:49:13.570879 Listening on port 35383 17:49:13.570910 Wrote pid 81130 to log/3/server/ftp_sockctrl.pid 17:49:13.570932 Wrote port 35383 to log/3/server/ftp_server.port 17:49:13.570947 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 ==81778== ==81778== Process terminating with default action of signal 4 (SIGILL) ==81778== Illegal opcode at address 0x4014520 ==81778== at 0x4014520: getparameter (tool_getparam.c:2862) ==81778== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81778== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81778== by 0x4003728: main (tool_main.c:186) === End of file valgrind113 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 39965 (log/1/server/ftp_server.port) RUN: FTP server is PID 81139 port 39965 * pid ftp => 81139 81139 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/1/valgrind115 ../src/curl -q --output log/1/curl115.out --include --trace-ascii log/1/trace115 --trace-time ftp://127.0.0.1:39965/115 > log/1/stdout115 2> log/1/stderr115 115: 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 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/1/valgrind115 ../src/curl -q --output log/1/curl115.out --include --trace-ascii log/1/trace115 --trace-time ftp://127.0.0.1:39965/115 > log/1/stdout115 2> log/1/stderr115 === End of file commands.log === Start of file ftp_server.log 17:49:13.847642 FTP server listens on port IPv4/39965 17:49:13.847699 logged pid 81139 in log/1/server/ftp_server.pid 17:49:13.847718 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.693614 Running IPv4 version 17:49:13.693690 Listening on port 39965 17:49:13.693720 Wrote pid 81140 to log/1/server/ftp_sockctrl.pid 17:49:13.693741 Wrote port 39965 to log/1/server/ftp_server.port 17:49:13.693755 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 ==81972== ==81972== Process terminating with default action of signal 4 (SIGILL) ==81972== Illegal opcode at address 0x4014520 ==81972== at 0x4014520: getparameter (tool_getparam.c:2862) ==81972== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==81972== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==81972== by 0x4003728: main (tool_main.c:186) === End of file valgrind115 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 44375 (log/15/server/ftp_server.port) RUN: FTP server is PID 81145 port 44375 * pid ftp => 81145 81145 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/15/valgrind116 ../src/curl -q --output log/15/curl116.out --include --trace-ascii log/15/trace116 --trace-time ftp://127.0.0.1:44375/116 -P 1.2.3.4 > log/15/stdout116 2> log/15/stderr116 116: 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 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/15/valgrind116 ../src/curl -q --output log/15/curl116.out --include --trace-ascii log/15/trace116 --trace-time ftp://127.0.0.1:44375/116 -P 1.2.3.4 > log/15/stdout116 2> log/15/stderr116 === End of file commands.log === Start of file ftp_server.log 17:49:13.927860 FTP server listens on port IPv4/44375 17:49:13.927918 logged pid 81145 in log/15/server/ftp_server.pid 17:49:13.927936 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:13.773845 Running IPv4 version 17:49:13.773907 Listening on port 44375 17:49:13.773936 Wrote pid 81147 to log/15/server/ftp_sockctrl.pid 17:49:13.773957 Wrote port 44375 to log/15/server/ftp_server.port 17:49:13.773971 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 ==82027== ==82027== Process terminating with default action of signal 4 (SIGILL) ==82027== Illegal opcode at address 0x4014520 ==82027== at 0x4014520: getparameter (tool_getparam.c:2862) ==82027== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82027== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82027== by 0x4003728: main (tool_main.c:186) === End of file valgrind116 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/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/8/valgrind120 ../src/curl -q --output log/8/curl120.out --include --trace-ascii log/8/trace120 --trace-time ftp://127.0.0.1:42799/120 -Q "-DELE file" > log/8/stdout120 2> log/8/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/24/valgrind117 ../src/curl -q --output log/24/curl117.out --include --trace-ascii log/24/trace117 --trace-time ftp://127.0.0.1:39525/117 > log/24/stdout117 2> log/24/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/23/valgrind119 ../src/curl -q --output log/23/curl119.out --include --trace-ascii log/23/trace119 --trace-time ftp://127.0.0.1:46399/119 -P - > log/23/stdout119 2> log/23/stderr119 url/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 42667 (log/7/server/ftp_server.port) RUN: FTP server is PID 81153 port 42667 * pid ftp => 81153 81153 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/7/valgrind118 ../src/curl -q --output log/7/curl118.out --include --trace-ascii log/7/trace118 --trace-time ftp://127.0.0.1:42667/118 > log/7/stdout118 2> log/7/stderr118 118: 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 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/7/valgrind118 ../src/curl -q --output log/7/curl118.out --include --trace-ascii log/7/trace118 --trace-time ftp://127.0.0.1:42667/118 > log/7/stdout118 2> log/7/stderr118 === End of file commands.log === Start of file ftp_server.log 17:49:14.090631 FTP server listens on port IPv4/42667 17:49:14.090692 logged pid 81153 in log/7/server/ftp_server.pid 17:49:14.090711 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:14.936614 Running IPv4 version 17:49:14.936678 Listening on port 42667 17:49:14.936711 Wrote pid 81157 to log/7/server/ftp_sockctrl.pid 17:49:14.936732 Wrote port 42667 to log/7/server/ftp_server.port 17:49:14.936746 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 ==82109== ==82109== Process terminating with default action of signal 4 (SIGILL) ==82109== Illegal opcode at address 0x4014520 ==82109== at 0x4014520: getparameter (tool_getparam.c:2862) ==82109== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82109== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82109== by 0x4003728: main (tool_main.c:186) === End of file valgrind118 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 42799 (log/8/server/ftp_server.port) RUN: FTP server is PID 81155 port 42799 * pid ftp => 81155 81155 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/8/valgrind120 ../src/curl -q --output log/8/curl120.out --include --trace-ascii log/8/trace120 --trace-time ftp://127.0.0.1:42799/120 -Q "-DELE file" > log/8/stdout120 2> log/8/stderr120 120: 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 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/8/valgrind120 ../src/curl -q --output log/8/curl120.out --include --trace-ascii log/8/trace120 --trace-time ftp://127.0.0.1:42799/120 -Q "-DELE file" > log/8/stdout120 2> log/8/stderr120 === End of file commands.log === Start of file ftp_server.log 17:49:14.095240 FTP server listens on port IPv4/42799 17:49:14.095294 logged pid 81155 in log/8/server/ftp_server.pid 17:49:14.095310 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:14.941257 Running IPv4 version 17:49:14.941299 Listening on port 42799 17:49:14.941327 Wrote pid 81159 to log/8/server/ftp_sockctrl.pid 17:49:14.941347 Wrote port 42799 to log/8/server/ftp_server.port 17:49:14.941360 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 ==82136== ==82136== Process terminating with default action of signal 4 (SIGILL) ==82136== Illegal opcode at address 0x4014520 ==82136== at 0x4014520: getparameter (tool_getparam.c:2862) ==82136== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82136== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82136== by 0x4003728: main (tool_main.c:186) === End of file valgrind120 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 39525 (log/24/server/ftp_server.port) RUN: FTP server is PID 81152 port 39525 * pid ftp => 81152 81152 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/24/valgrind117 ../src/curl -q --output log/24/curl117.out --include --trace-ascii log/24/trace117 --trace-time ftp://127.0.0.1:39525/117 > log/24/stdout117 2> log/24/stderr117 117: 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 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/24/valgrind117 ../src/curl -q --output log/24/curl117.out --include --trace-ascii log/24/trace117 --trace-time ftp://127.0.0.1:39525/117 > log/24/stdout117 2> log/24/stderr117 === End of file commands.log === Start of file ftp_server.log 17:49:14.088866 FTP server listens on port IPv4/39525 17:49:14.088934 logged pid 81152 in log/24/server/ftp_server.pid 17:49:14.088954 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:14.934832 Running IPv4 version 17:49:14.934881 Listening on port 39525 17:49:14.934910 Wrote pid 81156 to log/24/server/ftp_sockctrl.pid 17:49:14.934953 Wrote port 39525 to log/24/server/ftp_server.port 17:49:14.934966 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 ==82108== ==82108== Process terminating with default action of signal 4 (SIGILL) ==82108== Illegal opcode at address 0x4014520 ==82108== at 0x4014520: getparameter (tool_getparam.c:2862) ==82108== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82108== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82108== by 0x4003728: main (tool_main.c:186) === End of file valgrind117 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 46399 (log/23/server/ftp_server.port) RUN: FTP server is PID 81154 port 46399 * pid ftp => 81154 81154 test 0119...[FTP download, failed RETR with PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/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/17/valgrind123 ../src/curl -q --output log/17/curl123.out --include --trace-ascii log/17/trace123 --trace-time ftp://127.0.0.1:45931/123 -T log/17/upload123 -C 51 > log/17/stdout123 2> log/17/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/2/valgrind121 ../src/curl -q --output log/2/curl121.out --include --trace-ascii log/2/trace121 --trace-time ftp://127.0.0.1:40597/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/2/stdout121 2> log/2/stderr121 s/valgrind.supp --num-callers=16 --log-file=log/23/valgrind119 ../src/curl -q --output log/23/curl119.out --include --trace-ascii log/23/trace119 --trace-time ftp://127.0.0.1:46399/119 -P - > log/23/stdout119 2> log/23/stderr119 119: 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 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/23/valgrind119 ../src/curl -q --output log/23/curl119.out --include --trace-ascii log/23/trace119 --trace-time ftp://127.0.0.1:46399/119 -P - > log/23/stdout119 2> log/23/stderr119 === End of file commands.log === Start of file ftp_server.log 17:49:14.092395 FTP server listens on port IPv4/46399 17:49:14.092460 logged pid 81154 in log/23/server/ftp_server.pid 17:49:14.092479 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:14.938385 Running IPv4 version 17:49:14.938428 Listening on port 46399 17:49:14.938460 Wrote pid 81158 to log/23/server/ftp_sockctrl.pid 17:49:14.938481 Wrote port 46399 to log/23/server/ftp_server.port 17:49:14.938494 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 ==82112== ==82112== Process terminating with default action of signal 4 (SIGILL) ==82112== Illegal opcode at address 0x4014520 ==82112== at 0x4014520: getparameter (tool_getparam.c:2862) ==82112== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82112== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82112== by 0x4003728: main (tool_main.c:186) === End of file valgrind119 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/17/valgrind123 ../src/curl -q --output log/17/curl123.out --include --trace-ascii log/17/trace123 --trace-time ftp://127.0.0.1:45931/123 -T log/17/upload123 -C 51 > log/17/stdout123 2> log/17/stderr123 123: 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 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/17/valgrind123 ../src/curl -q --output log/17/curl123.out --include --trace-ascii log/17/trace123 --trace-time ftp://127.0.0.1:45931/123 -T log/17/upload123 -C 51 > log/17/stdout123 2> log/17/stderr123 === End of file commands.log === Start of file ftp_server.log 17:49:15.049142 ====> Client connect 17:49:15.049326 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.049654 < "USER anonymous" 17:49:15.049702 > "331 We are happy you popped in![CR][LF]" 17:49:15.049894 < "PASS ftp@example.com" 17:49:15.049929 > "230 Welcome you silly person[CR][LF]" 17:49:15.050111 < "PWD" 17:49:15.050147 > "257 "/" is current directory[CR][LF]" 17:49:15.050317 < "EPSV" 17:49:15.050352 ====> Passive DATA channel requested by client 17:49:15.050369 DATA sockfilt for passive data channel starting... 17:49:15.052350 DATA sockfilt for passive data channel started (pid 82101) 17:49:15.052487 DATA sockfilt for passive data channel listens on port 41153 17:49:15.052536 > "229 Entering Passive Mode (|||41153|)[CR][LF]" 17:49:15.052553 Client has been notified that DATA conn will be accepted on port 41153 17:49:15.052821 Client connects to port 41153 17:49:15.052855 ====> Client established passive DATA connection on port 41153 17:49:15.052952 < "TYPE I" 17:49:15.052985 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.053138 < "SIZE verifiedserver" 17:49:15.053172 > "213 17[CR][LF]" 17:49:15.053314 < "RETR verifiedserver" 17:49:15.053491 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.053581 =====> Closing passive DATA connection... 17:49:15.053596 Server disconnects passive DATA connection 17:49:15.053819 Server disconnected passive DATA connection 17:49:15.053844 DATA sockfilt for passive data channel quits (pid 82101) 17:49:15.054091 DATA sockfilt for passive data channel quit (pid 82101) 17:49:15.054112 =====> Closed passive DATA connection 17:49:15.054142 > "226 File transfer complete[CR][LF]" 17:49:15.100868 < "QUIT" 17:49:15.100930 > "221 bye bye baby[CR][LF]" 17:49:15.101449 MAIN sockfilt said DISC 17:49:15.101479 ====> Client disconnected 17:49:15.101564 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:14.895210 ====> Client connect 17:49:14.895532 Received DATA (on stdin) 17:49:14.895552 > 146 bytes data, server => client 17:49:14.895564 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:14.895575 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:14.895584 '220 \___|\___/|_| \_\_____|\r\n' 17:49:14.895667 < 16 bytes data, client => server 17:49:14.895681 'USER anonymous\r\n' 17:49:14.895898 Received DATA (on stdin) 17:49:14.895911 > 33 bytes data, server => client 17:49:14.895922 '331 We are happy you popped in!\r\n' 17:49:14.895977 < 22 bytes data, client => server 17:49:14.895989 'PASS ftp@example.com\r\n' 17:49:14.896120 Received DATA (on stdin) 17:49:14.896133 > 30 bytes data, server => client 17:49:14.896143 '230 Welcome you silly person\r\n' 17:49:14.896207 < 5 bytes data, client => server 17:49:14.896220 'PWD\r\n' 17:49:14.896336 Received DATA (on stdin) 17:49:14.896347 > 30 bytes data, server => client 17:49:14.896358 '257 "/" is current directory\r\n' 17:49:14.896418 < 6 bytes data, client => server 17:49:14.896429 'EPSV\r\n' 17:49:14.898752 Received DATA (on stdin) 17:49:14.898768 > 39 bytes data, server => client 17:49:14.898778 '229 Entering Passive Mode (|||41153|)\r\n' 17:49:14.898958 < 8 bytes data, client => server 17:49:14.898968 'TYPE I\r\n' 17:49:14.899174 Received DATA (on stdin) 17:49:14.899185 > 33 bytes data, server => client 17:49:14.899195 '200 I modify TYPE as you wanted\r\n' 17:49:14.899245 < 21 bytes data, client => server 17:49:14.899255 'SIZE verifiedserver\r\n' 17:49:14.899358 Received DATA (on stdin) 17:49:14.899368 > 8 bytes data, server => client 17:49:14.899377 '213 17\r\n' 17:49:14.899421 < 21 bytes data, client => server 17:49:14.899431 'RETR verifiedserver\r\n' 17:49:14.899868 Received DATA (on stdin) 17:49:14.899880 > 29 bytes data, server => client 17:49:14.899890 '150 Binary junk (17 bytes).\r\n' 17:49:14.900332 Received DATA (on stdin) 17:49:14.900343 > 28 bytes data, server => client 17:49:14.900353 '226 File transfer complete\r\n' 17:49:14.946852 < 6 bytes data, client => server 17:49:14.946884 'QUIT\r\n' 17:49:14.947127 Received DATA (on stdin) 17:49:14.947140 > 18 bytes data, server => client 17:49:14.947150 '221 bye bye baby\r\n' 17:49:14.947580 ====> Client disconnect 17:49:14.947759 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.898308 Running IPv4 version 17:49:15.898403 Listening on port 41153 17:49:15.898448 Wrote pid 82101 to log/17/server/ftp_sockdata.pid 17:49:15.898467 Received PING (on stdin) 17:49:15.898583 Received PORT (on stdin) 17:49:15.898933 ====> Client connect 17:49:15.899786 Received DATA (on stdin) 17:49:15.899798 > 17 bytes data, server => client 17:49:15.899808 'WE ROOLZ: 80755\r\n' 17:49:15.899834 Received DISC (on stdin) 17:49:15.899844 ====> Client forcibly disconnected 17:49:15.900040 Received QUIT (on stdin) 17:49:15.900050 quits 17:49:15.900112 ============> soCMD (33792): ../libtool --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/valgrind125 ../src/curl -q --output log/13/curl125.out --include --trace-ascii log/13/trace125 --trace-time ftp://127.0.0.1:32981/path/to/file/125 > log/13/stdout125 2> log/13/stderr125 CMD (33792): ../libtool --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:36391/blalbla/lululul/126 > log/9/stdout126 2> log/9/stderr126 CMD (33792): ../libtool --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/valgrind128 ../src/curl -q --output log/11/curl128.out --include --trace-ascii log/11/trace128 --trace-time ftp://127.0.0.1:36233/128 -T log/11/upload128 --crlf > log/11/stdout128 2> log/11/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/4/valgrind127 ../src/curl -q --output log/4/curl127.out --include --trace-ascii log/4/trace127 --trace-time ftp://127.0.0.1:40307/path/to/file/127 --disable-epsv > log/4/stdout127 2> log/4/stderr127 ckfilt quits === End of file ftp_sockdata.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 ==82263== ==82263== Process terminating with default action of signal 4 (SIGILL) ==82263== Illegal opcode at address 0x4014520 ==82263== at 0x4014520: getparameter (tool_getparam.c:2862) ==82263== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82263== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82263== by 0x4003728: main (tool_main.c:186) === End of file valgrind123 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 40597 (log/2/server/ftp_server.port) RUN: FTP server is PID 81160 port 40597 * pid ftp => 81160 81160 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/2/valgrind121 ../src/curl -q --output log/2/curl121.out --include --trace-ascii log/2/trace121 --trace-time ftp://127.0.0.1:40597/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/2/stdout121 2> log/2/stderr121 121: 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 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/2/valgrind121 ../src/curl -q --output log/2/curl121.out --include --trace-ascii log/2/trace121 --trace-time ftp://127.0.0.1:40597/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/2/stdout121 2> log/2/stderr121 === End of file commands.log === Start of file ftp_server.log 17:49:14.134823 FTP server listens on port IPv4/40597 17:49:14.134900 logged pid 81160 in log/2/server/ftp_server.pid 17:49:14.134920 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:14.980816 Running IPv4 version 17:49:14.980861 Listening on port 40597 17:49:14.980889 Wrote pid 81161 to log/2/server/ftp_sockctrl.pid 17:49:14.980914 Wrote port 40597 to log/2/server/ftp_server.port 17:49:14.980928 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 ==82304== ==82304== Process terminating with default action of signal 4 (SIGILL) ==82304== Illegal opcode at address 0x4014520 ==82304== at 0x4014520: getparameter (tool_getparam.c:2862) ==82304== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82304== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82304== by 0x4003728: main (tool_main.c:186) === End of file valgrind121 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:36391/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:36391/blalbla/lululul/126 > log/9/stdout126 2> log/9/stderr126 === End of file commands.log === Start of file ftp_server.log 17:49:15.146034 ====> Client connect 17:49:15.146225 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.146499 < "USER anonymous" 17:49:15.146538 > "331 We are happy you popped in![CR][LF]" 17:49:15.146812 < "PASS ftp@example.com" 17:49:15.146841 > "230 Welcome you silly person[CR][LF]" 17:49:15.146991 < "PWD" 17:49:15.147023 > "257 "/" is current directory[CR][LF]" 17:49:15.147182 < "EPSV" 17:49:15.147215 ====> Passive DATA channel requested by client 17:49:15.147232 DATA sockfilt for passive data channel starting... 17:49:15.148796 DATA sockfilt for passive data channel started (pid 82386) 17:49:15.148887 DATA sockfilt for passive data channel listens on port 33263 17:49:15.148922 > "229 Entering Passive Mode (|||33263|)[CR][LF]" 17:49:15.148938 Client has been notified that DATA conn will be accepted on port 33263 17:49:15.149170 Client connects to port 33263 17:49:15.149200 ====> Client established passive DATA connection on port 33263 17:49:15.149268 < "TYPE I" 17:49:15.149294 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.149431 < "SIZE verifiedserver" 17:49:15.149462 > "213 17[CR][LF]" 17:49:15.149607 < "RETR verifiedserver" 17:49:15.149667 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.149796 =====> Closing passive DATA connection... 17:49:15.149823 Server disconnects passive DATA connection 17:49:15.151769 Server disconnected passive DATA connection 17:49:15.151796 DATA sockfilt for passive data channel quits (pid 82386) 17:49:15.152041 DATA sockfilt for passive data channel quit (pid 82386) 17:49:15.152068 =====> Closed passive DATA connection 17:49:15.152100 > "226 File transfer complete[CR][LF]" 17:49:15.200267 < "QUIT" 17:49:15.200316 > "221 bye bye baby[CR][LF]" 17:49:15.201461 MAIN sockfilt said DISC 17:49:15.201503 ====> Client disconnected 17:49:15.201583 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:14.992112 ====> Client connect 17:49:14.992425 Received DATA (on stdin) 17:49:14.992439 > 146 bytes data, server => client 17:49:14.992451 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:14.992461 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:14.992470 '220 \___|\___/|_| \_\_____|\r\n' 17:49:14.992538 < 16 bytes data, client => server 17:49:14.992550 'USER anonymous\r\n' 17:49:14.992730 Received DATA (on stdin) 17:49:14.992741 > 33 bytes data, server => client 17:49:14.992753 '331 We are happy you popped in!\r\n' 17:49:14.992800 < 22 bytes data, client => server 17:49:14.992811 'PASS ftp@example.com\r\n' 17:49:14.993030 Received DATA (on stdin) 17:49:14.993041 > 30 bytes data, server => client 17:49:14.993051 '230 Welcome you silly person\r\n' 17:49:14.993100 < 5 bytes data, client => server 17:49:14.993110 'PWD\r\n' 17:49:14.993213 Received DATA (on stdin) 17:49:14.993224 > 30 bytes data, server => client 17:49:14.993235 '257 "/" is current directory\r\n' 17:49:14.993288 < 6 bytes data, client => server 17:49:14.993298 'EPSV\r\n' 17:49:14.995132 Received DATA (on stdin) 17:49:14.995145 > 39 bytes data, server => client 17:49:14.995164 '229 Entering Passive Mode (|||33263|)\r\n' 17:49:14.995306 < 8 bytes data, client => server 17:49:14.995318 'TYPE I\r\n' 17:49:14.995481 Received DATA (on stdin) 17:49:14.995491 > 33 bytes data, server => client 17:49:14.995499 '200 I modify TYPE as you wanted\r\n' 17:49:14.995542 < 21 bytes data, client => server 17:49:14.995550 'SIZE verifiedserver\r\n' 17:49:14.995648 Received DATA (on stdin) 17:49:14.995657 > 8 bytes data, server => client 17:49:14.995665 '213 17\r\n' 17:49:14.995703 < 21 bytes data, client => server 17:49:14.995712 'RETR verifiedserver\r\n' 17:49:14.997697 Received DATA (on stdin) 17:49:14.997716 > 29 bytes data, server => client 17:49:14.997727 '150 Binary junk (17 bytes).\r\n' 17:49:14.998291 Received DATA (on stdin) 17:49:14.998304 > 28 bytes data, server => client 17:49:14.998314 '226 File transfer complete\r\n' 17:49:15.046279 < 6 bytes data, client => server 17:49:15.046307 'QUIT\r\n' 17:49:15.046507 Received DATA (on stdin) 17:49:15.046518 > 18 bytes data, server => client 17:49:15.046528 '221 bye bye baby\r\n' 17:49:15.047582 ====> Client disconnect 17:49:15.047772 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.994800 Running IPv4 version 17:49:15.994884 Listening on port 33263 17:49:15.994921 Wrote pid 82386 to log/9/server/ftp_sockdata.pid 17:49:15.994937 Received PING (on stdin) 17:49:15.995004 Received PORT (on stdin) 17:49:15.995279 ====> Client connect 17:49:15.997795 Received DATA (on stdin) 17:49:15.997811 > 17 bytes data, server => client 17:49:15.997821 'WE ROOLZ: 80975\r\n' 17:49:15.997848 Received DISC (on stdin) 17:49:15.997861 ====> Client forcibly disconnected 17:49:15.997992 Received QUIT (on stdin) 17:49:15.998001 quits 17:49:15.998056 ============> 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 ==82482== ==82482== Process terminating with default action of signal 4 (SIGILL) ==82482== Illegal opcode at address 0x4014520 ==82482== at 0x4014520: getparameter (tool_getparam.c:2862) ==82482== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82482== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82482== by 0x4003728: main (tool_main.c:186) === End of file valgrind126 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/11/valgrind128 ../src/curl -q --output log/11/curl128.out --include --trace-ascii log/11/trace128 --trace-time ftp://127.0.0.1:36233/128 -T log/11/upload128 --crlf > log/11/stdout128 2> log/11/stderr128 128: 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 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/11/valgrind128 ../src/curl -q --output log/11/curl128.out --include --trace-ascii log/11/trace128 --trace-time ftp://127.0.0.1:36233/128 -T log/11/upload128 --crlf > log/11/stdout128 2> log/11/stderr128 === End of file commands.log === Start of file ftp_server.log 17:49:15.185498 ====> Client connect 17:49:15.185679 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.185966 < "USER anonymous" 17:49:15.186002 > "331 We are happy you popped in![CR][LF]" 17:49:15.186163 < "PASS ftp@example.com" 17:49:15.186191 > "230 Welcome you silly person[CR][LF]" 17:49:15.186333 < "PWD" 17:49:15.186362 > "257 "/" is current directory[CR][LF]" 17:49:15.186508 < "EPSV" 17:49:15.186536 ====> Passive DATA channel requested by client 17:49:15.186550 DATA sockfilt for passive data channel starting... 17:49:15.188145 DATA sockfilt for passive data channel started (pid 82468) 17:49:15.188257 DATA sockfilt for passive data channel listens on port 39027 17:49:15.188303 > "229 Entering Passive Mode (|||39027|)[CR][LF]" 17:49:15.188321 Client has been notified that DATA conn will be accepted on port 39027 17:49:15.188541 Client connects to port 39027 17:49:15.188568 ====> Client established passive DATA connection on port 39027 17:49:15.188640 < "TYPE I" 17:49:15.188667 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.188823 < "SIZE verifiedserver" 17:49:15.188860 > "213 17[CR][LF]" 17:49:15.189009 < "RETR verifiedserver" 17:49:15.189040 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.189120 =====> Closing passive DATA connection... 17:49:15.189137 Server disconnects passive DATA connection 17:49:15.189354 Server disconnected passive DATA connection 17:49:15.189380 DATA sockfilt for passive data channel quits (pid 82468) 17:49:15.189600 DATA sockfilt for passive data channel quit (pid 82468) 17:49:15.189624 =====> Closed passive DATA connection 17:49:15.189654 > "226 File transfer complete[CR][LF]" 17:49:15.230347 < "QUIT" 17:49:15.230401 > "221 bye bye baby[CR][LF]" 17:49:15.230775 MAIN sockfilt said DISC 17:49:15.230817 ====> Client disconnected 17:49:15.230888 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.031569 ====> Client connect 17:49:15.031881 Received DATA (on stdin) 17:49:15.031894 > 146 bytes data, server => client 17:49:15.031906 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.031916 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.031925 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.031996 < 16 bytes data, client => server 17:49:15.032007 'USER anonymous\r\n' 17:49:15.032192 Received DATA (on stdin) 17:49:15.032203 > 33 bytes data, server => client 17:49:15.032213 '331 We are happy you popped in!\r\n' 17:49:15.032261 < 22 bytes data, client => server 17:49:15.032272 'PASS ftp@example.com\r\n' 17:49:15.032378 Received DATA (on stdin) 17:49:15.032389 > 30 bytes data, server => client 17:49:15.032399 '230 Welcome you silly person\r\n' 17:49:15.032444 < 5 bytes data, client => server 17:49:15.032454 'PWD\r\n' 17:49:15.032548 Received DATA (on stdin) 17:49:15.032558 > 30 bytes data, server => client 17:49:15.032568 '257 "/" is current directory\r\n' 17:49:15.032619 < 6 bytes data, client => server 17:49:15.032629 'EPSV\r\n' 17:49:15.034516 Received DATA (on stdin) 17:49:15.034528 > 39 bytes data, server => client 17:49:15.034538 '229 Entering Passive Mode (|||39027|)\r\n' 17:49:15.034680 < 8 bytes data, client => server 17:49:15.034691 'TYPE I\r\n' 17:49:15.034857 Received DATA (on stdin) 17:49:15.034868 > 33 bytes data, server => client 17:49:15.034878 '200 I modify TYPE as you wanted\r\n' 17:49:15.034927 < 21 bytes data, client => server 17:49:15.034938 'SIZE verifiedserver\r\n' 17:49:15.035049 Received DATA (on stdin) 17:49:15.035060 > 8 bytes data, server => client 17:49:15.035070 '213 17\r\n' 17:49:15.035117 < 21 bytes data, client => server 17:49:15.035128 'RETR verifiedserver\r\n' 17:49:15.035326 Received DATA (on stdin) 17:49:15.035337 > 29 bytes data, server => client 17:49:15.035347 '150 Binary junk (17 bytes).\r\n' 17:49:15.035843 Received DATA (on stdin) 17:49:15.035856 > 28 bytes data, server => client 17:49:15.035866 '226 File transfer complete\r\n' 17:49:15.076344 < 6 bytes data, client => server 17:49:15.076375 'QUIT\r\n' 17:49:15.076595 Received DATA (on stdin) 17:49:15.076607 > 18 bytes data, server => client 17:49:15.076617 '221 bye bye baby\r\n' 17:49:15.076892 ====> Client disconnect 17:49:15.077078 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.034149 Running IPv4 version 17:49:15.034209 Listening on port 39027 17:49:15.034257 Wrote pid 82468 to log/11/server/ftp_sockdata.pid 17:49:15.034277 Received PING (on stdin) 17:49:15.034363 Received PORT (on stdin) 17:49:15.034653 ====> Client connect 17:49:15.035371 Received DATA (on stdin) 17:49:15.035383 > 17 bytes data, server => client 17:49:15.035393 'WE ROOLZ: 80983\r\n' 17:49:15.035416 Received DISC (on stdin) 17:49:15.035426 ====> Client forcibly disconnected 17:49:15.035576 Received QUIT (on stdin) 17:49:15.035588 quits 17:49:15.035658 ============> 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 ==82567== ==82567== Process terminating with default action of signal 4 (SIGILL) ==82567== Illegal opcode at address 0x4014520 ==82567== at 0x4014520: getparameter (tool_getparam.c:2862) ==82567== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82567== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82567== by 0x4003728: main (tool_main.c:186) === End of file valgrind128 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/13/valgrind125 ../src/curl -q --output log/13/curl125.out --include --trace-ascii log/13/trace125 --trace-time ftp://127.0.0.1:32981/path/to/file/125 > log/13/stdout125 2> log/13/stderr125 125: 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 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/13/valgrind125 ../src/curl -q --output log/13/curl125.out --include --trace-ascii log/13/trace125 --trace-time ftp://127.0.0.1:32981/path/to/file/125 > log/13/stdout125 2> log/13/stderr125 === End of file commands.log === Start of file ftp_server.log 17:49:15.142694 ====> Client connect 17:49:15.142922 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.143219 < "USER anonymous" 17:49:15.143256 > "331 We are happy you popped in![CR][LF]" 17:49:15.143655 < "PASS ftp@example.com" 17:49:15.143686 > "230 Welcome you silly person[CR][LF]" 17:49:15.143852 < "PWD" 17:49:15.143886 > "257 "/" is current directory[CR][LF]" 17:49:15.144052 < "EPSV" 17:49:15.144078 ====> Passive DATA channel requested by client 17:49:15.144089 DATA sockfilt for passive data channel starting... 17:49:15.145844 DATA sockfilt for passive data channel started (pid 82376) 17:49:15.146005 DATA sockfilt for passive data channel listens on port 39915 17:49:15.146069 > "229 Entering Passive Mode (|||39915|)[CR][LF]" 17:49:15.146091 Client has been notified that DATA conn will be accepted on port 39915 17:49:15.146405 Client connects to port 39915 17:49:15.146436 ====> Client established passive DATA connection on port 39915 17:49:15.146530 < "TYPE I" 17:49:15.146565 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.146742 < "SIZE verifiedserver" 17:49:15.146791 > "213 17[CR][LF]" 17:49:15.146968 < "RETR verifiedserver" 17:49:15.147002 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.147093 =====> Closing passive DATA connection... 17:49:15.147111 Server disconnects passive DATA connection 17:49:15.147182 Server disconnected passive DATA connection 17:49:15.147206 DATA sockfilt for passive data channel quits (pid 82376) 17:49:15.147499 DATA sockfilt for passive data channel quit (pid 82376) 17:49:15.147527 =====> Closed passive DATA connection 17:49:15.147566 > "226 File transfer complete[CR][LF]" 17:49:15.190402 < "QUIT" 17:49:15.190457 > "221 bye bye baby[CR][LF]" 17:49:15.191795 MAIN sockfilt said DISC 17:49:15.191827 ====> Client disconnected 17:49:15.191914 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:14.988752 ====> Client connect 17:49:14.989136 Received DATA (on stdin) 17:49:14.989154 > 146 bytes data, server => client 17:49:14.989166 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:14.989175 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:14.989182 '220 \___|\___/|_| \_\_____|\r\n' 17:49:14.989253 < 16 bytes data, client => server 17:49:14.989262 'USER anonymous\r\n' 17:49:14.989443 Received DATA (on stdin) 17:49:14.989452 > 33 bytes data, server => client 17:49:14.989460 '331 We are happy you popped in!\r\n' 17:49:14.989740 < 22 bytes data, client => server 17:49:14.989752 'PASS ftp@example.com\r\n' 17:49:14.989876 Received DATA (on stdin) 17:49:14.989887 > 30 bytes data, server => client 17:49:14.989898 '230 Welcome you silly person\r\n' 17:49:14.989951 < 5 bytes data, client => server 17:49:14.989962 'PWD\r\n' 17:49:14.990076 Received DATA (on stdin) 17:49:14.990087 > 30 bytes data, server => client 17:49:14.990098 '257 "/" is current directory\r\n' 17:49:14.990157 < 6 bytes data, client => server 17:49:14.990168 'EPSV\r\n' 17:49:14.992295 Received DATA (on stdin) 17:49:14.992314 > 39 bytes data, server => client 17:49:14.992326 '229 Entering Passive Mode (|||39915|)\r\n' 17:49:14.992542 < 8 bytes data, client => server 17:49:14.992554 'TYPE I\r\n' 17:49:14.992758 Received DATA (on stdin) 17:49:14.992770 > 33 bytes data, server => client 17:49:14.992781 '200 I modify TYPE as you wanted\r\n' 17:49:14.992860 < 21 bytes data, client => server 17:49:14.992874 'SIZE verifiedserver\r\n' 17:49:14.992983 Received DATA (on stdin) 17:49:14.992997 > 8 bytes data, server => client 17:49:14.993007 '213 17\r\n' 17:49:14.993066 < 21 bytes data, client => server 17:49:14.993079 'RETR verifiedserver\r\n' 17:49:14.993270 Received DATA (on stdin) 17:49:14.993282 > 29 bytes data, server => client 17:49:14.993293 '150 Binary junk (17 bytes).\r\n' 17:49:14.993757 Received DATA (on stdin) 17:49:14.993770 > 28 bytes data, server => client 17:49:14.993780 '226 File transfer complete\r\n' 17:49:15.036401 < 6 bytes data, client => server 17:49:15.036430 'QUIT\r\n' 17:49:15.036650 Received DATA (on stdin) 17:49:15.036662 > 18 bytes data, server => client 17:49:15.036672 '221 bye bye baby\r\n' 17:49:15.037924 ====> Client disconnect 17:49:15.038104 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.991649 Running IPv4 version 17:49:15.991714 Listening on port 39915 17:49:15.991754 Wrote pid 82376 to log/13/server/ftp_sockdata.pid 17:49:15.991946 Received PING (on stdin) 17:49:15.992084 Received PORT (on stdin) 17:49:15.992512 ====> Client connect 17:49:15.993203 Received DATA (on stdin) 17:49:15.993218 > 17 bytes data, server => client 17:49:15.993229 'WE ROOLZ: 80972\r\n' 17:49:15.993304 Received DISC (on stdin) 17:49:15.993318 ====> Client forcibly disconnected 17:49:15.993396 Received QUIT (on stdin) 17:49:15.993410 quits 17:49:15.993489 ============> 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 ==82473== ==82473== Process terminating with default action of signal 4 (SIGILL) ==82473== Illegal opcode at address 0x4014520 ==82473== at 0x4014520: getparameter (tool_getparam.c:2862) ==82473== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82473== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82473== by 0x4003728: main (tool_main.c:186) === End of file valgrind125 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/4/valgrind127 ../src/curl -q --output log/4/curl127.out --include --trace-ascii log/4/trace127 --trace-time ftp://127.0.0.1:40307/path/to/file/127 --disable-epsv > log/4/stdout127 2> log/4/stderr127 127: 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 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/4/valgrind127 ../src/curl -q --output log/4/curl127.out --include --trace-ascii log/4/trace127 CMD (33792): ../libtool --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/valgrind122 ../src/curl -q --output log/20/curl122.out --include --trace-ascii log/20/trace122 --trace-time ftp://127.0.0.1:35215/122 -C 5 > log/20/stdout122 2> log/20/stderr122 --trace-time ftp://127.0.0.1:40307/path/to/file/127 --disable-epsv > log/4/stdout127 2> log/4/stderr127 === End of file commands.log === Start of file ftp_server.log 17:49:15.179615 ====> Client connect 17:49:15.179876 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.180250 < "USER anonymous" 17:49:15.180300 > "331 We are happy you popped in![CR][LF]" 17:49:15.180493 < "PASS ftp@example.com" 17:49:15.180516 > "230 Welcome you silly person[CR][LF]" 17:49:15.180636 < "PWD" 17:49:15.180661 > "257 "/" is current directory[CR][LF]" 17:49:15.180781 < "EPSV" 17:49:15.180807 ====> Passive DATA channel requested by client 17:49:15.180820 DATA sockfilt for passive data channel starting... 17:49:15.182710 DATA sockfilt for passive data channel started (pid 82464) 17:49:15.182854 DATA sockfilt for passive data channel listens on port 44821 17:49:15.182908 > "229 Entering Passive Mode (|||44821|)[CR][LF]" 17:49:15.182928 Client has been notified that DATA conn will be accepted on port 44821 17:49:15.183195 Client connects to port 44821 17:49:15.183227 ====> Client established passive DATA connection on port 44821 17:49:15.183313 < "TYPE I" 17:49:15.183359 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.183614 < "SIZE verifiedserver" 17:49:15.183667 > "213 17[CR][LF]" 17:49:15.183827 < "RETR verifiedserver" 17:49:15.183864 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.183969 =====> Closing passive DATA connection... 17:49:15.183990 Server disconnects passive DATA connection 17:49:15.184160 Server disconnected passive DATA connection 17:49:15.184201 DATA sockfilt for passive data channel quits (pid 82464) 17:49:15.184448 DATA sockfilt for passive data channel quit (pid 82464) 17:49:15.184469 =====> Closed passive DATA connection 17:49:15.184508 > "226 File transfer complete[CR][LF]" 17:49:15.227150 < "QUIT" 17:49:15.227212 > "221 bye bye baby[CR][LF]" 17:49:15.227494 MAIN sockfilt said DISC 17:49:15.227523 ====> Client disconnected 17:49:15.227611 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.025524 ====> Client connect 17:49:15.026083 Received DATA (on stdin) 17:49:15.026098 > 146 bytes data, server => client 17:49:15.026110 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.026121 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.026130 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.026227 < 16 bytes data, client => server 17:49:15.026241 'USER anonymous\r\n' 17:49:15.026496 Received DATA (on stdin) 17:49:15.026511 > 33 bytes data, server => client 17:49:15.026520 '331 We are happy you popped in!\r\n' 17:49:15.026603 < 22 bytes data, client => server 17:49:15.026611 'PASS ftp@example.com\r\n' 17:49:15.026700 Received DATA (on stdin) 17:49:15.026708 > 30 bytes data, server => client 17:49:15.026716 '230 Welcome you silly person\r\n' 17:49:15.026754 < 5 bytes data, client => server 17:49:15.026762 'PWD\r\n' 17:49:15.026843 Received DATA (on stdin) 17:49:15.026851 > 30 bytes data, server => client 17:49:15.026859 '257 "/" is current directory\r\n' 17:49:15.026903 < 6 bytes data, client => server 17:49:15.026911 'EPSV\r\n' 17:49:15.029129 Received DATA (on stdin) 17:49:15.029144 > 39 bytes data, server => client 17:49:15.029155 '229 Entering Passive Mode (|||44821|)\r\n' 17:49:15.029304 < 8 bytes data, client => server 17:49:15.029318 'TYPE I\r\n' 17:49:15.029551 Received DATA (on stdin) 17:49:15.029562 > 33 bytes data, server => client 17:49:15.029572 '200 I modify TYPE as you wanted\r\n' 17:49:15.029669 < 21 bytes data, client => server 17:49:15.029688 'SIZE verifiedserver\r\n' 17:49:15.029860 Received DATA (on stdin) 17:49:15.029872 > 8 bytes data, server => client 17:49:15.029881 '213 17\r\n' 17:49:15.029930 < 21 bytes data, client => server 17:49:15.029941 'RETR verifiedserver\r\n' 17:49:15.030184 Received DATA (on stdin) 17:49:15.030196 > 29 bytes data, server => client 17:49:15.030205 '150 Binary junk (17 bytes).\r\n' 17:49:15.030703 Received DATA (on stdin) 17:49:15.030718 > 28 bytes data, server => client 17:49:15.030729 '226 File transfer complete\r\n' 17:49:15.073117 < 6 bytes data, client => server 17:49:15.073152 'QUIT\r\n' 17:49:15.073405 Received DATA (on stdin) 17:49:15.073416 > 18 bytes data, server => client 17:49:15.073426 '221 bye bye baby\r\n' 17:49:15.073622 ====> Client disconnect 17:49:15.073797 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.028595 Running IPv4 version 17:49:15.028661 Listening on port 44821 17:49:15.028703 Wrote pid 82464 to log/4/server/ftp_sockdata.pid 17:49:15.028790 Received PING (on stdin) 17:49:15.028943 Received PORT (on stdin) 17:49:15.029338 ====> Client connect 17:49:15.030235 Received DATA (on stdin) 17:49:15.030251 > 17 bytes data, server => client 17:49:15.030262 'WE ROOLZ: 80996\r\n' 17:49:15.030292 Received DISC (on stdin) 17:49:15.030304 ====> Client forcibly disconnected 17:49:15.030406 Received QUIT (on stdin) 17:49:15.030420 quits 17:49:15.030479 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 127 === End of file server.cmd === Start of file valgrind127 ==82547== ==82547== Process terminating with default action of signal 4 (SIGILL) ==82547== Illegal opcode at address 0x4014520 ==82547== at 0x4014520: getparameter (tool_getparam.c:2862) ==82547== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82547== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82547== by 0x4003728: main (tool_main.c:186) === End of file valgrind127 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 35215 (log/20/server/ftp_server.port) RUN: FTP server is PID 81259 port 35215 * pid ftp => 81259 81259 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/20/valgrind122 ../src/curl -q --output log/20/curl122.out --include --trace-ascii log/20/trace122 --trace-time ftp://127.0.0.1:35215/122 -C 5 > log/20/stdout122 2> log/20/stderr122 122: 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 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/20/valgrind122 ../src/curl -q --output log/20/curl122.out --include --trace-ascii log/20/trace122 --trace-time ftp://127.0.0.1:35215/122 -C 5 > log/20/stdout122 2> log/20/stderr122 === End of file commands.log === Start of file ftp_server.log 17:49:14.341477 FTP server listens on port IPv4/35215 17:49:14.341533 logged pid 81259 in log/20/server/ftp_server.pid 17:49:14.341549 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:14.187484 Running IPv4 version 17:49:14.187535 Listening on port 35215 17:49:14.187560 Wrote pid 81262 to log/20/server/ftp_sockctrl.pid 17:49:14.187581 Wrote port 35215 to log/20/server/ftp_server.port 17:49:14.187594 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 ==82677== ==82677== Process terminating with default action of signal 4 (SIGILL) ==82677== Illegal opcode at address 0x4014520 ==82677== at 0x4014520: getparameter (tool_getparam.c:2862) ==82677=CMD (33792): ../libtool --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/valgrind129 ../src/curl -q --output log/12/curl129.out --include --trace-ascii log/12/trace129 --trace-time http://127.0.0.1:36641/129 > log/12/stdout129 2> log/12/stderr129 CMD (33792): ../libtool --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/valgrind130 ../src/curl -q --output log/19/curl130.out --include --trace-ascii log/19/trace130 --trace-time --netrc-optional --netrc-file log/19/netrc130 ftp://127.0.0.1:40075/ > log/19/stdout130 2> log/19/stderr130 = by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82677== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82677== by 0x4003728: main (tool_main.c:186) === End of file valgrind122 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/12/valgrind129 ../src/curl -q --output log/12/curl129.out --include --trace-ascii log/12/trace129 --trace-time http://127.0.0.1:36641/129 > log/12/stdout129 2> log/12/stderr129 129: 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 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/12/valgrind129 ../src/curl -q --output log/12/curl129.out --include --trace-ascii log/12/trace129 --trace-time http://127.0.0.1:36641/129 > log/12/stdout129 2> log/12/stderr129 === End of file commands.log === Start of file http_server.log 17:49:15.268584 ====> Client connect 17:49:15.268626 accept_connection 3 returned 4 17:49:15.268644 accept_connection 3 returned 0 17:49:15.268658 Read 93 bytes 17:49:15.268667 Process 93 bytes request 17:49:15.268681 Got request: GET /verifiedserver HTTP/1.1 17:49:15.268690 Are-we-friendly question received 17:49:15.268728 Wrote request (93 bytes) input to log/12/server.input 17:49:15.268746 Identifying ourselves as friends 17:49:15.268808 Response sent (56 bytes) and written to log/12/server.response 17:49:15.268818 special request received, no persistency 17:49:15.268827 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 36142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind129 ==82752== ==82752== Process terminating with default action of signal 4 (SIGILL) ==82752== Illegal opcode at address 0x4014520 ==82752== at 0x4014520: getparameter (tool_getparam.c:2862) ==82752== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82752== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82752== by 0x4003728: main (tool_main.c:186) === End of file valgrind129 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/19/valgrind130 ../src/curl -q --output log/19/curl130.out --include --trace-ascii log/19/trace130 --trace-time --netrc-optional --netrc-file log/19/netrc130 ftp://127.0.0.1:40075/ > log/19/stdout130 2> log/19/stderr130 130: 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 130 === Start of file commands.log ../libtool --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/valgrind130 ../src/curl -q --output log/19/curl130.out --include --trace-ascii log/19/trace130 --trace-time --netrc-optional --netrc-file log/19/netrc130 ftp://127.0.0.1:40075/ > log/19/stdout130 2> log/19/stderr130 === End of file commands.log === Start of file ftp_server.log 17:49:15.524269 ====> Client connect 17:49:15.524462 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.524776 < "USER anonymous" 17:49:15.524815 > "331 We are happy you popped in![CR][LF]" 17:49:15.524984 < "PASS ftp@example.com" 17:49:15.525011 > "230 Welcome you silly person[CR][LF]" 17:49:15.525153 < "PWD" 17:49:15.525184 > "257 "/" is current directory[CR][LF]" 17:49:15.525333 < "EPSV" 17:49:15.525363 ====> Passive DATA channel requested by client 17:49:15.525379 DATA sockfilt for passive data channel starting... 17:49:15.527471 DATA sockfilt for passive data channel started (pid 82834) 17:49:15.527581 DATA sockfilt for passive data channel listens on port 38727 17:49:15.527626 > "229 Entering Passive Mode (|||38727|)[CR][LF]" 17:49:15.527644 Client has been notified that DATA conn will be accepted on port 38727 17:49:15.527871 Client connects to port 38727 17:49:15.527904 ====> Client established passive DATA connection on port 38727 17:49:15.527992 < "TYPE I" 17:49:15.528022 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.528167 < "SIZE verifiedserver" 17:49:15.528200 > "213 17[CR][LF]" 17:49:15.528340 < "RETR verifiedserver" 17:49:15.528372 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.528454 =====> Closing passive DATA connection... 17:49:15.528470 Server disconnects passive DATA connection 17:49:15.528581 Server disconnected passive DATA connection 17:49:15.528601 DATA sockfilt for passive data channel quits (pid 82834) 17:49:15.528835 DATA sockfilt for passive data channel quit (pid 82834) 17:49:15.528859 =====> Closed passive DATA connection 17:49:15.528890 > "226 File transfer complete[CR][LF]" 17:49:15.570405 < "QUIT" 17:49:15.570462 > "221 bye bye baby[CR][LF]" 17:49:15.571908 MAIN sockfilt said DISC 17:49:15.571948 ====> Client disconnected 17:49:15.572039 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.370334 ====> Client connect 17:49:15.370663 Received DATA (on stdin) 17:49:15.370678 > 146 bytes data, server => client 17:49:15.370689 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.370700 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.370709 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.370790 < 16 bytes data, client => server 17:49:15.370801 'USER anonymous\r\n' 17:49:15.371006 Received DATA (on stdin) 17:49:15.371017 > 33 bytes data, server => client 17:49:15.371028 '331 We are happy you popped in!\r\n' 17:49:15.371077 < 22 bytes data, client => server 17:49:15.371088 'PASS ftp@example.com\r\n' 17:49:15.371198 Received DATA (on stdin) 17:49:15.371209 > 30 bytes data, server => client 17:49:15.371219 '230 Welcome you silly person\r\n' 17:49:15.371264 < 5 bytes data, client => server 17:49:15.371273 'PWD\r\n' 17:49:15.371371 Received DATA (on stdin) 17:49:15.371381 > 30 bytes data, server => client 17:49:15.371391 '257 "/" is current directory\r\n' 17:49:15.371445 < 6 bytes data, client => server 17:49:15.371455 'EPSV\r\n' 17:49:15.373842 Received DATA (on stdin) 17:49:15.373856 > 39 bytes data, server => client 17:49:15.373867 '229 Entering Passive Mode (|||38727|)\r\n' 17:49:15.374010 < 8 bytes data, client => server 17:49:15.374020 'TYPE I\r\n' 17:49:15.374210 Received DATA (on stdin) 17:49:15.374221 > 33 bytes data, server => client 17:49:15.374231 '200 I modify TYPE as you wanted\r\n' 17:49:15.374277 < 21 bytes data, client => server 17:49:15.374288 'SIZE verifiedserver\r\n' 17:49:15.374387 Received DATA (on stdin) 17:49:15.374397 > 8 bytes data, server => client 17:49:15.374407 '213 17\r\n' 17:49:15.374451 < 21 bytes data, client => server 17:49:15.374461 'RETR verifiedserver\r\n' 17:49:15.374625 Received DATA (on stdin) 17:49:15.374643 > 29 bytes data, server => client 17:49:15.374654 '150 BinarCMD (33792): ../libtool --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/valgrind131 ../src/curl -q --output log/10/curl131.out --include --trace-ascii log/10/trace131 --trace-time --netrc-optional --netrc-file log/10/netrc131 ftp://user2@127.0.0.1:41693/ > log/10/stdout131 2> log/10/stderr131 y junk (17 bytes).\r\n' 17:49:15.375081 Received DATA (on stdin) 17:49:15.375096 > 28 bytes data, server => client 17:49:15.375107 '226 File transfer complete\r\n' 17:49:15.416384 < 6 bytes data, client => server 17:49:15.416418 'QUIT\r\n' 17:49:15.416663 Received DATA (on stdin) 17:49:15.416677 > 18 bytes data, server => client 17:49:15.416689 '221 bye bye baby\r\n' 17:49:15.418025 ====> Client disconnect 17:49:15.418232 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.373336 Running IPv4 version 17:49:15.373397 Listening on port 38727 17:49:15.373442 Wrote pid 82834 to log/19/server/ftp_sockdata.pid 17:49:15.373606 Received PING (on stdin) 17:49:15.373684 Received PORT (on stdin) 17:49:15.373984 ====> Client connect 17:49:15.374661 Received DATA (on stdin) 17:49:15.374673 > 17 bytes data, server => client 17:49:15.374684 'WE ROOLZ: 81054\r\n' 17:49:15.374708 Received DISC (on stdin) 17:49:15.374719 ====> Client forcibly disconnected 17:49:15.374793 Received QUIT (on stdin) 17:49:15.374803 quits 17:49:15.374874 ============> 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 ==82846== ==82846== Process terminating with default action of signal 4 (SIGILL) ==82846== Illegal opcode at address 0x4014520 ==82846== at 0x4014520: getparameter (tool_getparam.c:2862) ==82846== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82846== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82846== by 0x4003728: main (tool_main.c:186) === End of file valgrind130 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/10/valgrind131 ../src/curl -q --output log/10/curl131.out --include --trace-ascii log/10/trace131 --trace-time --netrc-optional --netrc-file log/10/netrc131 ftp://user2@127.0.0.1:41693/ > log/10/stdout131 2> log/10/stderr131 131: 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 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/10/valgrind131 ../src/curl -q --output log/10/curl131.out --include --trace-ascii log/10/trace131 --trace-time --netrc-optional --netrc-file log/10/netrc131 ftp://user2@127.0.0.1:41693/ > log/10/stdout131 2> log/10/stderr131 === End of file commands.log === Start of file ftp_server.log 17:49:15.528080 ====> Client connect 17:49:15.528264 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.528630 < "USER anonymous" 17:49:15.528668 > "331 We are happy you popped in![CR][LF]" 17:49:15.528840 < "PASS ftp@example.com" 17:49:15.528867 > "230 Welcome you silly person[CR][LF]" 17:49:15.529056 < "PWD" 17:49:15.529109 > "257 "/" is current directory[CR][LF]" 17:49:15.529314 < "EPSV" 17:49:15.529344 ====> Passive DATA channel requested by client 17:49:15.529358 DATA sockfilt for passive data channel starting... 17:49:15.531608 DATA sockfilt for passive data channel started (pid 82835) 17:49:15.531732 DATA sockfilt for passive data channel listens on port 45117 17:49:15.531784 > "229 Entering Passive Mode (|||45117|)[CR][LF]" 17:49:15.531804 Client has been notified that DATA conn will be accepted on port 45117 17:49:15.532049 Client connects to port 45117 17:49:15.532082 ====> Client established passive DATA connection on port 45117 17:49:15.532174 < "TYPE I" 17:49:15.532204 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.532373 < "SIZE verifiedserver" 17:49:15.532410 > "213 17[CR][LF]" 17:49:15.532572 < "RETR verifiedserver" 17:49:15.532607 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.532693 =====> Closing passive DATA connection... 17:49:15.532711 Server disconnects passive DATA connection 17:49:15.532932 Server disconnected passive DATA connection 17:49:15.532962 DATA sockfilt for passive data channel quits (pid 82835) 17:49:15.533174 DATA sockfilt for passive data channel quit (pid 82835) 17:49:15.533201 =====> Closed passive DATA connection 17:49:15.533235 > "226 File transfer complete[CR][LF]" 17:49:15.577589 < "QUIT" 17:49:15.577642 > "221 bye bye baby[CR][LF]" 17:49:15.578922 MAIN sockfilt said DISC 17:49:15.578951 ====> Client disconnected 17:49:15.579024 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.374156 ====> Client connect 17:49:15.374464 Received DATA (on stdin) 17:49:15.374478 > 146 bytes data, server => client 17:49:15.374489 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.374500 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.374509 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.374580 < 16 bytes data, client => server 17:49:15.374592 'USER anonymous\r\n' 17:49:15.374860 Received DATA (on stdin) 17:49:15.374873 > 33 bytes data, server => client 17:49:15.374884 '331 We are happy you popped in!\r\n' 17:49:15.374940 < 22 bytes data, client => server 17:49:15.374950 'PASS ftp@example.com\r\n' 17:49:15.375055 Received DATA (on stdin) 17:49:15.375065 > 30 bytes data, server => client 17:49:15.375076 '230 Welcome you silly person\r\n' 17:49:15.375121 < 5 bytes data, client => server 17:49:15.375130 'PWD\r\n' 17:49:15.375304 Received DATA (on stdin) 17:49:15.375321 > 30 bytes data, server => client 17:49:15.375331 '257 "/" is current directory\r\n' 17:49:15.375410 < 6 bytes data, client => server 17:49:15.375420 'EPSV\r\n' 17:49:15.378001 Received DATA (on stdin) 17:49:15.378016 > 39 bytes data, server => client 17:49:15.378027 '229 Entering Passive Mode (|||45117|)\r\n' 17:49:15.378188 < 8 bytes data, client => server 17:49:15.378199 'TYPE I\r\n' 17:49:15.378396 Received DATA (on stdin) 17:49:15.378408 > 33 bytes data, server => client 17:49:15.378418 '200 I modify TYPE as you wanted\r\n' 17:49:15.378470 < 21 bytes data, client => server 17:49:15.378483 'SIZE verifiedserver\r\n' 17:49:15.378602 Received DATA (on stdin) 17:49:15.378614 > 8 bytes data, server => client 17:49:15.378623 '213 17\r\n' 17:49:15.378673 < 21 bytes data, client => server 17:49:15.378684 'RETR verifiedserver\r\n' 17:49:15.378902 Received DATA (on stdin) 17:49:15.378914 > 29 bytes data, server => client 17:49:15.378924 '150 Binary junk (17 bytes).\r\n' 17:49:15.379427 Received DATA (on stdin) 17:49:15.379439 > 28 bytes data, server => client 17:49:15.379449 '226 File transfer complete\r\n' 17:49:15.423611 < 6 bytes data, client => server 17:49:15.423633 'QUIT\r\n' 17:49:15.423835 Received DATA (on stdin) 17:49:15.423846 > 18 bytes data, server => client 17:49:15.423857 '221 bye bye baby\r\n' 17:49:15.425050 ====> Client disconnect 17:49:15.425218 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.377597 Running IPv4 version 17:49:15.377669 Listening on port 45117 17:49:15.377712 Wrote pid 82835 to log/10/server/ftp_sockdata.pid 17:49:15.377733 Received PING (on stdin) 17:49:15.377832 Received PORT (on stdin) 17:49:15.378159 ====> Client connect 17:49:15.378950 Received DATA (on stdin) 17:49:15.378963 > 17 bytes data, server => client 17:49:15.378973 'WE ROOLZ: 81055\r\n' 17:49:15.378996 Received DISC (on stdin) 17:49:15.379007 ====> Client forcibly disconnected 17:49:15.379159 Received QUIT (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/5/valgrind132 ../src/curl -q --output log/5/curl132.out --include --trace-ascii log/5/trace132 --trace-time --netrc-optional --netrc-file log/5/netrc132 ftp://mary:mark@127.0.0.1:34559/ > log/5/stdout132 2> log/5/stderr132 CMD (33792): ../libtool --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/valgrind134 ../src/curl -q --output log/6/curl134.out --include --trace-ascii log/6/trace134 --trace-time --netrc-optional --netrc-file log/6/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:36757/ > log/6/stdout134 2> log/6/stderr134 in) 17:49:15.379171 quits 17:49:15.379228 ============> 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 ==82855== ==82855== Process terminating with default action of signal 4 (SIGILL) ==82855== Illegal opcode at address 0x4014520 ==82855== at 0x4014520: getparameter (tool_getparam.c:2862) ==82855== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==82855== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==82855== by 0x4003728: main (tool_main.c:186) === End of file valgrind131 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/5/valgrind132 ../src/curl -q --output log/5/curl132.out --include --trace-ascii log/5/trace132 --trace-time --netrc-optional --netrc-file log/5/netrc132 ftp://mary:mark@127.0.0.1:34559/ > log/5/stdout132 2> log/5/stderr132 132: 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 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/5/valgrind132 ../src/curl -q --output log/5/curl132.out --include --trace-ascii log/5/trace132 --trace-time --netrc-optional --netrc-file log/5/netrc132 ftp://mary:mark@127.0.0.1:34559/ > log/5/stdout132 2> log/5/stderr132 === End of file commands.log === Start of file ftp_server.log 17:49:15.643656 ====> Client connect 17:49:15.643836 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.644132 < "USER anonymous" 17:49:15.644181 > "331 We are happy you popped in![CR][LF]" 17:49:15.644372 < "PASS ftp@example.com" 17:49:15.644404 > "230 Welcome you silly person[CR][LF]" 17:49:15.644935 < "PWD" 17:49:15.645006 > "257 "/" is current directory[CR][LF]" 17:49:15.645272 < "EPSV" 17:49:15.645318 ====> Passive DATA channel requested by client 17:49:15.645336 DATA sockfilt for passive data channel starting... 17:49:15.647183 DATA sockfilt for passive data channel started (pid 82986) 17:49:15.647315 DATA sockfilt for passive data channel listens on port 42263 17:49:15.647376 > "229 Entering Passive Mode (|||42263|)[CR][LF]" 17:49:15.647396 Client has been notified that DATA conn will be accepted on port 42263 17:49:15.647674 Client connects to port 42263 17:49:15.647709 ====> Client established passive DATA connection on port 42263 17:49:15.647806 < "TYPE I" 17:49:15.647847 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.648045 < "SIZE verifiedserver" 17:49:15.648088 > "213 17[CR][LF]" 17:49:15.648260 < "RETR verifiedserver" 17:49:15.648298 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.648387 =====> Closing passive DATA connection... 17:49:15.648408 Server disconnects passive DATA connection 17:49:15.648671 Server disconnected passive DATA connection 17:49:15.648704 DATA sockfilt for passive data channel quits (pid 82986) 17:49:15.649011 DATA sockfilt for passive data channel quit (pid 82986) 17:49:15.649039 =====> Closed passive DATA connection 17:49:15.649071 > "226 File transfer complete[CR][LF]" 17:49:15.696889 < "QUIT" 17:49:15.696950 > "221 bye bye baby[CR][LF]" 17:49:15.698188 MAIN sockfilt said DISC 17:49:15.698219 ====> Client disconnected 17:49:15.698308 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.489726 ====> Client connect 17:49:15.490036 Received DATA (on stdin) 17:49:15.490049 > 146 bytes data, server => client 17:49:15.490061 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.490071 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.490079 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.490160 < 16 bytes data, client => server 17:49:15.490171 'USER anonymous\r\n' 17:49:15.490375 Received DATA (on stdin) 17:49:15.490388 > 33 bytes data, server => client 17:49:15.490399 '331 We are happy you popped in!\r\n' 17:49:15.490456 < 22 bytes data, client => server 17:49:15.490467 'PASS ftp@example.com\r\n' 17:49:15.490598 Received DATA (on stdin) 17:49:15.490611 > 30 bytes data, server => client 17:49:15.490621 '230 Welcome you silly person\r\n' 17:49:15.490980 < 5 bytes data, client => server 17:49:15.490996 'PWD\r\n' 17:49:15.491211 Received DATA (on stdin) 17:49:15.491229 > 30 bytes data, server => client 17:49:15.491240 '257 "/" is current directory\r\n' 17:49:15.491343 < 6 bytes data, client => server 17:49:15.491359 'EPSV\r\n' 17:49:15.493596 Received DATA (on stdin) 17:49:15.493612 > 39 bytes data, server => client 17:49:15.493624 '229 Entering Passive Mode (|||42263|)\r\n' 17:49:15.493808 < 8 bytes data, client => server 17:49:15.493821 'TYPE I\r\n' 17:49:15.494043 Received DATA (on stdin) 17:49:15.494056 > 33 bytes data, server => client 17:49:15.494068 '200 I modify TYPE as you wanted\r\n' 17:49:15.494130 < 21 bytes data, client => server 17:49:15.494144 'SIZE verifiedserver\r\n' 17:49:15.494281 Received DATA (on stdin) 17:49:15.494293 > 8 bytes data, server => client 17:49:15.494303 '213 17\r\n' 17:49:15.494357 < 21 bytes data, client => server 17:49:15.494368 'RETR verifiedserver\r\n' 17:49:15.494600 Received DATA (on stdin) 17:49:15.494612 > 29 bytes data, server => client 17:49:15.494623 '150 Binary junk (17 bytes).\r\n' 17:49:15.495263 Received DATA (on stdin) 17:49:15.495275 > 28 bytes data, server => client 17:49:15.495286 '226 File transfer complete\r\n' 17:49:15.542871 < 6 bytes data, client => server 17:49:15.542909 'QUIT\r\n' 17:49:15.543145 Received DATA (on stdin) 17:49:15.543157 > 18 bytes data, server => client 17:49:15.543168 '221 bye bye baby\r\n' 17:49:15.544319 ====> Client disconnect 17:49:15.544497 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.493161 Running IPv4 version 17:49:15.493244 Listening on port 42263 17:49:15.493292 Wrote pid 82986 to log/5/server/ftp_sockdata.pid 17:49:15.493313 Received PING (on stdin) 17:49:15.493410 Received PORT (on stdin) 17:49:15.493778 ====> Client connect 17:49:15.494651 Received DATA (on stdin) 17:49:15.494664 > 17 bytes data, server => client 17:49:15.494674 'WE ROOLZ: 81078\r\n' 17:49:15.494705 Received DISC (on stdin) 17:49:15.494717 ====> Client forcibly disconnected 17:49:15.494907 Received QUIT (on stdin) 17:49:15.494919 quits 17:49:15.494992 ============> 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 ==83008== ==83008== Process terminating with default action of signal 4 (SIGILL) ==83008== Illegal opcode at address 0x4014520 ==83008== at 0x4014520: getparameter (tool_getparam.c:2862) ==83008== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83008== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83008== by 0x4003728: main (tool_main.c:186) === End of file valgrind132 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/6/valgrind134 ../src/curl -q --output log/6/curl134.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/22/valgrind133 ../src/curl -q --output log/22/curl133.out --include --trace-ascii log/22/trace133 --trace-time -n --netrc-file log/22/netrc133 ftp://mary:mark@127.0.0.1:44871/ > log/22/stdout133 2> log/22/stderr133 g/6/trace134 --trace-time --netrc-optional --netrc-file log/6/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:36757/ > log/6/stdout134 2> log/6/stderr134 134: 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 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/6/valgrind134 ../src/curl -q --output log/6/curl134.out --include --trace-ascii log/6/trace134 --trace-time --netrc-optional --netrc-file log/6/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:36757/ > log/6/stdout134 2> log/6/stderr134 === End of file commands.log === Start of file ftp_server.log 17:49:15.655036 ====> Client connect 17:49:15.655233 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.655570 < "USER anonymous" 17:49:15.655619 > "331 We are happy you popped in![CR][LF]" 17:49:15.655815 < "PASS ftp@example.com" 17:49:15.655849 > "230 Welcome you silly person[CR][LF]" 17:49:15.656035 < "PWD" 17:49:15.656084 > "257 "/" is current directory[CR][LF]" 17:49:15.656282 < "EPSV" 17:49:15.656320 ====> Passive DATA channel requested by client 17:49:15.656338 DATA sockfilt for passive data channel starting... 17:49:15.658681 DATA sockfilt for passive data channel started (pid 83000) 17:49:15.658820 DATA sockfilt for passive data channel listens on port 37571 17:49:15.658874 > "229 Entering Passive Mode (|||37571|)[CR][LF]" 17:49:15.658893 Client has been notified that DATA conn will be accepted on port 37571 17:49:15.659174 Client connects to port 37571 17:49:15.659204 ====> Client established passive DATA connection on port 37571 17:49:15.659291 < "TYPE I" 17:49:15.659326 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.659494 < "SIZE verifiedserver" 17:49:15.659533 > "213 17[CR][LF]" 17:49:15.659691 < "RETR verifiedserver" 17:49:15.659728 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.659811 =====> Closing passive DATA connection... 17:49:15.659826 Server disconnects passive DATA connection 17:49:15.659987 Server disconnected passive DATA connection 17:49:15.660020 DATA sockfilt for passive data channel quits (pid 83000) 17:49:15.660286 DATA sockfilt for passive data channel quit (pid 83000) 17:49:15.660308 =====> Closed passive DATA connection 17:49:15.660339 > "226 File transfer complete[CR][LF]" 17:49:15.700313 < "QUIT" 17:49:15.700370 > "221 bye bye baby[CR][LF]" 17:49:15.701714 MAIN sockfilt said DISC 17:49:15.701764 ====> Client disconnected 17:49:15.701852 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.501095 ====> Client connect 17:49:15.501444 Received DATA (on stdin) 17:49:15.501462 > 146 bytes data, server => client 17:49:15.501474 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.501484 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.501494 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.501577 < 16 bytes data, client => server 17:49:15.501592 'USER anonymous\r\n' 17:49:15.501815 Received DATA (on stdin) 17:49:15.501828 > 33 bytes data, server => client 17:49:15.501838 '331 We are happy you popped in!\r\n' 17:49:15.501893 < 22 bytes data, client => server 17:49:15.501906 'PASS ftp@example.com\r\n' 17:49:15.502040 Received DATA (on stdin) 17:49:15.502052 > 30 bytes data, server => client 17:49:15.502063 '230 Welcome you silly person\r\n' 17:49:15.502116 < 5 bytes data, client => server 17:49:15.502129 'PWD\r\n' 17:49:15.502278 Received DATA (on stdin) 17:49:15.502290 > 30 bytes data, server => client 17:49:15.502301 '257 "/" is current directory\r\n' 17:49:15.502365 < 6 bytes data, client => server 17:49:15.502379 'EPSV\r\n' 17:49:15.505090 Received DATA (on stdin) 17:49:15.505104 > 39 bytes data, server => client 17:49:15.505116 '229 Entering Passive Mode (|||37571|)\r\n' 17:49:15.505312 < 8 bytes data, client => server 17:49:15.505324 'TYPE I\r\n' 17:49:15.505516 Received DATA (on stdin) 17:49:15.505527 > 33 bytes data, server => client 17:49:15.505537 '200 I modify TYPE as you wanted\r\n' 17:49:15.505590 < 21 bytes data, client => server 17:49:15.505602 'SIZE verifiedserver\r\n' 17:49:15.505720 Received DATA (on stdin) 17:49:15.505731 > 8 bytes data, server => client 17:49:15.505740 '213 17\r\n' 17:49:15.505789 < 21 bytes data, client => server 17:49:15.505800 'RETR verifiedserver\r\n' 17:49:15.505987 Received DATA (on stdin) 17:49:15.505998 > 29 bytes data, server => client 17:49:15.506008 '150 Binary junk (17 bytes).\r\n' 17:49:15.506529 Received DATA (on stdin) 17:49:15.506541 > 28 bytes data, server => client 17:49:15.506552 '226 File transfer complete\r\n' 17:49:15.546323 < 6 bytes data, client => server 17:49:15.546358 'QUIT\r\n' 17:49:15.546564 Received DATA (on stdin) 17:49:15.546577 > 18 bytes data, server => client 17:49:15.546587 '221 bye bye baby\r\n' 17:49:15.547818 ====> Client disconnect 17:49:15.548046 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.504641 Running IPv4 version 17:49:15.504738 Listening on port 37571 17:49:15.504780 Wrote pid 83000 to log/6/server/ftp_sockdata.pid 17:49:15.504801 Received PING (on stdin) 17:49:15.504912 Received PORT (on stdin) 17:49:15.505283 ====> Client connect 17:49:15.505927 Received DATA (on stdin) 17:49:15.505941 > 17 bytes data, server => client 17:49:15.505951 'WE ROOLZ: 81072\r\n' 17:49:15.506102 Received DISC (on stdin) 17:49:15.506117 ====> Client forcibly disconnected 17:49:15.506216 Received QUIT (on stdin) 17:49:15.506226 quits 17:49:15.506296 ============> 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 ==83010== ==83010== Process terminating with default action of signal 4 (SIGILL) ==83010== Illegal opcode at address 0x4014520 ==83010== at 0x4014520: getparameter (tool_getparam.c:2862) ==83010== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83010== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83010== by 0x4003728: main (tool_main.c:186) === End of file valgrind134 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/22/valgrind133 ../src/curl -q --output log/22/curl133.out --include --trace-ascii log/22/trace133 --trace-time -n --netrc-file log/22/netrc133 ftp://mary:mark@127.0.0.1:44871/ > log/22/stdout133 2> log/22/stderr133 133: 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 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/22/valgrind133 ../src/curl -q --output log/22/curl133.out --include --trace-ascii log/22/trace133 --trace-time -n --netrc-file log/22/netrc133 ftp://mary:mark@127.0.0.1:44871/ > log/22/stdout133 2> log/22/stderr133 === End of file commands.log === Start of file ftp_server.log 17:49:15.648355 ====> Client connect 17:49:15.648544 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.648889 < "USER anonymous" 17:49:15.648946 > "331 We are happy you popped 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/14/valgrind135 ../src/curl -q --output log/14/curl135.out --include --trace-ascii log/14/trace135 --trace-time -r 4-16 ftp://127.0.0.1:38643/135 > log/14/stdout135 2> log/14/stderr135 n![CR][LF]" 17:49:15.649193 < "PASS ftp@example.com" 17:49:15.649250 > "230 Welcome you silly person[CR][LF]" 17:49:15.649509 < "PWD" 17:49:15.649565 > "257 "/" is current directory[CR][LF]" 17:49:15.649766 < "EPSV" 17:49:15.649810 ====> Passive DATA channel requested by client 17:49:15.649828 DATA sockfilt for passive data channel starting... 17:49:15.651860 DATA sockfilt for passive data channel started (pid 82995) 17:49:15.651994 DATA sockfilt for passive data channel listens on port 41733 17:49:15.652052 > "229 Entering Passive Mode (|||41733|)[CR][LF]" 17:49:15.652071 Client has been notified that DATA conn will be accepted on port 41733 17:49:15.652305 Client connects to port 41733 17:49:15.652336 ====> Client established passive DATA connection on port 41733 17:49:15.652441 < "TYPE I" 17:49:15.652479 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.652641 < "SIZE verifiedserver" 17:49:15.652678 > "213 17[CR][LF]" 17:49:15.652822 < "RETR verifiedserver" 17:49:15.652853 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.652931 =====> Closing passive DATA connection... 17:49:15.652947 Server disconnects passive DATA connection 17:49:15.653155 Server disconnected passive DATA connection 17:49:15.653180 DATA sockfilt for passive data channel quits (pid 82995) 17:49:15.653465 DATA sockfilt for passive data channel quit (pid 82995) 17:49:15.653497 =====> Closed passive DATA connection 17:49:15.653530 > "226 File transfer complete[CR][LF]" 17:49:15.700527 < "QUIT" 17:49:15.700583 > "221 bye bye baby[CR][LF]" 17:49:15.705133 MAIN sockfilt said DISC 17:49:15.705192 ====> Client disconnected 17:49:15.705274 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.494429 ====> Client connect 17:49:15.494750 Received DATA (on stdin) 17:49:15.494768 > 146 bytes data, server => client 17:49:15.494779 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.494790 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.494800 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.494886 < 16 bytes data, client => server 17:49:15.494900 'USER anonymous\r\n' 17:49:15.495141 Received DATA (on stdin) 17:49:15.495154 > 33 bytes data, server => client 17:49:15.495166 '331 We are happy you popped in!\r\n' 17:49:15.495222 < 22 bytes data, client => server 17:49:15.495234 'PASS ftp@example.com\r\n' 17:49:15.495451 Received DATA (on stdin) 17:49:15.495469 > 30 bytes data, server => client 17:49:15.495481 '230 Welcome you silly person\r\n' 17:49:15.495571 < 5 bytes data, client => server 17:49:15.495583 'PWD\r\n' 17:49:15.495760 Received DATA (on stdin) 17:49:15.495773 > 30 bytes data, server => client 17:49:15.495783 '257 "/" is current directory\r\n' 17:49:15.495851 < 6 bytes data, client => server 17:49:15.495861 'EPSV\r\n' 17:49:15.498268 Received DATA (on stdin) 17:49:15.498282 > 39 bytes data, server => client 17:49:15.498293 '229 Entering Passive Mode (|||41733|)\r\n' 17:49:15.498415 < 8 bytes data, client => server 17:49:15.498429 'TYPE I\r\n' 17:49:15.498669 Received DATA (on stdin) 17:49:15.498680 > 33 bytes data, server => client 17:49:15.498691 '200 I modify TYPE as you wanted\r\n' 17:49:15.498746 < 21 bytes data, client => server 17:49:15.498755 'SIZE verifiedserver\r\n' 17:49:15.498865 Received DATA (on stdin) 17:49:15.498876 > 8 bytes data, server => client 17:49:15.498885 '213 17\r\n' 17:49:15.498930 < 21 bytes data, client => server 17:49:15.498941 'RETR verifiedserver\r\n' 17:49:15.499216 Received DATA (on stdin) 17:49:15.499227 > 29 bytes data, server => client 17:49:15.499237 '150 Binary junk (17 bytes).\r\n' 17:49:15.499719 Received DATA (on stdin) 17:49:15.499731 > 28 bytes data, server => client 17:49:15.499741 '226 File transfer complete\r\n' 17:49:15.546275 < 6 bytes data, client => server 17:49:15.547078 'QUIT\r\n' 17:49:15.547377 Received DATA (on stdin) 17:49:15.547393 > 18 bytes data, server => client 17:49:15.547405 '221 bye bye baby\r\n' 17:49:15.550760 ====> Client disconnect 17:49:15.551470 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.497815 Running IPv4 version 17:49:15.497879 Listening on port 41733 17:49:15.497952 Wrote pid 82995 to log/22/server/ftp_sockdata.pid 17:49:15.497975 Received PING (on stdin) 17:49:15.498089 Received PORT (on stdin) 17:49:15.498449 ====> Client connect 17:49:15.499136 Received DATA (on stdin) 17:49:15.499149 > 17 bytes data, server => client 17:49:15.499159 'WE ROOLZ: 81056\r\n' 17:49:15.499184 Received DISC (on stdin) 17:49:15.499194 ====> Client forcibly disconnected 17:49:15.499377 Received QUIT (on stdin) 17:49:15.499388 quits 17:49:15.499455 ============> 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 ==83181== ==83181== Process terminating with default action of signal 4 (SIGILL) ==83181== Illegal opcode at address 0x4014520 ==83181== at 0x4014520: getparameter (tool_getparam.c:2862) ==83181== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83181== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83181== by 0x4003728: main (tool_main.c:186) === End of file valgrind133 test 0135...[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/14/valgrind135 ../src/curl -q --output log/14/curl135.out --include --trace-ascii log/14/trace135 --trace-time -r 4-16 ftp://127.0.0.1:38643/135 > log/14/stdout135 2> log/14/stderr135 135: 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 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/14/valgrind135 ../src/curl -q --output log/14/curl135.out --include --trace-ascii log/14/trace135 --trace-time -r 4-16 ftp://127.0.0.1:38643/135 > log/14/stdout135 2> log/14/stderr135 === End of file commands.log === Start of file ftp_server.log 17:49:15.749979 ====> Client connect 17:49:15.750161 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.750456 < "USER anonymous" 17:49:15.750497 > "331 We are happy you popped in![CR][LF]" 17:49:15.750674 < "PASS ftp@example.com" 17:49:15.750704 > "230 Welcome you silly person[CR][LF]" 17:49:15.750864 < "PWD" 17:49:15.750893 > "257 "/" is current directory[CR][LF]" 17:49:15.751053 < "EPSV" 17:49:15.751083 ====> Passive DATA channel requested by client 17:49:15.751096 DATA sockfilt for passive data channel starting... 17:49:15.752624 DATA sockfilt for passive data channel started (pid 83149) 17:49:15.752731 DATA sockfilt for passive data channel listens on port 39233 17:49:15.752776 > "229 Entering Passive Mode (|||39233|)[CR][LF]" 17:49:15.752796 Client has been notified that DATA conn will be accepted on port 39233 17:49:15.753015 Client connects to port 39233 17:49:15.753042 ====> Client established passive DATA connection on port 39233 17:49:15.753113 < "TYPE I" 17:49:15.753144 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.753313 < "SIZE verifiedserver" 17:49:15.753365 > "213 17[CR][LF]" 17:49:15.753535 < "RETR verifiedserver" 17:49:15.753568 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.753655 =====> Closing passive DATA connection... 17:49:15.753673 Server disconnects passive DATA connection 17:49:15.753872 Server disconnected passive DATA connection 17:49:15.753898 DATA sockfilCMD (33792): ../libtool --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/valgrind138 ../src/curl -q --output log/3/curl138.out --include --trace-ascii log/3/trace138 --trace-time ftp://127.0.0.1:35383/blalbla/lululul/138 > log/3/stdout138 2> log/3/stderr138 CMD (33792): ../libtool --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/valgrind137 ../src/curl -q --output log/16/curl137.out --include --trace-ascii log/16/trace137 --trace-time ftp://127.0.0.1:39205/blalbla/lululul/137 > log/16/stdout137 2> log/16/stderr137 t for passive data channel quits (pid 83149) 17:49:15.754120 DATA sockfilt for passive data channel quit (pid 83149) 17:49:15.754146 =====> Closed passive DATA connection 17:49:15.754176 > "226 File transfer complete[CR][LF]" 17:49:15.800368 < "QUIT" 17:49:15.800419 > "221 bye bye baby[CR][LF]" 17:49:15.801995 MAIN sockfilt said DISC 17:49:15.802040 ====> Client disconnected 17:49:15.802133 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.596057 ====> Client connect 17:49:15.596359 Received DATA (on stdin) 17:49:15.596371 > 146 bytes data, server => client 17:49:15.596380 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.596389 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.596396 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.596468 < 16 bytes data, client => server 17:49:15.596481 'USER anonymous\r\n' 17:49:15.596689 Received DATA (on stdin) 17:49:15.596701 > 33 bytes data, server => client 17:49:15.596712 '331 We are happy you popped in!\r\n' 17:49:15.596765 < 22 bytes data, client => server 17:49:15.596778 'PASS ftp@example.com\r\n' 17:49:15.596893 Received DATA (on stdin) 17:49:15.596905 > 30 bytes data, server => client 17:49:15.596915 '230 Welcome you silly person\r\n' 17:49:15.596966 < 5 bytes data, client => server 17:49:15.596978 'PWD\r\n' 17:49:15.597081 Received DATA (on stdin) 17:49:15.597091 > 30 bytes data, server => client 17:49:15.597101 '257 "/" is current directory\r\n' 17:49:15.597158 < 6 bytes data, client => server 17:49:15.597169 'EPSV\r\n' 17:49:15.598992 Received DATA (on stdin) 17:49:15.599004 > 39 bytes data, server => client 17:49:15.599015 '229 Entering Passive Mode (|||39233|)\r\n' 17:49:15.599155 < 8 bytes data, client => server 17:49:15.599165 'TYPE I\r\n' 17:49:15.599336 Received DATA (on stdin) 17:49:15.599348 > 33 bytes data, server => client 17:49:15.599358 '200 I modify TYPE as you wanted\r\n' 17:49:15.599411 < 21 bytes data, client => server 17:49:15.599423 'SIZE verifiedserver\r\n' 17:49:15.599560 Received DATA (on stdin) 17:49:15.599572 > 8 bytes data, server => client 17:49:15.599582 '213 17\r\n' 17:49:15.599635 < 21 bytes data, client => server 17:49:15.599646 'RETR verifiedserver\r\n' 17:49:15.599861 Received DATA (on stdin) 17:49:15.599871 > 29 bytes data, server => client 17:49:15.599879 '150 Binary junk (17 bytes).\r\n' 17:49:15.600365 Received DATA (on stdin) 17:49:15.600377 > 28 bytes data, server => client 17:49:15.600387 '226 File transfer complete\r\n' 17:49:15.646350 < 6 bytes data, client => server 17:49:15.646385 'QUIT\r\n' 17:49:15.646616 Received DATA (on stdin) 17:49:15.646628 > 18 bytes data, server => client 17:49:15.646638 '221 bye bye baby\r\n' 17:49:15.647945 ====> Client disconnect 17:49:15.648326 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.598640 Running IPv4 version 17:49:15.598695 Listening on port 39233 17:49:15.598736 Wrote pid 83149 to log/14/server/ftp_sockdata.pid 17:49:15.598755 Received PING (on stdin) 17:49:15.598836 Received PORT (on stdin) 17:49:15.599130 ====> Client connect 17:49:15.599901 Received DATA (on stdin) 17:49:15.599913 > 17 bytes data, server => client 17:49:15.599923 'WE ROOLZ: 81129\r\n' 17:49:15.599943 Received DISC (on stdin) 17:49:15.599953 ====> Client forcibly disconnected 17:49:15.600092 Received QUIT (on stdin) 17:49:15.600103 quits 17:49:15.600157 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 135 === End of file server.cmd === Start of file valgrind135 ==83237== ==83237== Process terminating with default action of signal 4 (SIGILL) ==83237== Illegal opcode at address 0x4014520 ==83237== at 0x4014520: getparameter (tool_getparam.c:2862) ==83237== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83237== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83237== by 0x4003728: main (tool_main.c:186) === End of file valgrind135 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/3/valgrind138 ../src/curl -q --output log/3/curl138.out --include --trace-ascii log/3/trace138 --trace-time ftp://127.0.0.1:35383/blalbla/lululul/138 > log/3/stdout138 2> log/3/stderr138 138: 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 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/3/valgrind138 ../src/curl -q --output log/3/curl138.out --include --trace-ascii log/3/trace138 --trace-time ftp://127.0.0.1:35383/blalbla/lululul/138 > log/3/stdout138 2> log/3/stderr138 === End of file commands.log === Start of file ftp_server.log 17:49:15.763190 ====> Client connect 17:49:15.763391 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.763754 < "USER anonymous" 17:49:15.763791 > "331 We are happy you popped in![CR][LF]" 17:49:15.763946 < "PASS ftp@example.com" 17:49:15.763971 > "230 Welcome you silly person[CR][LF]" 17:49:15.764104 < "PWD" 17:49:15.764134 > "257 "/" is current directory[CR][LF]" 17:49:15.764281 < "EPSV" 17:49:15.764311 ====> Passive DATA channel requested by client 17:49:15.764326 DATA sockfilt for passive data channel starting... 17:49:15.766046 DATA sockfilt for passive data channel started (pid 83178) 17:49:15.766160 DATA sockfilt for passive data channel listens on port 43581 17:49:15.766200 > "229 Entering Passive Mode (|||43581|)[CR][LF]" 17:49:15.766216 Client has been notified that DATA conn will be accepted on port 43581 17:49:15.766423 Client connects to port 43581 17:49:15.766447 ====> Client established passive DATA connection on port 43581 17:49:15.766514 < "TYPE I" 17:49:15.766540 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.766675 < "SIZE verifiedserver" 17:49:15.766715 > "213 17[CR][LF]" 17:49:15.766874 < "RETR verifiedserver" 17:49:15.766907 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.767002 =====> Closing passive DATA connection... 17:49:15.767021 Server disconnects passive DATA connection 17:49:15.767251 Server disconnected passive DATA connection 17:49:15.767281 DATA sockfilt for passive data channel quits (pid 83178) 17:49:15.767540 DATA sockfilt for passive data channel quit (pid 83178) 17:49:15.767564 =====> Closed passive DATA connection 17:49:15.767593 > "226 File transfer complete[CR][LF]" 17:49:15.813675 < "QUIT" 17:49:15.813730 > "221 bye bye baby[CR][LF]" 17:49:15.814988 MAIN sockfilt said DISC 17:49:15.815032 ====> Client disconnected 17:49:15.815109 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.609278 ====> Client connect 17:49:15.609595 Received DATA (on stdin) 17:49:15.609610 > 146 bytes data, server => client 17:49:15.609622 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.609632 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.609642 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.609732 < 16 bytes data, client => server 17:49:15.609746 'USER anonymous\r\n' 17:49:15.609981 Received DATA (on stdin) 17:49:15.609992 > 33 bytes data, server => client 17:49:15.610002 '331 We are happy you popped in!\r\n' 17:49:15.610050 < 22 bytes data, client => server 17:49:15.610060 'PASS ftp@example.com\r\n' 17:49:15.610156 Received DATA (on stdin) 17:49:15.610166 > 30 bytes data, server => client 17:49:15.610175 '230 Welcome you silly person\r\n' 17:49:15.610216 < 5 bytes data, client => server 17:49:15.610226 'PWD\r\n' 17:49:15.610320 Received DATA (on stdin) 17:49:15.610330 > 30 bytes data, server => client 17:49:15.610340 '257 "/" is current directory\r\n' 17:49:15.610390 < 6 bytes data, client => server 17:49:15.610400 'EPSV\r\n' 17:49:15.612408 Received DATA (on stdin) 17:49:15.612420 > 39 bytes data, server => client 17:49:15.612428 '229 Entering Passive Mode (|||43581|)\r\n' 17:49:15.612543 < 8 bytes data, client => server 17:49:15.612554 'TYPE I\r\n' 17:49:15.612724 Received DATA (on stdin) 17:49:15.612734 > 33 bytes data, server => client 17:49:15.612743 '200 I modify TYPE as you wanted\r\n' 17:49:15.612784 < 21 bytes data, client => server 17:49:15.612792 'SIZE verifiedserver\r\n' 17:49:15.612907 Received DATA (on stdin) 17:49:15.612919 > 8 bytes data, server => client 17:49:15.612929 '213 17\r\n' 17:49:15.612980 < 21 bytes data, client => server 17:49:15.612991 'RETR verifiedserver\r\n' 17:49:15.613211 Received DATA (on stdin) 17:49:15.613223 > 29 bytes data, server => client 17:49:15.613233 '150 Binary junk (17 bytes).\r\n' 17:49:15.613780 Received DATA (on stdin) 17:49:15.613791 > 28 bytes data, server => client 17:49:15.613799 '226 File transfer complete\r\n' 17:49:15.659690 < 6 bytes data, client => server 17:49:15.659716 'QUIT\r\n' 17:49:15.659930 Received DATA (on stdin) 17:49:15.659944 > 18 bytes data, server => client 17:49:15.659954 '221 bye bye baby\r\n' 17:49:15.661106 ====> Client disconnect 17:49:15.661302 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.612060 Running IPv4 version 17:49:15.612119 Listening on port 43581 17:49:15.612165 Wrote pid 83178 to log/3/server/ftp_sockdata.pid 17:49:15.612183 Received PING (on stdin) 17:49:15.612266 Received PORT (on stdin) 17:49:15.612570 ====> Client connect 17:49:15.613260 Received DATA (on stdin) 17:49:15.613273 > 17 bytes data, server => client 17:49:15.613283 'WE ROOLZ: 81126\r\n' 17:49:15.613307 Received DISC (on stdin) 17:49:15.613318 ====> Client forcibly disconnected 17:49:15.613481 Received QUIT (on stdin) 17:49:15.613493 quits 17:49:15.613566 ============> 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 ==83257== ==83257== Process terminating with default action of signal 4 (SIGILL) ==83257== Illegal opcode at address 0x4014520 ==83257== at 0x4014520: getparameter (tool_getparam.c:2862) ==83257== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83257== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83257== by 0x4003728: main (tool_main.c:186) === 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/16/valgrind137 ../src/curl -q --output log/16/curl137.out --include --trace-ascii log/16/trace137 --trace-time ftp://127.0.0.1:39205/blalbla/lululul/137 > log/16/stdout137 2> log/16/stderr137 137: 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 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/16/valgrind137 ../src/curl -q --output log/16/curl137.out --include --trace-ascii log/16/trace137 --trace-time ftp://127.0.0.1:39205/blalbla/lululul/137 > log/16/stdout137 2> log/16/stderr137 === End of file commands.log === Start of file ftp_server.log 17:49:15.763786 ====> Client connect 17:49:15.763999 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.764297 < "USER anonymous" 17:49:15.764334 > "331 We are happy you popped in![CR][LF]" 17:49:15.764489 < "PASS ftp@example.com" 17:49:15.764516 > "230 Welcome you silly person[CR][LF]" 17:49:15.764657 < "PWD" 17:49:15.764688 > "257 "/" is current directory[CR][LF]" 17:49:15.764837 < "EPSV" 17:49:15.764868 ====> Passive DATA channel requested by client 17:49:15.764883 DATA sockfilt for passive data channel starting... 17:49:15.766917 DATA sockfilt for passive data channel started (pid 83179) 17:49:15.767047 DATA sockfilt for passive data channel listens on port 39099 17:49:15.767104 > "229 Entering Passive Mode (|||39099|)[CR][LF]" 17:49:15.767122 Client has been notified that DATA conn will be accepted on port 39099 17:49:15.767350 Client connects to port 39099 17:49:15.767399 ====> Client established passive DATA connection on port 39099 17:49:15.767494 < "TYPE I" 17:49:15.767534 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.767776 < "SIZE verifiedserver" 17:49:15.767821 > "213 17[CR][LF]" 17:49:15.768627 < "RETR verifiedserver" 17:49:15.768671 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.768787 =====> Closing passive DATA connection... 17:49:15.768807 Server disconnects passive DATA connection 17:49:15.770113 Server disconnected passive DATA connection 17:49:15.770139 DATA sockfilt for passive data channel quits (pid 83179) 17:49:15.770573 DATA sockfilt for passive data channel quit (pid 83179) 17:49:15.770597 =====> Closed passive DATA connection 17:49:15.770635 > "226 File transfer complete[CR][LF]" 17:49:15.813813 < "QUIT" 17:49:15.813867 > "221 bye bye baby[CR][LF]" 17:49:15.815053 MAIN sockfilt said DISC 17:49:15.815087 ====> Client disconnected 17:49:15.815176 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.609859 ====> Client connect 17:49:15.610202 Received DATA (on stdin) 17:49:15.610216 > 146 bytes data, server => client 17:49:15.610229 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.610241 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.610250 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.610319 < 16 bytes data, client => server 17:49:15.610332 'USER anonymous\r\n' 17:49:15.610523 Received DATA (on stdin) 17:49:15.610534 > 33 bytes data, server => client 17:49:15.610545 '331 We are happy you popped in!\r\n' 17:49:15.610592 < 22 bytes data, client => server 17:49:15.610602 'PASS ftp@example.com\r\n' 17:49:15.610702 Received DATA (on stdin) 17:49:15.610712 > 30 bytes data, server => client 17:49:15.610723 '230 Welcome you silly person\r\n' 17:49:15.610767 < 5 bytes data, client => server 17:49:15.610777 'PWD\r\n' 17:49:15.610875 Received DATA (on stdin) 17:49:15.610885 > 30 bytes data, server => client 17:49:15.610895 '257 "/" is current directory\r\n' 17:49:15.610948 < 6 bytes data, client => server 17:49:15.610958 'EPSV\r\n' 17:49:15.613323 Received DATA (on stdin) 17:49:15.613340 > 39 bytes data, server => client 17:49:15.613351 '229 Entering Passive Mode (|||39099|)\r\n' 17:49:15.613515 < 8 bytes data, client => server 17:49:15.613527 'TYPE I\r\n' 17:49:15.613726 Received DATA (on stdin) 17:49:15.613742 > 33 bytes data, server => client 17:49:15.613753 '200 I modify TYPE as you wanted\r\n' 17:49:15.613834 < 21 bytes data, client => server 17:49:15.613848 'SIZE verifiedserver\r\n' 17:49:15.613990 Received DATA (on stdin) 17:49:15.614003 > 8 bytes data, server => client 17:49:15.614013 '213 17\r\n' 17:49:15.614063 < 21 bytes data, client => server 17:49:15.614074 'RETR verifiedserver\r\n' 17:49:15.614841 Received DATA (on stdin) 17:49:15.614854 > 29 bytes data, server => client 17:49:15.614864 '150 Binary junk (17 bytes).\r\n' 17:49:15.616834 Received DATA (on stdin) 17:49:15.616848 > 28 bytes data, server => client 17:49:15.616858 '226 File transfer complete\r\n' 17:49:15.659812 < 6 bytes data, client => server 17:49:15.659842 'QUIT\r\n' 17:49:15.660060 Received DATA (on stdin) 17:49:15.660073 > 18 bytes data, server => client 17:49:15.660084 '221 bye bye baby\r\n' 17:49:15.661180 =CMD (33792): ../libtool --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/valgrind136 ../src/curl -q --output log/21/curl136.out --include --trace-ascii log/21/trace136 --trace-time -u user: ftp://127.0.0.1:37113/136 > log/21/stdout136 2> log/21/stderr136 CMD (33792): ../libtool --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:39965/blalbla/139 -z "1 jan 1989" > log/1/stdout139 2> log/1/stderr139 ===> Client disconnect 17:49:15.661370 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.612620 Running IPv4 version 17:49:15.612685 Listening on port 39099 17:49:15.612730 Wrote pid 83179 to log/16/server/ftp_sockdata.pid 17:49:15.613038 Received PING (on stdin) 17:49:15.613139 Received PORT (on stdin) 17:49:15.613487 ====> Client connect 17:49:15.616196 Received DATA (on stdin) 17:49:15.616216 > 17 bytes data, server => client 17:49:15.616226 'WE ROOLZ: 81124\r\n' 17:49:15.616255 Received DISC (on stdin) 17:49:15.616264 ====> Client forcibly disconnected 17:49:15.616364 Received QUIT (on stdin) 17:49:15.616388 quits 17:49:15.616510 ============> 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 ==83255== ==83255== Process terminating with default action of signal 4 (SIGILL) ==83255== Illegal opcode at address 0x4014520 ==83255== at 0x4014520: getparameter (tool_getparam.c:2862) ==83255== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83255== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83255== by 0x4003728: main (tool_main.c:186) === End of file valgrind137 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/21/valgrind136 ../src/curl -q --output log/21/curl136.out --include --trace-ascii log/21/trace136 --trace-time -u user: ftp://127.0.0.1:37113/136 > log/21/stdout136 2> log/21/stderr136 136: 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 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/21/valgrind136 ../src/curl -q --output log/21/curl136.out --include --trace-ascii log/21/trace136 --trace-time -u user: ftp://127.0.0.1:37113/136 > log/21/stdout136 2> log/21/stderr136 === End of file commands.log === Start of file ftp_server.log 17:49:15.751345 ====> Client connect 17:49:15.751544 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.751861 < "USER anonymous" 17:49:15.751895 > "331 We are happy you popped in![CR][LF]" 17:49:15.752048 < "PASS ftp@example.com" 17:49:15.752073 > "230 Welcome you silly person[CR][LF]" 17:49:15.752208 < "PWD" 17:49:15.752239 > "257 "/" is current directory[CR][LF]" 17:49:15.752386 < "EPSV" 17:49:15.752417 ====> Passive DATA channel requested by client 17:49:15.752433 DATA sockfilt for passive data channel starting... 17:49:15.754281 DATA sockfilt for passive data channel started (pid 83156) 17:49:15.754390 DATA sockfilt for passive data channel listens on port 41077 17:49:15.754434 > "229 Entering Passive Mode (|||41077|)[CR][LF]" 17:49:15.754453 Client has been notified that DATA conn will be accepted on port 41077 17:49:15.754659 Client connects to port 41077 17:49:15.754685 ====> Client established passive DATA connection on port 41077 17:49:15.754756 < "TYPE I" 17:49:15.754785 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.754935 < "SIZE verifiedserver" 17:49:15.754972 > "213 17[CR][LF]" 17:49:15.755112 < "RETR verifiedserver" 17:49:15.755145 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.755228 =====> Closing passive DATA connection... 17:49:15.755243 Server disconnects passive DATA connection 17:49:15.755448 Server disconnected passive DATA connection 17:49:15.755473 DATA sockfilt for passive data channel quits (pid 83156) 17:49:15.755690 DATA sockfilt for passive data channel quit (pid 83156) 17:49:15.755712 =====> Closed passive DATA connection 17:49:15.755742 > "226 File transfer complete[CR][LF]" 17:49:15.800468 < "QUIT" 17:49:15.800524 > "221 bye bye baby[CR][LF]" 17:49:15.802201 MAIN sockfilt said DISC 17:49:15.802239 ====> Client disconnected 17:49:15.802325 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.597424 ====> Client connect 17:49:15.597747 Received DATA (on stdin) 17:49:15.597760 > 146 bytes data, server => client 17:49:15.597772 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.597782 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.597791 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.597876 < 16 bytes data, client => server 17:49:15.597891 'USER anonymous\r\n' 17:49:15.598083 Received DATA (on stdin) 17:49:15.598094 > 33 bytes data, server => client 17:49:15.598104 '331 We are happy you popped in!\r\n' 17:49:15.598151 < 22 bytes data, client => server 17:49:15.598161 'PASS ftp@example.com\r\n' 17:49:15.598259 Received DATA (on stdin) 17:49:15.598268 > 30 bytes data, server => client 17:49:15.598278 '230 Welcome you silly person\r\n' 17:49:15.598320 < 5 bytes data, client => server 17:49:15.598330 'PWD\r\n' 17:49:15.598425 Received DATA (on stdin) 17:49:15.598435 > 30 bytes data, server => client 17:49:15.598445 '257 "/" is current directory\r\n' 17:49:15.598495 < 6 bytes data, client => server 17:49:15.598505 'EPSV\r\n' 17:49:15.600645 Received DATA (on stdin) 17:49:15.600657 > 39 bytes data, server => client 17:49:15.600668 '229 Entering Passive Mode (|||41077|)\r\n' 17:49:15.600775 < 8 bytes data, client => server 17:49:15.600788 'TYPE I\r\n' 17:49:15.600974 Received DATA (on stdin) 17:49:15.600985 > 33 bytes data, server => client 17:49:15.600995 '200 I modify TYPE as you wanted\r\n' 17:49:15.601042 < 21 bytes data, client => server 17:49:15.601052 'SIZE verifiedserver\r\n' 17:49:15.601159 Received DATA (on stdin) 17:49:15.601169 > 8 bytes data, server => client 17:49:15.601178 '213 17\r\n' 17:49:15.601224 < 21 bytes data, client => server 17:49:15.601234 'RETR verifiedserver\r\n' 17:49:15.601430 Received DATA (on stdin) 17:49:15.601441 > 29 bytes data, server => client 17:49:15.601451 '150 Binary junk (17 bytes).\r\n' 17:49:15.601930 Received DATA (on stdin) 17:49:15.601941 > 28 bytes data, server => client 17:49:15.601952 '226 File transfer complete\r\n' 17:49:15.646470 < 6 bytes data, client => server 17:49:15.646500 'QUIT\r\n' 17:49:15.646718 Received DATA (on stdin) 17:49:15.646731 > 18 bytes data, server => client 17:49:15.646741 '221 bye bye baby\r\n' 17:49:15.648140 ====> Client disconnect 17:49:15.648481 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.600171 Running IPv4 version 17:49:15.600232 Listening on port 41077 17:49:15.600275 Wrote pid 83156 to log/21/server/ftp_sockdata.pid 17:49:15.600414 Received PING (on stdin) 17:49:15.600492 Received PORT (on stdin) 17:49:15.600806 ====> Client connect 17:49:15.601473 Received DATA (on stdin) 17:49:15.601485 > 17 bytes data, server => client 17:49:15.601494 'WE ROOLZ: 81123\r\n' 17:49:15.601515 Received DISC (on stdin) 17:49:15.601525 ====> Client forcibly disconnected 17:49:15.601667 Received QUIT (on stdin) 17:49:15.601677 quits 17:49:15.601738 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 136 === End of file server.cmd === Start of file valgrind136 ==83369== ==83369== Process terminating with default action of signal 4 (SIGILL) ==83369== Illegal opcode at address 0x4014520 ==83369== at 0x4014520: getparameter (tool_getparam.c:2862) ==83369== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83369== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83369== by 0x4003728: main (tool_main.c:186) === End of file valgrind136 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/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/15/valgrind140 ../src/curl -q --output log/15/curl140.out --include --trace-ascii log/15/trace140 --trace-time ftp://127.0.0.1:44375/blalbla/140 -z "1 jan 2004" > log/15/stdout140 2> log/15/stderr140 ests/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:39965/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:39965/blalbla/139 -z "1 jan 1989" > log/1/stdout139 2> log/1/stderr139 === End of file commands.log === Start of file ftp_server.log 17:49:15.899122 ====> Client connect 17:49:15.899345 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:15.899666 < "USER anonymous" 17:49:15.899706 > "331 We are happy you popped in![CR][LF]" 17:49:15.899882 < "PASS ftp@example.com" 17:49:15.899913 > "230 Welcome you silly person[CR][LF]" 17:49:15.900106 < "PWD" 17:49:15.900141 > "257 "/" is current directory[CR][LF]" 17:49:15.900314 < "EPSV" 17:49:15.900351 ====> Passive DATA channel requested by client 17:49:15.900369 DATA sockfilt for passive data channel starting... 17:49:15.903288 DATA sockfilt for passive data channel started (pid 83433) 17:49:15.903405 DATA sockfilt for passive data channel listens on port 39149 17:49:15.903455 > "229 Entering Passive Mode (|||39149|)[CR][LF]" 17:49:15.903473 Client has been notified that DATA conn will be accepted on port 39149 17:49:15.903688 Client connects to port 39149 17:49:15.903718 ====> Client established passive DATA connection on port 39149 17:49:15.903794 < "TYPE I" 17:49:15.903821 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:15.903983 < "SIZE verifiedserver" 17:49:15.904019 > "213 17[CR][LF]" 17:49:15.904189 < "RETR verifiedserver" 17:49:15.904227 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:15.904324 =====> Closing passive DATA connection... 17:49:15.904345 Server disconnects passive DATA connection 17:49:15.904595 Server disconnected passive DATA connection 17:49:15.904626 DATA sockfilt for passive data channel quits (pid 83433) 17:49:15.904889 DATA sockfilt for passive data channel quit (pid 83433) 17:49:15.904916 =====> Closed passive DATA connection 17:49:15.904952 > "226 File transfer complete[CR][LF]" 17:49:15.953664 < "QUIT" 17:49:15.953717 > "221 bye bye baby[CR][LF]" 17:49:15.955420 MAIN sockfilt said DISC 17:49:15.955454 ====> Client disconnected 17:49:15.955546 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.745181 ====> Client connect 17:49:15.745551 Received DATA (on stdin) 17:49:15.745567 > 146 bytes data, server => client 17:49:15.745580 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.745590 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.745600 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.745682 < 16 bytes data, client => server 17:49:15.745696 'USER anonymous\r\n' 17:49:15.745899 Received DATA (on stdin) 17:49:15.745911 > 33 bytes data, server => client 17:49:15.745922 '331 We are happy you popped in!\r\n' 17:49:15.745973 < 22 bytes data, client => server 17:49:15.745984 'PASS ftp@example.com\r\n' 17:49:15.746102 Received DATA (on stdin) 17:49:15.746113 > 30 bytes data, server => client 17:49:15.746124 '230 Welcome you silly person\r\n' 17:49:15.746188 < 5 bytes data, client => server 17:49:15.746215 'PWD\r\n' 17:49:15.746331 Received DATA (on stdin) 17:49:15.746342 > 30 bytes data, server => client 17:49:15.746352 '257 "/" is current directory\r\n' 17:49:15.746412 < 6 bytes data, client => server 17:49:15.746423 'EPSV\r\n' 17:49:15.749670 Received DATA (on stdin) 17:49:15.749683 > 39 bytes data, server => client 17:49:15.749694 '229 Entering Passive Mode (|||39149|)\r\n' 17:49:15.749872 < 8 bytes data, client => server 17:49:15.749891 'TYPE I\r\n' 17:49:15.750009 Received DATA (on stdin) 17:49:15.750021 > 33 bytes data, server => client 17:49:15.750031 '200 I modify TYPE as you wanted\r\n' 17:49:15.750082 < 21 bytes data, client => server 17:49:15.750095 'SIZE verifiedserver\r\n' 17:49:15.750211 Received DATA (on stdin) 17:49:15.750223 > 8 bytes data, server => client 17:49:15.750233 '213 17\r\n' 17:49:15.750287 < 21 bytes data, client => server 17:49:15.750300 'RETR verifiedserver\r\n' 17:49:15.750539 Received DATA (on stdin) 17:49:15.750550 > 29 bytes data, server => client 17:49:15.750561 '150 Binary junk (17 bytes).\r\n' 17:49:15.751143 Received DATA (on stdin) 17:49:15.751155 > 28 bytes data, server => client 17:49:15.751165 '226 File transfer complete\r\n' 17:49:15.799654 < 6 bytes data, client => server 17:49:15.799692 'QUIT\r\n' 17:49:15.799908 Received DATA (on stdin) 17:49:15.799919 > 18 bytes data, server => client 17:49:15.799930 '221 bye bye baby\r\n' 17:49:15.801548 ====> Client disconnect 17:49:15.801733 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:15.749167 Running IPv4 version 17:49:15.749235 Listening on port 39149 17:49:15.749272 Wrote pid 83433 to log/1/server/ftp_sockdata.pid 17:49:15.749423 Received PING (on stdin) 17:49:15.749509 Received PORT (on stdin) 17:49:15.749830 ====> Client connect 17:49:15.750587 Received DATA (on stdin) 17:49:15.750600 > 17 bytes data, server => client 17:49:15.750610 'WE ROOLZ: 81139\r\n' 17:49:15.750639 Received DISC (on stdin) 17:49:15.750650 ====> Client forcibly disconnected 17:49:15.750825 Received QUIT (on stdin) 17:49:15.750836 quits 17:49:15.750907 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 139 === End of file server.cmd === Start of file valgrind139 ==83460== ==83460== Process terminating with default action of signal 4 (SIGILL) ==83460== Illegal opcode at address 0x4014520 ==83460== at 0x4014520: getparameter (tool_getparam.c:2862) ==83460== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83460== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83460== by 0x4003728: main (tool_main.c:186) === End of file valgrind139 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/15/valgrind140 ../src/curl -q --output log/15/curl140.out --include --trace-ascii log/15/trace140 --trace-time ftp://127.0.0.1:44375/blalbla/140 -z "1 jan 2004" > log/15/stdout140 2> log/15/stderr140 140: 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 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/15/valgrind140 ../src/curl -q --output log/15/curl140.out --include --trace-ascii log/15/trace140 --trace-time ftp://127.0.0.1:44375/blalbla/140 -z "1 jan 2004" > log/15/stdout140 2> log/15/stderr140 === End of file commands.log === Start of file ftp_server.log 17:49:16.011426 ====> Client connect 17:49:16.011639 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.011982 < "USER anonymous" 17:49:16.012026 > "331 We are happy you popped in![CR][LF]" 17:49:16.012216 < "PASS ftp@example.com" 17:49:16.012248 > "230 Welcome you silly person[CR][LF]" 17:49:16.012412 < "PWD" 17:49:16.012447 > "257 "/" is current directory[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/valgrind124 ../src/curl -q --output log/18/curl124.out --include --trace-ascii log/18/trace124 --trace-time ftp://127.0.0.1:36869/124 > log/18/stdout124 2> log/18/stderr124 CMD (33792): ../libtool --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/valgrind147 ../src/curl -q --output log/13/curl147.out --include --trace-ascii log/13/trace147 --trace-time ftp://127.0.0.1:32981/first/dir/here/147 --ftp-create-dirs > log/13/stdout147 2> log/13/stderr147 R][LF]" 17:49:16.012624 < "EPSV" 17:49:16.012658 ====> Passive DATA channel requested by client 17:49:16.012674 DATA sockfilt for passive data channel starting... 17:49:16.016857 DATA sockfilt for passive data channel started (pid 83525) 17:49:16.016973 DATA sockfilt for passive data channel listens on port 44321 17:49:16.017023 > "229 Entering Passive Mode (|||44321|)[CR][LF]" 17:49:16.017045 Client has been notified that DATA conn will be accepted on port 44321 17:49:16.017292 Client connects to port 44321 17:49:16.017326 ====> Client established passive DATA connection on port 44321 17:49:16.017410 < "TYPE I" 17:49:16.017449 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.017630 < "SIZE verifiedserver" 17:49:16.017677 > "213 17[CR][LF]" 17:49:16.017844 < "RETR verifiedserver" 17:49:16.017882 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.017975 =====> Closing passive DATA connection... 17:49:16.017996 Server disconnects passive DATA connection 17:49:16.018206 Server disconnected passive DATA connection 17:49:16.018238 DATA sockfilt for passive data channel quits (pid 83525) 17:49:16.018523 DATA sockfilt for passive data channel quit (pid 83525) 17:49:16.018557 =====> Closed passive DATA connection 17:49:16.018585 > "226 File transfer complete[CR][LF]" 17:49:16.060671 < "QUIT" 17:49:16.060726 > "221 bye bye baby[CR][LF]" 17:49:16.061404 MAIN sockfilt said DISC 17:49:16.061455 ====> Client disconnected 17:49:16.061535 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.857489 ====> Client connect 17:49:15.857851 Received DATA (on stdin) 17:49:15.857868 > 146 bytes data, server => client 17:49:15.857881 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:15.857896 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:15.857906 '220 \___|\___/|_| \_\_____|\r\n' 17:49:15.857988 < 16 bytes data, client => server 17:49:15.858002 'USER anonymous\r\n' 17:49:15.858221 Received DATA (on stdin) 17:49:15.858233 > 33 bytes data, server => client 17:49:15.858244 '331 We are happy you popped in!\r\n' 17:49:15.858300 < 22 bytes data, client => server 17:49:15.858313 'PASS ftp@example.com\r\n' 17:49:15.858437 Received DATA (on stdin) 17:49:15.858449 > 30 bytes data, server => client 17:49:15.858460 '230 Welcome you silly person\r\n' 17:49:15.858511 < 5 bytes data, client => server 17:49:15.858523 'PWD\r\n' 17:49:15.858639 Received DATA (on stdin) 17:49:15.858651 > 30 bytes data, server => client 17:49:15.858661 '257 "/" is current directory\r\n' 17:49:15.858722 < 6 bytes data, client => server 17:49:15.858734 'EPSV\r\n' 17:49:15.863244 Received DATA (on stdin) 17:49:15.863258 > 39 bytes data, server => client 17:49:15.863269 '229 Entering Passive Mode (|||44321|)\r\n' 17:49:15.863400 < 8 bytes data, client => server 17:49:15.863416 'TYPE I\r\n' 17:49:15.863645 Received DATA (on stdin) 17:49:15.863658 > 33 bytes data, server => client 17:49:15.863669 '200 I modify TYPE as you wanted\r\n' 17:49:15.863724 < 21 bytes data, client => server 17:49:15.863736 'SIZE verifiedserver\r\n' 17:49:15.863870 Received DATA (on stdin) 17:49:15.863882 > 8 bytes data, server => client 17:49:15.863893 '213 17\r\n' 17:49:15.863945 < 21 bytes data, client => server 17:49:15.863957 'RETR verifiedserver\r\n' 17:49:15.864189 Received DATA (on stdin) 17:49:15.864202 > 29 bytes data, server => client 17:49:15.864213 '150 Binary junk (17 bytes).\r\n' 17:49:15.864775 Received DATA (on stdin) 17:49:15.864787 > 28 bytes data, server => client 17:49:15.864797 '226 File transfer complete\r\n' 17:49:15.906671 < 6 bytes data, client => server 17:49:15.906704 'QUIT\r\n' 17:49:15.906917 Received DATA (on stdin) 17:49:15.906928 > 18 bytes data, server => client 17:49:15.906938 '221 bye bye baby\r\n' 17:49:15.907516 ====> Client disconnect 17:49:15.907731 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.860899 Running IPv4 version 17:49:16.860973 Listening on port 44321 17:49:16.861018 Wrote pid 83525 to log/15/server/ftp_sockdata.pid 17:49:16.862982 Received PING (on stdin) 17:49:16.863076 Received PORT (on stdin) 17:49:16.863436 ====> Client connect 17:49:16.864272 Received DATA (on stdin) 17:49:16.864288 > 17 bytes data, server => client 17:49:16.864299 'WE ROOLZ: 81145\r\n' 17:49:16.864326 Received DISC (on stdin) 17:49:16.864339 ====> Client forcibly disconnected 17:49:16.864495 Received QUIT (on stdin) 17:49:16.864511 quits 17:49:16.864572 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 140 === End of file server.cmd === Start of file valgrind140 ==83553== ==83553== Process terminating with default action of signal 4 (SIGILL) ==83553== Illegal opcode at address 0x4014520 ==83553== at 0x4014520: getparameter (tool_getparam.c:2862) ==83553== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83553== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83553== by 0x4003728: main (tool_main.c:186) === End of file valgrind140 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 36869 (log/18/server/ftp_server.port) RUN: FTP server is PID 82094 port 36869 * pid ftp => 82094 82094 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/18/valgrind124 ../src/curl -q --output log/18/curl124.out --include --trace-ascii log/18/trace124 --trace-time ftp://127.0.0.1:36869/124 > log/18/stdout124 2> log/18/stderr124 124: 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 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/18/valgrind124 ../src/curl -q --output log/18/curl124.out --include --trace-ascii log/18/trace124 --trace-time ftp://127.0.0.1:36869/124 > log/18/stdout124 2> log/18/stderr124 === End of file commands.log === Start of file ftp_server.log 17:49:15.075809 FTP server listens on port IPv4/36869 17:49:15.075902 logged pid 82094 in log/18/server/ftp_server.pid 17:49:15.075932 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:15.921732 Running IPv4 version 17:49:15.921801 Listening on port 36869 17:49:15.921845 Wrote pid 82107 to log/18/server/ftp_sockctrl.pid 17:49:15.921877 Wrote port 36869 to log/18/server/ftp_server.port 17:49:15.921897 Received PING (on stdin) === End of file ftp_sockctrl.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 ==83531== ==83531== Process terminating with default action of signal 4 (SIGILL) ==83531== Illegal opcode at address 0x4014520 ==83531== at 0x4014520: getparameter (tool_getparam.c:2862) ==83531== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83531== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83531== by 0x4003728: main (tool_main.c:186) === End of file valgrind124 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/13/valgrind147 ../src/curl -q --output log/13/curl147.out --include --trace-ascii log/13/trace147 --trace-time ftp://127.0.0.1:32981/first/dir/here/147 --ftp-create-dirs > log/13/stdout147 2> log/13/stderr147 147: protocol FAILED! There was no 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/valgrind141 ../src/curl -q --include --trace-ascii log/7/trace141 --trace-time ftp://127.0.0.1:42667/blalbla/141 -I > log/7/stdout141 2> log/7/stderr141 tent 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 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/13/valgrind147 ../src/curl -q --output log/13/curl147.out --include --trace-ascii log/13/trace147 --trace-time ftp://127.0.0.1:32981/first/dir/here/147 --ftp-create-dirs > log/13/stdout147 2> log/13/stderr147 === End of file commands.log === Start of file ftp_server.log 17:49:16.314498 ====> Client connect 17:49:16.314667 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.314956 < "USER anonymous" 17:49:16.314992 > "331 We are happy you popped in![CR][LF]" 17:49:16.315168 < "PASS ftp@example.com" 17:49:16.315196 > "230 Welcome you silly person[CR][LF]" 17:49:16.315360 < "PWD" 17:49:16.315395 > "257 "/" is current directory[CR][LF]" 17:49:16.315569 < "EPSV" 17:49:16.315596 ====> Passive DATA channel requested by client 17:49:16.315611 DATA sockfilt for passive data channel starting... 17:49:16.317712 DATA sockfilt for passive data channel started (pid 84017) 17:49:16.317820 DATA sockfilt for passive data channel listens on port 41383 17:49:16.317862 > "229 Entering Passive Mode (|||41383|)[CR][LF]" 17:49:16.317884 Client has been notified that DATA conn will be accepted on port 41383 17:49:16.318111 Client connects to port 41383 17:49:16.318144 ====> Client established passive DATA connection on port 41383 17:49:16.318229 < "TYPE I" 17:49:16.318261 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.318424 < "SIZE verifiedserver" 17:49:16.318463 > "213 17[CR][LF]" 17:49:16.318631 < "RETR verifiedserver" 17:49:16.318668 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.318764 =====> Closing passive DATA connection... 17:49:16.318786 Server disconnects passive DATA connection 17:49:16.319048 Server disconnected passive DATA connection 17:49:16.319085 DATA sockfilt for passive data channel quits (pid 84017) 17:49:16.319322 DATA sockfilt for passive data channel quit (pid 84017) 17:49:16.319347 =====> Closed passive DATA connection 17:49:16.319377 > "226 File transfer complete[CR][LF]" 17:49:16.363048 < "QUIT" 17:49:16.363107 > "221 bye bye baby[CR][LF]" 17:49:16.364093 MAIN sockfilt said DISC 17:49:16.364123 ====> Client disconnected 17:49:16.364203 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:16.160554 ====> Client connect 17:49:16.160870 Received DATA (on stdin) 17:49:16.160884 > 146 bytes data, server => client 17:49:16.160897 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:16.160908 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:16.160917 '220 \___|\___/|_| \_\_____|\r\n' 17:49:16.160996 < 16 bytes data, client => server 17:49:16.161009 'USER anonymous\r\n' 17:49:16.161186 Received DATA (on stdin) 17:49:16.161198 > 33 bytes data, server => client 17:49:16.161209 '331 We are happy you popped in!\r\n' 17:49:16.161263 < 22 bytes data, client => server 17:49:16.161276 'PASS ftp@example.com\r\n' 17:49:16.161387 Received DATA (on stdin) 17:49:16.161398 > 30 bytes data, server => client 17:49:16.161409 '230 Welcome you silly person\r\n' 17:49:16.161461 < 5 bytes data, client => server 17:49:16.161473 'PWD\r\n' 17:49:16.161584 Received DATA (on stdin) 17:49:16.161596 > 30 bytes data, server => client 17:49:16.161607 '257 "/" is current directory\r\n' 17:49:16.161670 < 6 bytes data, client => server 17:49:16.161682 'EPSV\r\n' 17:49:16.164078 Received DATA (on stdin) 17:49:16.164091 > 39 bytes data, server => client 17:49:16.164102 '229 Entering Passive Mode (|||41383|)\r\n' 17:49:16.164219 < 8 bytes data, client => server 17:49:16.164233 'TYPE I\r\n' 17:49:16.164450 Received DATA (on stdin) 17:49:16.164461 > 33 bytes data, server => client 17:49:16.164472 '200 I modify TYPE as you wanted\r\n' 17:49:16.164524 < 21 bytes data, client => server 17:49:16.164537 'SIZE verifiedserver\r\n' 17:49:16.164654 Received DATA (on stdin) 17:49:16.164665 > 8 bytes data, server => client 17:49:16.164676 '213 17\r\n' 17:49:16.164729 < 21 bytes data, client => server 17:49:16.164743 'RETR verifiedserver\r\n' 17:49:16.164979 Received DATA (on stdin) 17:49:16.164991 > 29 bytes data, server => client 17:49:16.165002 '150 Binary junk (17 bytes).\r\n' 17:49:16.165567 Received DATA (on stdin) 17:49:16.165580 > 28 bytes data, server => client 17:49:16.165591 '226 File transfer complete\r\n' 17:49:16.209016 < 6 bytes data, client => server 17:49:16.209050 'QUIT\r\n' 17:49:16.209298 Received DATA (on stdin) 17:49:16.209310 > 18 bytes data, server => client 17:49:16.209320 '221 bye bye baby\r\n' 17:49:16.210230 ====> Client disconnect 17:49:16.210389 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.163729 Running IPv4 version 17:49:16.163783 Listening on port 41383 17:49:16.163829 Wrote pid 84017 to log/13/server/ftp_sockdata.pid 17:49:16.163846 Received PING (on stdin) 17:49:16.163923 Received PORT (on stdin) 17:49:16.164253 ====> Client connect 17:49:16.165030 Received DATA (on stdin) 17:49:16.165043 > 17 bytes data, server => client 17:49:16.165055 'WE ROOLZ: 80972\r\n' 17:49:16.165084 Received DISC (on stdin) 17:49:16.165095 ====> Client forcibly disconnected 17:49:16.165283 Received QUIT (on stdin) 17:49:16.165294 quits 17:49:16.165367 ============> 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 ==84110== ==84110== Process terminating with default action of signal 4 (SIGILL) ==84110== Illegal opcode at address 0x4014520 ==84110== at 0x4014520: getparameter (tool_getparam.c:2862) ==84110== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84110== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84110== by 0x4003728: main (tool_main.c:186) === End of file valgrind147 CMD (33792): ../libtool --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/valgrind150 ../src/curl -q --output log/20/curl150.out --include --trace-ascii log/20/trace150 --trace-time http://127.0.0.1:46725/150 -u testuser:testpass --ntlm --fail > log/20/stdout150 2> log/20/stderr150 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/7/valgrind141 ../src/curl -q --include --trace-ascii log/7/trace141 --trace-time ftp://127.0.0.1:42667/blalbla/141 -I > log/7/stdout141 2> log/7/stderr141 141: stdout FAILED: --- log/7/check-expected 2026-01-28 17:49:17.423222109 +0000 +++ log/7/check-generated 2026-01-28 17:49:17.423222109 +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/7/ 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/7/valgrind141 ../src/curl -q --include --trace-ascii log/7/trace141 --trace-time ftp://127.0.0.1:42667/blalbla/141 -I > log/7/stdout141 2> log/7/stderr141 === End of file commands.log === Start of file ftp_server.log 17:49:16.170192 ====> Client connect 17:49:16.170376 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.170674 < "USER anonymous" 17:49:16.170710 > "331 We are happy you popped in![CR][LF]" 17:49:16.170872 < "PASS ftp@example.com" 17:49:16.170899 > "230 Welcome you silly person[CR][LF]" 17:49:16.171035 < "PWD" 17:49:16.171065 > "257 "/" is current directory[CR][LF]" 17:49:16.171212 < "EPSV" 17:49:16.171239 ====> Passive DATA channel requested by client 17:49:16.171253 DATA sockfilt for passive data channel starting... 17:49:16.173450 DATA sockfilt for passive data channel started (pid 83652) 17:49:16.173589 DATA sockfilt for passive data channel listens on port 35407 17:49:16.173648 > "229 Entering Passive Mode (|||35407|)[CR][LF]" 17:49:16.173670 Client has been notified that DATA conn will be accepted on port 35407 17:49:16.173976 Client connects to port 35407 17:49:16.174014 ====> Client established passive DATA connection on port 35407 17:49:16.174115 < "TYPE I" 17:49:16.174156 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.174348 < "SIZE verifiedserver" 17:49:16.174396 > "213 17[CR][LF]" 17:49:16.174574 < "RETR verifiedserver" 17:49:16.174614 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.174709 =====> Closing passive DATA connection... 17:49:16.174730 Server disconnects passive DATA connection 17:49:16.174970 Server disconnected passive DATA connection 17:49:16.175003 DATA sockfilt for passive data channel quits (pid 83652) 17:49:16.175264 DATA sockfilt for passive data channel quit (pid 83652) 17:49:16.175292 =====> Closed passive DATA connection 17:49:16.175328 > "226 File transfer complete[CR][LF]" 17:49:16.217489 < "QUIT" 17:49:16.217551 > "221 bye bye baby[CR][LF]" 17:49:16.218506 MAIN sockfilt said DISC 17:49:16.218557 ====> Client disconnected 17:49:16.218649 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:17.016267 ====> Client connect 17:49:17.016580 Received DATA (on stdin) 17:49:17.016594 > 146 bytes data, server => client 17:49:17.016606 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:17.016617 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:17.016625 '220 \___|\___/|_| \_\_____|\r\n' 17:49:17.016702 < 16 bytes data, client => server 17:49:17.016713 'USER anonymous\r\n' 17:49:17.016902 Received DATA (on stdin) 17:49:17.016913 > 33 bytes data, server => client 17:49:17.016923 '331 We are happy you popped in!\r\n' 17:49:17.016973 < 22 bytes data, client => server 17:49:17.016983 'PASS ftp@example.com\r\n' 17:49:17.017086 Received DATA (on stdin) 17:49:17.017096 > 30 bytes data, server => client 17:49:17.017105 '230 Welcome you silly person\r\n' 17:49:17.017148 < 5 bytes data, client => server 17:49:17.017157 'PWD\r\n' 17:49:17.017252 Received DATA (on stdin) 17:49:17.017262 > 30 bytes data, server => client 17:49:17.017271 '257 "/" is current directory\r\n' 17:49:17.017323 < 6 bytes data, client => server 17:49:17.017332 'EPSV\r\n' 17:49:17.019874 Received DATA (on stdin) 17:49:17.019892 > 39 bytes data, server => client 17:49:17.019904 '229 Entering Passive Mode (|||35407|)\r\n' 17:49:17.020107 < 8 bytes data, client => server 17:49:17.020121 'TYPE I\r\n' 17:49:17.020351 Received DATA (on stdin) 17:49:17.020364 > 33 bytes data, server => client 17:49:17.020376 '200 I modify TYPE as you wanted\r\n' 17:49:17.020436 < 21 bytes data, client => server 17:49:17.020449 'SIZE verifiedserver\r\n' 17:49:17.020590 Received DATA (on stdin) 17:49:17.020603 > 8 bytes data, server => client 17:49:17.020613 '213 17\r\n' 17:49:17.020666 < 21 bytes data, client => server 17:49:17.020679 'RETR verifiedserver\r\n' 17:49:17.020921 Received DATA (on stdin) 17:49:17.020933 > 29 bytes data, server => client 17:49:17.020944 '150 Binary junk (17 bytes).\r\n' 17:49:17.021521 Received DATA (on stdin) 17:49:17.021534 > 28 bytes data, server => client 17:49:17.021545 '226 File transfer complete\r\n' 17:49:17.063477 < 6 bytes data, client => server 17:49:17.063503 'QUIT\r\n' 17:49:17.063748 Received DATA (on stdin) 17:49:17.063764 > 18 bytes data, server => client 17:49:17.063775 '221 bye bye baby\r\n' 17:49:17.064199 ====> Client disconnect 17:49:17.064842 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.019184 Running IPv4 version 17:49:16.019261 Listening on port 35407 17:49:16.019310 Wrote pid 83652 to log/7/server/ftp_sockdata.pid 17:49:16.019570 Received PING (on stdin) 17:49:16.019677 Received PORT (on stdin) 17:49:16.020075 ====> Client connect 17:49:16.020971 Received DATA (on stdin) 17:49:16.020985 > 17 bytes data, server => client 17:49:16.020995 'WE ROOLZ: 81153\r\n' 17:49:16.021020 Received DISC (on stdin) 17:49:16.021032 ====> Client forcibly disconnected 17:49:16.021204 Received QUIT (on stdin) 17:49:16.021216 quits 17:49:16.021280 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 141 === End of file server.cmd === Start of file valgrind141 ==83737== ==83737== Process terminating with default action of signal 4 (SIGILL) ==83737== Illegal opcode at address 0x4014520 ==83737== at 0x4014520: getparameter (tool_getparam.c:2862) ==83737== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83737== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83737== by 0x4003728: main (tool_main.c:186) === End of file valgrind141 test 0150...[HTTP with NTLM authorization 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/20/valgrind150 ../src/curl -q --output log/20/curl150.out --include --trace-ascii log/20/trace150 --trace-time http://127.0.0.1:46725/150 -u testuser:testpass --ntlm --fail > log/20/stdout150 2> log/20/stderr150 150: 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 150 === Start of file commands.log ../libtool --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/valgrind150 ../src/curl -q --output log/20/curl150.out --include --trace-ascii log/20/trace150 --trace-time http://127.0.0.1:46725/150 -u testuser:testpass --ntlm --fail > log/20/stdout150 2> log/20/stderr150 === End of file commands.log === Start of file http_server.log 17:49:16.240241 ====> Client connect 17:49:16.240272 accept_connection 3 returned 4 17:49:16.240287 CMD (33792): ../libtool --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/valgrind145 ../src/curl -q --output log/17/curl145.out --include --trace-ascii log/17/trace145 --trace-time ftp://127.0.0.1:45931/ -P - -l > log/17/stdout145 2> log/17/stderr145 accept_connection 3 returned 0 17:49:16.240301 Read 93 bytes 17:49:16.240310 Process 93 bytes request 17:49:16.240323 Got request: GET /verifiedserver HTTP/1.1 17:49:16.240332 Are-we-friendly question received 17:49:16.240358 Wrote request (93 bytes) input to log/20/server.input 17:49:16.240374 Identifying ourselves as friends 17:49:16.240424 Response sent (56 bytes) and written to log/20/server.response 17:49:16.240433 special request received, no persistency 17:49:16.240442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 59256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === End of file http_verify.out === Start of file server.cmd Testnum 150 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74815 === End of file server.response === Start of file valgrind150 ==84184== ==84184== Process terminating with default action of signal 4 (SIGILL) ==84184== Illegal opcode at address 0x4014520 ==84184== at 0x4014520: getparameter (tool_getparam.c:2862) ==84184== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84184== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84184== by 0x4003728: main (tool_main.c:186) === End of file valgrind150 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/17/valgrind145 ../src/curl -q --output log/17/curl145.out --include --trace-ascii log/17/trace145 --trace-time ftp://127.0.0.1:45931/ -P - -l > log/17/stdout145 2> log/17/stderr145 145: 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 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/17/valgrind145 ../src/curl -q --output log/17/curl145.out --include --trace-ascii log/17/trace145 --trace-time ftp://127.0.0.1:45931/ -P - -l > log/17/stdout145 2> log/17/stderr145 === End of file commands.log === Start of file ftp_server.log 17:49:16.224539 ====> Client connect 17:49:16.224675 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.224911 < "USER anonymous" 17:49:16.224945 > "331 We are happy you popped in![CR][LF]" 17:49:16.225093 < "PASS ftp@example.com" 17:49:16.225116 > "230 Welcome you silly person[CR][LF]" 17:49:16.225249 < "PWD" 17:49:16.225278 > "257 "/" is current directory[CR][LF]" 17:49:16.225420 < "EPSV" 17:49:16.225447 ====> Passive DATA channel requested by client 17:49:16.225461 DATA sockfilt for passive data channel starting... 17:49:16.227663 DATA sockfilt for passive data channel started (pid 83735) 17:49:16.227812 DATA sockfilt for passive data channel listens on port 46425 17:49:16.227868 > "229 Entering Passive Mode (|||46425|)[CR][LF]" 17:49:16.227888 Client has been notified that DATA conn will be accepted on port 46425 17:49:16.228400 Client connects to port 46425 17:49:16.228430 ====> Client established passive DATA connection on port 46425 17:49:16.228925 < "TYPE I" 17:49:16.228963 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.229099 < "SIZE verifiedserver" 17:49:16.229136 > "213 17[CR][LF]" 17:49:16.229286 < "RETR verifiedserver" 17:49:16.229329 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.229412 =====> Closing passive DATA connection... 17:49:16.229429 Server disconnects passive DATA connection 17:49:16.229690 Server disconnected passive DATA connection 17:49:16.229724 DATA sockfilt for passive data channel quits (pid 83735) 17:49:16.229973 DATA sockfilt for passive data channel quit (pid 83735) 17:49:16.229994 =====> Closed passive DATA connection 17:49:16.230029 > "226 File transfer complete[CR][LF]" 17:49:16.275166 < "QUIT" 17:49:16.275226 > "221 bye bye baby[CR][LF]" 17:49:16.276372 MAIN sockfilt said DISC 17:49:16.276425 ====> Client disconnected 17:49:16.276511 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:16.070634 ====> Client connect 17:49:16.070871 Received DATA (on stdin) 17:49:16.070884 > 146 bytes data, server => client 17:49:16.070895 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:16.070905 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:16.070915 '220 \___|\___/|_| \_\_____|\r\n' 17:49:16.070974 < 16 bytes data, client => server 17:49:16.070985 'USER anonymous\r\n' 17:49:16.071136 Received DATA (on stdin) 17:49:16.071146 > 33 bytes data, server => client 17:49:16.071156 '331 We are happy you popped in!\r\n' 17:49:16.071201 < 22 bytes data, client => server 17:49:16.071211 'PASS ftp@example.com\r\n' 17:49:16.071302 Received DATA (on stdin) 17:49:16.071312 > 30 bytes data, server => client 17:49:16.071322 '230 Welcome you silly person\r\n' 17:49:16.071362 < 5 bytes data, client => server 17:49:16.071372 'PWD\r\n' 17:49:16.071464 Received DATA (on stdin) 17:49:16.071474 > 30 bytes data, server => client 17:49:16.071485 '257 "/" is current directory\r\n' 17:49:16.071533 < 6 bytes data, client => server 17:49:16.071544 'EPSV\r\n' 17:49:16.074084 Received DATA (on stdin) 17:49:16.074109 > 39 bytes data, server => client 17:49:16.074123 '229 Entering Passive Mode (|||46425|)\r\n' 17:49:16.074977 < 8 bytes data, client => server 17:49:16.074996 'TYPE I\r\n' 17:49:16.075131 Received DATA (on stdin) 17:49:16.075140 > 33 bytes data, server => client 17:49:16.075148 '200 I modify TYPE as you wanted\r\n' 17:49:16.075194 < 21 bytes data, client => server 17:49:16.075202 'SIZE verifiedserver\r\n' 17:49:16.075321 Received DATA (on stdin) 17:49:16.075329 > 8 bytes data, server => client 17:49:16.075337 '213 17\r\n' 17:49:16.075378 < 21 bytes data, client => server 17:49:16.075388 'RETR verifiedserver\r\n' 17:49:16.075624 Received DATA (on stdin) 17:49:16.075640 > 29 bytes data, server => client 17:49:16.075651 '150 Binary junk (17 bytes).\r\n' 17:49:16.076222 Received DATA (on stdin) 17:49:16.076235 > 28 bytes data, server => client 17:49:16.076245 '226 File transfer complete\r\n' 17:49:16.121149 < 6 bytes data, client => server 17:49:16.121177 'QUIT\r\n' 17:49:16.121425 Received DATA (on stdin) 17:49:16.121439 > 18 bytes data, server => client 17:49:16.121450 '221 bye bye baby\r\n' 17:49:16.122401 ====> Client disconnect 17:49:16.122703 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.073646 Running IPv4 version 17:49:16.073714 Listening on port 46425 17:49:16.073757 Wrote pid 83735 to log/17/server/ftp_sockdata.pid 17:49:16.073780 Received PING (on stdin) 17:49:16.073901 Received PORT (on stdin) 17:49:16.074531 ====> Client connect 17:49:16.075693 Received DATA (on stdin) 17:49:16.075712 > 17 bytes data, server => client 17:49:16.075722 'WE ROOLZ: 80755\r\n' 17:49:16.075766 Received DISC (on stdin) 17:49:16.075777 ====> Client forcibly disconnected 17:49:16.075921 Received QUIT (on stdin) 17:49:16.075930 quits 17:49:16.075988 ============> 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 ==83890== ==83890== Process terminating with default action of signal 4 (SIGILL) ==83890== Illegal opCMD (33792): ../libtool --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/valgrind142 ../src/curl -q --output log/8/curl142.out --include --trace-ascii log/8/trace142 --trace-time ftp://127.0.0.1:42799/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/8/stdout142 2> log/8/stderr142 CMD (33792): ../libtool --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/valgrind146 ../src/curl -q --output log/2/curl146.out --include --trace-ascii log/2/trace146 --trace-time ftp://127.0.0.1:40597/first/dir/here/146 ftp://127.0.0.1:40597/146 > log/2/stdout146 2> log/2/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/24/valgrind143 ../src/curl -q --output log/24/curl143.out --include --trace-ascii log/24/trace143 --trace-time "ftp://127.0.0.1:39525/%2ftmp/moo/143;type=a" > log/24/stdout143 2> log/24/stderr143 CMD (33792): ../libtool --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/valgrind144 ../src/curl -q --output log/23/curl144.out --include --trace-ascii log/23/trace144 --trace-time ftp://127.0.0.1:46399/ -P - -l > log/23/stdout144 2> log/23/stderr144 code at address 0x4014520 ==83890== at 0x4014520: getparameter (tool_getparam.c:2862) ==83890== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83890== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83890== by 0x4003728: main (tool_main.c:186) === End of file valgrind145 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/8/valgrind142 ../src/curl -q --output log/8/curl142.out --include --trace-ascii log/8/trace142 --trace-time ftp://127.0.0.1:42799/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/8/stdout142 2> log/8/stderr142 142: 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 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/8/valgrind142 ../src/curl -q --output log/8/curl142.out --include --trace-ascii log/8/trace142 --trace-time ftp://127.0.0.1:42799/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/8/stdout142 2> log/8/stderr142 === End of file commands.log === Start of file ftp_server.log 17:49:16.189602 ====> Client connect 17:49:16.189754 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.190026 < "USER anonymous" 17:49:16.190062 > "331 We are happy you popped in![CR][LF]" 17:49:16.190209 < "PASS ftp@example.com" 17:49:16.190233 > "230 Welcome you silly person[CR][LF]" 17:49:16.190348 < "PWD" 17:49:16.190373 > "257 "/" is current directory[CR][LF]" 17:49:16.190492 < "EPSV" 17:49:16.190516 ====> Passive DATA channel requested by client 17:49:16.190526 DATA sockfilt for passive data channel starting... 17:49:16.192048 DATA sockfilt for passive data channel started (pid 83684) 17:49:16.192147 DATA sockfilt for passive data channel listens on port 43665 17:49:16.192192 > "229 Entering Passive Mode (|||43665|)[CR][LF]" 17:49:16.192211 Client has been notified that DATA conn will be accepted on port 43665 17:49:16.192441 Client connects to port 43665 17:49:16.192473 ====> Client established passive DATA connection on port 43665 17:49:16.192545 < "TYPE I" 17:49:16.192571 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.192703 < "SIZE verifiedserver" 17:49:16.192737 > "213 17[CR][LF]" 17:49:16.192891 < "RETR verifiedserver" 17:49:16.192927 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.193019 =====> Closing passive DATA connection... 17:49:16.193038 Server disconnects passive DATA connection 17:49:16.193271 Server disconnected passive DATA connection 17:49:16.193298 DATA sockfilt for passive data channel quits (pid 83684) 17:49:16.193541 DATA sockfilt for passive data channel quit (pid 83684) 17:49:16.193568 =====> Closed passive DATA connection 17:49:16.193600 > "226 File transfer complete[CR][LF]" 17:49:16.233648 < "QUIT" 17:49:16.233699 > "221 bye bye baby[CR][LF]" 17:49:16.234054 MAIN sockfilt said DISC 17:49:16.234086 ====> Client disconnected 17:49:16.234149 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:17.035687 ====> Client connect 17:49:17.035949 Received DATA (on stdin) 17:49:17.035961 > 146 bytes data, server => client 17:49:17.035970 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:17.035978 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:17.035985 '220 \___|\___/|_| \_\_____|\r\n' 17:49:17.036055 < 16 bytes data, client => server 17:49:17.036064 'USER anonymous\r\n' 17:49:17.036250 Received DATA (on stdin) 17:49:17.036260 > 33 bytes data, server => client 17:49:17.036268 '331 We are happy you popped in!\r\n' 17:49:17.036313 < 22 bytes data, client => server 17:49:17.036322 'PASS ftp@example.com\r\n' 17:49:17.036416 Received DATA (on stdin) 17:49:17.036425 > 30 bytes data, server => client 17:49:17.036432 '230 Welcome you silly person\r\n' 17:49:17.036469 < 5 bytes data, client => server 17:49:17.036477 'PWD\r\n' 17:49:17.036555 Received DATA (on stdin) 17:49:17.036563 > 30 bytes data, server => client 17:49:17.036571 '257 "/" is current directory\r\n' 17:49:17.036614 < 6 bytes data, client => server 17:49:17.036622 'EPSV\r\n' 17:49:17.038408 Received DATA (on stdin) 17:49:17.038421 > 39 bytes data, server => client 17:49:17.038432 '229 Entering Passive Mode (|||43665|)\r\n' 17:49:17.038579 < 8 bytes data, client => server 17:49:17.038590 'TYPE I\r\n' 17:49:17.038756 Received DATA (on stdin) 17:49:17.038765 > 33 bytes data, server => client 17:49:17.038774 '200 I modify TYPE as you wanted\r\n' 17:49:17.038818 < 21 bytes data, client => server 17:49:17.038827 'SIZE verifiedserver\r\n' 17:49:17.038925 Received DATA (on stdin) 17:49:17.038935 > 8 bytes data, server => client 17:49:17.038945 '213 17\r\n' 17:49:17.038991 < 21 bytes data, client => server 17:49:17.039002 'RETR verifiedserver\r\n' 17:49:17.039229 Received DATA (on stdin) 17:49:17.039241 > 29 bytes data, server => client 17:49:17.039251 '150 Binary junk (17 bytes).\r\n' 17:49:17.039790 Received DATA (on stdin) 17:49:17.039803 > 28 bytes data, server => client 17:49:17.039813 '226 File transfer complete\r\n' 17:49:17.079682 < 6 bytes data, client => server 17:49:17.079703 'QUIT\r\n' 17:49:17.079893 Received DATA (on stdin) 17:49:17.079905 > 18 bytes data, server => client 17:49:17.079916 '221 bye bye baby\r\n' 17:49:17.080185 ====> Client disconnect 17:49:17.080338 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.038063 Running IPv4 version 17:49:16.038114 Listening on port 43665 17:49:16.038168 Wrote pid 83684 to log/8/server/ftp_sockdata.pid 17:49:16.038185 Received PING (on stdin) 17:49:16.038252 Received PORT (on stdin) 17:49:16.038551 ====> Client connect 17:49:16.039279 Received DATA (on stdin) 17:49:16.039293 > 17 bytes data, server => client 17:49:16.039303 'WE ROOLZ: 81155\r\n' 17:49:16.039328 Received DISC (on stdin) 17:49:16.039339 ====> Client forcibly disconnected 17:49:16.039496 Received QUIT (on stdin) 17:49:16.039514 quits 17:49:16.039597 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 142 === End of file server.cmd === Start of file valgrind142 ==83762== ==83762== Process terminating with default action of signal 4 (SIGILL) ==83762== Illegal opcode at address 0x4014520 ==83762== at 0x4014520: getparameter (tool_getparam.c:2862) ==83762== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83762== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83762== by 0x4003728: main (tool_main.c:186) === End of file valgrind142 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/24/valgrind143 ../src/curl -q --output log/24/curl143.out --include --trace-ascii log/24/trace143 --trace-time "ftp://127.0.0.1:39525/%2ftmp/moo/143;type=a" > log/24/stdout143 2> log/24/stderr143 143: 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 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/24/valgrind143 ../src/curl -q --output log/24/curl143.out --include --trace-ascii log/24/trace143 --trace-time "ftp://127.0.0.1:39525/%2ftmp/moo/143;type=a" > log/24/stdout143 2> log/24/stderr143 === End of file commands.log === Start of file ftp_server.log 17:49:16.195832 ====> Client connect 17:49:16.196000 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.196296 < "USER anonymous" 17:49:16.196339 > "331 We are happy you popped in![CR][LF]" 17:49:16.196512 < "PASS ftp@example.com" 17:49:16.196542 > "230 Welcome you silly person[CR][LF]" 17:49:16.196707 < "PWD" 17:49:16.196744 > "257 "/" is current directory[CR][LF]" 17:49:16.196905 < "EPSV" 17:49:16.196931 ====> Passive DATA channel requested by client 17:49:16.196946 DATA sockfilt for passive data channel starting... 17:49:16.199520 DATA sockfilt for passive data channel started (pid 83695) 17:49:16.199628 DATA sockfilt for passive data channel listens on port 41245 17:49:16.199673 > "229 Entering Passive Mode (|||41245|)[CR][LF]" 17:49:16.199691 Client has been notified that DATA conn will be accepted on port 41245 17:49:16.199910 Client connects to port 41245 17:49:16.199945 ====> Client established passive DATA connection on port 41245 17:49:16.200085 < "TYPE I" 17:49:16.200120 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.200269 < "SIZE verifiedserver" 17:49:16.200303 > "213 17[CR][LF]" 17:49:16.200446 < "RETR verifiedserver" 17:49:16.200480 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.200568 =====> Closing passive DATA connection... 17:49:16.200588 Server disconnects passive DATA connection 17:49:16.200820 Server disconnected passive DATA connection 17:49:16.200846 DATA sockfilt for passive data channel quits (pid 83695) 17:49:16.201119 DATA sockfilt for passive data channel quit (pid 83695) 17:49:16.201143 =====> Closed passive DATA connection 17:49:16.201174 > "226 File transfer complete[CR][LF]" 17:49:16.247149 < "QUIT" 17:49:16.247199 > "221 bye bye baby[CR][LF]" 17:49:16.248376 MAIN sockfilt said DISC 17:49:16.248416 ====> Client disconnected 17:49:16.248484 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:17.041891 ====> Client connect 17:49:17.042201 Received DATA (on stdin) 17:49:17.042216 > 146 bytes data, server => client 17:49:17.042228 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:17.042239 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:17.042248 '220 \___|\___/|_| \_\_____|\r\n' 17:49:17.042322 < 16 bytes data, client => server 17:49:17.042334 'USER anonymous\r\n' 17:49:17.042531 Received DATA (on stdin) 17:49:17.042542 > 33 bytes data, server => client 17:49:17.042553 '331 We are happy you popped in!\r\n' 17:49:17.042604 < 22 bytes data, client => server 17:49:17.042614 'PASS ftp@example.com\r\n' 17:49:17.042732 Received DATA (on stdin) 17:49:17.042747 > 30 bytes data, server => client 17:49:17.042757 '230 Welcome you silly person\r\n' 17:49:17.042801 < 5 bytes data, client => server 17:49:17.042811 'PWD\r\n' 17:49:17.042932 Received DATA (on stdin) 17:49:17.042943 > 30 bytes data, server => client 17:49:17.042954 '257 "/" is current directory\r\n' 17:49:17.043010 < 6 bytes data, client => server 17:49:17.043020 'EPSV\r\n' 17:49:17.045892 Received DATA (on stdin) 17:49:17.045905 > 39 bytes data, server => client 17:49:17.045916 '229 Entering Passive Mode (|||41245|)\r\n' 17:49:17.046153 < 8 bytes data, client => server 17:49:17.046165 'TYPE I\r\n' 17:49:17.046309 Received DATA (on stdin) 17:49:17.046320 > 33 bytes data, server => client 17:49:17.046329 '200 I modify TYPE as you wanted\r\n' 17:49:17.046378 < 21 bytes data, client => server 17:49:17.046387 'SIZE verifiedserver\r\n' 17:49:17.046490 Received DATA (on stdin) 17:49:17.046501 > 8 bytes data, server => client 17:49:17.046509 '213 17\r\n' 17:49:17.046552 < 21 bytes data, client => server 17:49:17.046563 'RETR verifiedserver\r\n' 17:49:17.046778 Received DATA (on stdin) 17:49:17.046789 > 29 bytes data, server => client 17:49:17.046799 '150 Binary junk (17 bytes).\r\n' 17:49:17.047364 Received DATA (on stdin) 17:49:17.047376 > 28 bytes data, server => client 17:49:17.047388 '226 File transfer complete\r\n' 17:49:17.093162 < 6 bytes data, client => server 17:49:17.093187 'QUIT\r\n' 17:49:17.093390 Received DATA (on stdin) 17:49:17.093402 > 18 bytes data, server => client 17:49:17.093411 '221 bye bye baby\r\n' 17:49:17.094498 ====> Client disconnect 17:49:17.094675 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.045380 Running IPv4 version 17:49:16.045447 Listening on port 41245 17:49:16.045489 Wrote pid 83695 to log/24/server/ftp_sockdata.pid 17:49:16.045650 Received PING (on stdin) 17:49:16.045733 Received PORT (on stdin) 17:49:16.046049 ====> Client connect 17:49:16.046825 Received DATA (on stdin) 17:49:16.046838 > 17 bytes data, server => client 17:49:16.046849 'WE ROOLZ: 81152\r\n' 17:49:16.046872 Received DISC (on stdin) 17:49:16.046883 ====> Client forcibly disconnected 17:49:16.047045 Received QUIT (on stdin) 17:49:16.047056 quits 17:49:16.047131 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 143 === End of file server.cmd === Start of file valgrind143 ==83774== ==83774== Process terminating with default action of signal 4 (SIGILL) ==83774== Illegal opcode at address 0x4014520 ==83774== at 0x4014520: getparameter (tool_getparam.c:2862) ==83774== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83774== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83774== by 0x4003728: main (tool_main.c:186) === End of file valgrind143 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/2/valgrind146 ../src/curl -q --output log/2/curl146.out --include --trace-ascii log/2/trace146 --trace-time ftp://127.0.0.1:40597/first/dir/here/146 ftp://127.0.0.1:40597/146 > log/2/stdout146 2> log/2/stderr146 146: 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 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/2/valgrind146 ../src/curl -q --output log/2/curl146.out --include --trace-ascii log/2/trace146 --trace-time ftp://127.0.0.1:40597/first/dir/here/146 ftp://127.0.0.1:40597/146 > log/2/stdout146 2> log/2/stderr146 === End of file commands.log === Start of file ftp_server.log 17:49:16.224361 ====> Client connect 17:49:16.224512 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.224747 < "USER anonymous" 17:49:16.224781 > "331 We are happy you popped in![CR][LF]" 17:49:16.224913 < "PASS ftp@example.com" 17:49:16.224935 > "230 Welcome you silly person[CR][LF]" 17:49:16.225051 < "PWD" 17:49:16.225076 > "257 "/" is current directory[CR][LF]" 17:49:16.225198 < "EPSV" 17:49:16.225221 ====> Passive DATA channel requested by client 17:49:16.225233 DATA sockfilt for passive data channel starting... 17:49:16.227100 DATA sockfilt for passive data channel started (pid 83734) 17:49:16.227222 DATA sockfilt for passive data channel listens on port 45509 17:49:16.227270 > "229 Entering Passive Mode (|||45509|)[CR][LF]" 17:49:16.227290 Client has been notified that DATA conn will be accepted on port 45509 17:49:16.227515 Client connects to port 45509 17:49:16.227547 ====> Client established passive DATA connection on port 45509 17:49:16.227632 < "TYPE I" 17:49:16.227666 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.227842 < "SIZE verifiedserver" 17:49:16.227878 > "213 17[CR][LF]" 17:49:16.228050 < "RETR verifiedserver" 17:49:16.228086 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.228169 =====> Closing passive DATA connection... 17:49:16.228188 Server disconnects passive DATA connection 17:49:16.228409 Server disconnected passive DATA connection 17:49:16.228439 DATA sockfilt for passive data channel quits (pid 83734) 17:49:16.228649 DATA sockfilt for passive data channel quit (pid 83734) 17:49:16.228680 =====> Closed passive DATA connection 17:49:16.228712 > "226 File transfer complete[CR][LF]" 17:49:16.278965 < "QUIT" 17:49:16.279028 > "221 bye bye baby[CR][LF]" 17:49:16.284081 MAIN sockfilt said DISC 17:49:16.284124 ====> Client disconnected 17:49:16.284201 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:17.070444 ====> Client connect 17:49:17.070706 Received DATA (on stdin) 17:49:17.070717 > 146 bytes data, server => client 17:49:17.070726 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:17.070734 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:17.070741 '220 \___|\___/|_| \_\_____|\r\n' 17:49:17.070802 < 16 bytes data, client => server 17:49:17.070811 'USER anonymous\r\n' 17:49:17.070965 Received DATA (on stdin) 17:49:17.070975 > 33 bytes data, server => client 17:49:17.070983 '331 We are happy you popped in!\r\n' 17:49:17.071023 < 22 bytes data, client => server 17:49:17.071031 'PASS ftp@example.com\r\n' 17:49:17.071119 Received DATA (on stdin) 17:49:17.071127 > 30 bytes data, server => client 17:49:17.071135 '230 Welcome you silly person\r\n' 17:49:17.071170 < 5 bytes data, client => server 17:49:17.071177 'PWD\r\n' 17:49:17.071261 Received DATA (on stdin) 17:49:17.071269 > 30 bytes data, server => client 17:49:17.071277 '257 "/" is current directory\r\n' 17:49:17.071318 < 6 bytes data, client => server 17:49:17.071326 'EPSV\r\n' 17:49:17.073486 Received DATA (on stdin) 17:49:17.073498 > 39 bytes data, server => client 17:49:17.073509 '229 Entering Passive Mode (|||45509|)\r\n' 17:49:17.073653 < 8 bytes data, client => server 17:49:17.073665 'TYPE I\r\n' 17:49:17.073852 Received DATA (on stdin) 17:49:17.073865 > 33 bytes data, server => client 17:49:17.073875 '200 I modify TYPE as you wanted\r\n' 17:49:17.073929 < 21 bytes data, client => server 17:49:17.073942 'SIZE verifiedserver\r\n' 17:49:17.074069 Received DATA (on stdin) 17:49:17.074082 > 8 bytes data, server => client 17:49:17.074092 '213 17\r\n' 17:49:17.074148 < 21 bytes data, client => server 17:49:17.074161 'RETR verifiedserver\r\n' 17:49:17.074378 Received DATA (on stdin) 17:49:17.074390 > 29 bytes data, server => client 17:49:17.074400 '150 Binary junk (17 bytes).\r\n' 17:49:17.074902 Received DATA (on stdin) 17:49:17.074914 > 28 bytes data, server => client 17:49:17.074924 '226 File transfer complete\r\n' 17:49:17.124931 < 6 bytes data, client => server 17:49:17.124959 'QUIT\r\n' 17:49:17.125223 Received DATA (on stdin) 17:49:17.125235 > 18 bytes data, server => client 17:49:17.125245 '221 bye bye baby\r\n' 17:49:17.130198 ====> Client disconnect 17:49:17.130391 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.073091 Running IPv4 version 17:49:16.073159 Listening on port 45509 17:49:16.073201 Wrote pid 83734 to log/2/server/ftp_sockdata.pid 17:49:16.073221 Received PING (on stdin) 17:49:16.073322 Received PORT (on stdin) 17:49:16.073626 ====> Client connect 17:49:16.074425 Received DATA (on stdin) 17:49:16.074438 > 17 bytes data, server => client 17:49:16.074447 'WE ROOLZ: 81160\r\n' 17:49:16.074470 Received DISC (on stdin) 17:49:16.074481 ====> Client forcibly disconnected 17:49:16.074635 Received QUIT (on stdin) 17:49:16.074646 quits 17:49:16.074709 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 146 === End of file server.cmd === Start of file valgrind146 ==83909== ==83909== Process terminating with default action of signal 4 (SIGILL) ==83909== Illegal opcode at address 0x4014520 ==83909== at 0x4014520: getparameter (tool_getparam.c:2862) ==83909== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83909== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83909== by 0x4003728: main (tool_main.c:186) === End of file valgrind146 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/23/valgrind144 ../src/curl -q --output log/23/curl144.out --include --trace-ascii log/23/trace144 --trace-time ftp://127.0.0.1:46399/ -P - -l > log/23/stdout144 2> log/23/stderr144 144: 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 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/23/valgrind144 ../src/curl -q --output log/23/curl144.out --include --trace-ascii log/23/trace144 --trace-time ftp://127.0.0.1:46399/ -P - -l > log/23/stdout144 2> log/23/stderr144 === End of file commands.log === Start of file ftp_server.log 17:49:16.205196 ====> Client connect 17:49:16.205367 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.205657 < "USER anonymous" 17:49:16.205693 > "331 We are happy you popped in![CR][LF]" 17:49:16.205858 < "PASS ftp@example.com" 17:49:16.205886 > "230 Welcome you silly person[CR][LF]" 17:49:16.206032 < "PWD" 17:49:16.206064 > "257 "/" is current directory[CR][LF]" 17:49:16.206215 < "EPSV" 17:49:16.206245 ====> Passive DATA channel requested by client 17:49:16.206261 DATA sockfilt for passive data channel starting... 17:49:16.208043 DATA sockfilt for passive data channel started (pid 83701) 17:49:16.208155 DATA sockfilt for passive data chanCMD (33792): ../libtool --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/valgrind148 ../src/curl -q --output log/4/curl148.out --include --trace-ascii log/4/trace148 --trace-time ftp://127.0.0.1:40307/attempt/to/get/this/148 --ftp-create-dirs > log/4/stdout148 2> log/4/stderr148 nel listens on port 46707 17:49:16.208204 > "229 Entering Passive Mode (|||46707|)[CR][LF]" 17:49:16.208225 Client has been notified that DATA conn will be accepted on port 46707 17:49:16.208476 Client connects to port 46707 17:49:16.208550 ====> Client established passive DATA connection on port 46707 17:49:16.208647 < "TYPE I" 17:49:16.208680 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.208859 < "SIZE verifiedserver" 17:49:16.208895 > "213 17[CR][LF]" 17:49:16.209019 < "RETR verifiedserver" 17:49:16.209046 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.209116 =====> Closing passive DATA connection... 17:49:16.209128 Server disconnects passive DATA connection 17:49:16.209328 Server disconnected passive DATA connection 17:49:16.209351 DATA sockfilt for passive data channel quits (pid 83701) 17:49:16.209559 DATA sockfilt for passive data channel quit (pid 83701) 17:49:16.209578 =====> Closed passive DATA connection 17:49:16.209608 > "226 File transfer complete[CR][LF]" 17:49:16.253722 < "QUIT" 17:49:16.253774 > "221 bye bye baby[CR][LF]" 17:49:16.256684 MAIN sockfilt said DISC 17:49:16.256729 ====> Client disconnected 17:49:16.256789 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:17.051269 ====> Client connect 17:49:17.051567 Received DATA (on stdin) 17:49:17.051581 > 146 bytes data, server => client 17:49:17.051593 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:17.051603 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:17.051612 '220 \___|\___/|_| \_\_____|\r\n' 17:49:17.051684 < 16 bytes data, client => server 17:49:17.051695 'USER anonymous\r\n' 17:49:17.051885 Received DATA (on stdin) 17:49:17.051896 > 33 bytes data, server => client 17:49:17.051906 '331 We are happy you popped in!\r\n' 17:49:17.051957 < 22 bytes data, client => server 17:49:17.051968 'PASS ftp@example.com\r\n' 17:49:17.052073 Received DATA (on stdin) 17:49:17.052084 > 30 bytes data, server => client 17:49:17.052094 '230 Welcome you silly person\r\n' 17:49:17.052141 < 5 bytes data, client => server 17:49:17.052151 'PWD\r\n' 17:49:17.052252 Received DATA (on stdin) 17:49:17.052262 > 30 bytes data, server => client 17:49:17.052272 '257 "/" is current directory\r\n' 17:49:17.052325 < 6 bytes data, client => server 17:49:17.052335 'EPSV\r\n' 17:49:17.054422 Received DATA (on stdin) 17:49:17.054435 > 39 bytes data, server => client 17:49:17.054446 '229 Entering Passive Mode (|||46707|)\r\n' 17:49:17.054610 < 8 bytes data, client => server 17:49:17.054638 'TYPE I\r\n' 17:49:17.054872 Received DATA (on stdin) 17:49:17.054887 > 33 bytes data, server => client 17:49:17.054896 '200 I modify TYPE as you wanted\r\n' 17:49:17.054964 < 21 bytes data, client => server 17:49:17.054973 'SIZE verifiedserver\r\n' 17:49:17.055080 Received DATA (on stdin) 17:49:17.055090 > 8 bytes data, server => client 17:49:17.055097 '213 17\r\n' 17:49:17.055138 < 21 bytes data, client => server 17:49:17.055146 'RETR verifiedserver\r\n' 17:49:17.055313 Received DATA (on stdin) 17:49:17.055321 > 29 bytes data, server => client 17:49:17.055329 '150 Binary junk (17 bytes).\r\n' 17:49:17.055796 Received DATA (on stdin) 17:49:17.055806 > 28 bytes data, server => client 17:49:17.055814 '226 File transfer complete\r\n' 17:49:17.099734 < 6 bytes data, client => server 17:49:17.099757 'QUIT\r\n' 17:49:17.101912 Received DATA (on stdin) 17:49:17.101932 > 18 bytes data, server => client 17:49:17.101943 '221 bye bye baby\r\n' 17:49:17.102790 ====> Client disconnect 17:49:17.102982 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.054048 Running IPv4 version 17:49:16.054113 Listening on port 46707 17:49:16.054152 Wrote pid 83701 to log/23/server/ftp_sockdata.pid 17:49:16.054174 Received PING (on stdin) 17:49:16.054260 Received PORT (on stdin) 17:49:16.054579 ====> Client connect 17:49:16.055353 Received DATA (on stdin) 17:49:16.055366 > 17 bytes data, server => client 17:49:16.055374 'WE ROOLZ: 81154\r\n' 17:49:16.055399 Received DISC (on stdin) 17:49:16.055407 ====> Client forcibly disconnected 17:49:16.055543 Received QUIT (on stdin) 17:49:16.055553 quits 17:49:16.055612 ============> 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 ==83813== ==83813== Process terminating with default action of signal 4 (SIGILL) ==83813== Illegal opcode at address 0x4014520 ==83813== at 0x4014520: getparameter (tool_getparam.c:2862) ==83813== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==83813== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==83813== by 0x4003728: main (tool_main.c:186) === End of file valgrind144 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/4/valgrind148 ../src/curl -q --output log/4/curl148.out --include --trace-ascii log/4/trace148 --trace-time ftp://127.0.0.1:40307/attempt/to/get/this/148 --ftp-create-dirs > log/4/stdout148 2> log/4/stderr148 148: 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 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/4/valgrind148 ../src/curl -q --output log/4/curl148.out --include --trace-ascii log/4/trace148 --trace-time ftp://127.0.0.1:40307/attempt/to/get/this/148 --ftp-create-dirs > log/4/stdout148 2> log/4/stderr148 === End of file commands.log === Start of file ftp_server.log 17:49:16.314498 ====> Client connect 17:49:16.314670 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.314964 < "USER anonymous" 17:49:16.315006 > "331 We are happy you popped in![CR][LF]" 17:49:16.315191 < "PASS ftp@example.com" 17:49:16.315224 > "230 Welcome you silly person[CR][LF]" 17:49:16.315381 < "PWD" 17:49:16.315414 > "257 "/" is current directory[CR][LF]" 17:49:16.315575 < "EPSV" 17:49:16.315603 ====> Passive DATA channel requested by client 17:49:16.315618 DATA sockfilt for passive data channel starting... 17:49:16.317831 DATA sockfilt for passive data channel started (pid 84018) 17:49:16.317956 DATA sockfilt for passive data channel listens on port 36209 17:49:16.317999 > "229 Entering Passive Mode (|||36209|)[CR][LF]" 17:49:16.318019 Client has been notified that DATA conn will be accepted on port 36209 17:49:16.318271 Client connects to port 36209 17:49:16.318359 ====> Client established passive DATA connection on port 36209 17:49:16.318489 < "TYPE I" 17:49:16.318535 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.318778 < "SIZE verifiedserver" 17:49:16.318828 > "213 17[CR][LF]" 17:49:16.318985 < "RETR verifiedserver" 17:49:16.319026 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.319135 =====> Closing passive DATA connection... 17:49:16.319153 Server disconnects passive DATA connection 17:49:16.319281 Server disconnected passive DATA connection 17:49:16.319324 DATA sockfilt for passive data channel quits (pid 84018) 17:49:16.319542 DATA sockfilt for passive data channel quit (pid 84018) 17:49:16.319568 =====> Closed passive DATA connection 17:49:16.319594 > "226 File transfer complete[CR][LF]" 17:49:16.363762 < "QUIT" 17:49:16.363812 > "221 bye bye baby[CR][LF]" 17:49:16.364725 MAIN sockfilt said DISC 17:49:16.364760 ====> Client disconnected 17:49:16.364827 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:16.160554 ====> Client connect 17:49:16.160875 Received DATA (on stdin) 17:49:16.160891 > 146 bytes 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/11/valgrind149 ../src/curl -q --output log/11/curl149.out --include --trace-ascii log/11/trace149 --trace-time -T log/11/upload149 ftp://127.0.0.1:36233/dir1/149 -T log/11/upload149 ftp://127.0.0.1:36233/dir2/149 > log/11/stdout149 2> log/11/stderr149 ata, server => client 17:49:16.160903 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:16.160913 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:16.160923 '220 \___|\___/|_| \_\_____|\r\n' 17:49:16.160997 < 16 bytes data, client => server 17:49:16.161009 'USER anonymous\r\n' 17:49:16.161200 Received DATA (on stdin) 17:49:16.161213 > 33 bytes data, server => client 17:49:16.161224 '331 We are happy you popped in!\r\n' 17:49:16.161276 < 22 bytes data, client => server 17:49:16.161287 'PASS ftp@example.com\r\n' 17:49:16.161412 Received DATA (on stdin) 17:49:16.161423 > 30 bytes data, server => client 17:49:16.161434 '230 Welcome you silly person\r\n' 17:49:16.161482 < 5 bytes data, client => server 17:49:16.161493 'PWD\r\n' 17:49:16.161602 Received DATA (on stdin) 17:49:16.161613 > 30 bytes data, server => client 17:49:16.161623 '257 "/" is current directory\r\n' 17:49:16.161679 < 6 bytes data, client => server 17:49:16.161690 'EPSV\r\n' 17:49:16.164218 Received DATA (on stdin) 17:49:16.164234 > 39 bytes data, server => client 17:49:16.164246 '229 Entering Passive Mode (|||36209|)\r\n' 17:49:16.164396 < 8 bytes data, client => server 17:49:16.164407 'TYPE I\r\n' 17:49:16.164737 Received DATA (on stdin) 17:49:16.164759 > 33 bytes data, server => client 17:49:16.164770 '200 I modify TYPE as you wanted\r\n' 17:49:16.164872 < 21 bytes data, client => server 17:49:16.164884 'SIZE verifiedserver\r\n' 17:49:16.165019 Received DATA (on stdin) 17:49:16.165031 > 8 bytes data, server => client 17:49:16.165040 '213 17\r\n' 17:49:16.165090 < 21 bytes data, client => server 17:49:16.165101 'RETR verifiedserver\r\n' 17:49:16.165317 Received DATA (on stdin) 17:49:16.165337 > 29 bytes data, server => client 17:49:16.165347 '150 Binary junk (17 bytes).\r\n' 17:49:16.165784 Received DATA (on stdin) 17:49:16.165795 > 28 bytes data, server => client 17:49:16.165803 '226 File transfer complete\r\n' 17:49:16.209788 < 6 bytes data, client => server 17:49:16.209812 'QUIT\r\n' 17:49:16.210006 Received DATA (on stdin) 17:49:16.210018 > 18 bytes data, server => client 17:49:16.210029 '221 bye bye baby\r\n' 17:49:16.210863 ====> Client disconnect 17:49:16.211019 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.163673 Running IPv4 version 17:49:16.163738 Listening on port 36209 17:49:16.163785 Wrote pid 84018 to log/4/server/ftp_sockdata.pid 17:49:16.163961 Received PING (on stdin) 17:49:16.164051 Received PORT (on stdin) 17:49:16.164367 ====> Client connect 17:49:16.165320 Received DATA (on stdin) 17:49:16.165342 > 17 bytes data, server => client 17:49:16.165354 'WE ROOLZ: 80996\r\n' 17:49:16.165391 Received DISC (on stdin) 17:49:16.165407 ====> Client forcibly disconnected 17:49:16.165526 Received QUIT (on stdin) 17:49:16.165537 quits 17:49:16.165595 ============> 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 ==84093== ==84093== Process terminating with default action of signal 4 (SIGILL) ==84093== Illegal opcode at address 0x4014520 ==84093== at 0x4014520: getparameter (tool_getparam.c:2862) ==84093== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84093== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84093== by 0x4003728: main (tool_main.c:186) === End of file valgrind148 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/11/valgrind149 ../src/curl -q --output log/11/curl149.out --include --trace-ascii log/11/trace149 --trace-time -T log/11/upload149 ftp://127.0.0.1:36233/dir1/149 -T log/11/upload149 ftp://127.0.0.1:36233/dir2/149 > log/11/stdout149 2> log/11/stderr149 149: 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 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/11/valgrind149 ../src/curl -q --output log/11/curl149.out --include --trace-ascii log/11/trace149 --trace-time -T log/11/upload149 ftp://127.0.0.1:36233/dir1/149 -T log/11/upload149 ftp://127.0.0.1:36233/dir2/149 > log/11/stdout149 2> log/11/stderr149 === End of file commands.log === Start of file ftp_server.log 17:49:16.314498 ====> Client connect 17:49:16.314670 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.314956 < "USER anonymous" 17:49:16.314993 > "331 We are happy you popped in![CR][LF]" 17:49:16.315170 < "PASS ftp@example.com" 17:49:16.315196 > "230 Welcome you silly person[CR][LF]" 17:49:16.315360 < "PWD" 17:49:16.315394 > "257 "/" is current directory[CR][LF]" 17:49:16.315569 < "EPSV" 17:49:16.315595 ====> Passive DATA channel requested by client 17:49:16.315611 DATA sockfilt for passive data channel starting... 17:49:16.317687 DATA sockfilt for passive data channel started (pid 84016) 17:49:16.317805 DATA sockfilt for passive data channel listens on port 33729 17:49:16.317854 > "229 Entering Passive Mode (|||33729|)[CR][LF]" 17:49:16.317875 Client has been notified that DATA conn will be accepted on port 33729 17:49:16.318111 Client connects to port 33729 17:49:16.318143 ====> Client established passive DATA connection on port 33729 17:49:16.318223 < "TYPE I" 17:49:16.318255 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.318424 < "SIZE verifiedserver" 17:49:16.318462 > "213 17[CR][LF]" 17:49:16.318631 < "RETR verifiedserver" 17:49:16.318667 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.318764 =====> Closing passive DATA connection... 17:49:16.318785 Server disconnects passive DATA connection 17:49:16.319048 Server disconnected passive DATA connection 17:49:16.319080 DATA sockfilt for passive data channel quits (pid 84016) 17:49:16.319324 DATA sockfilt for passive data channel quit (pid 84016) 17:49:16.319347 =====> Closed passive DATA connection 17:49:16.319377 > "226 File transfer complete[CR][LF]" 17:49:16.363568 < "QUIT" 17:49:16.363615 > "221 bye bye baby[CR][LF]" 17:49:16.364677 MAIN sockfilt said DISC 17:49:16.364708 ====> Client disconnected 17:49:16.364770 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:16.160554 ====> Client connect 17:49:16.160870 Received DATA (on stdin) 17:49:16.160884 > 146 bytes data, server => client 17:49:16.160897 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:16.160908 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:16.160917 '220 \___|\___/|_| \_\_____|\r\n' 17:49:16.160996 < 16 bytes data, client => server 17:49:16.161009 'USER anonymous\r\n' 17:49:16.161186 Received DATA (on stdin) 17:49:16.161198 > 33 bytes data, server => client 17:49:16.161209 '331 We are happy you popped in!\r\n' 17:49:16.161263 < 22 bytes data, client => server 17:49:16.161276 'PASS ftp@example.com\r\n' 17:49:16.161387 Received DATA (on stdin) 17:49:16.161398 > 30 bytes data, server => client 17:49:16.161409 '230 Welcome you silly person\r\n' 17:49:16.161461 < 5 bytes data, client => server 17:49:16.161473 'PWD\r\n' 17:49:16.161584 Received DATA (on stdin) 17:49:16.161596 > 30 bytes data, server => client 17:49:16.161607 '257 "/" is current directory\r\n' 17:49:16.161670 < 6 bytes data, client => server 17:49:16.161682 'EPSV\r\n' 17:49:16.164070 Received DATA (on stdin) 17:49:16.164083 > 39 bytes data, server => client 17:49:16.164093 '229 Entering Passive Mode (|||33729|)\r\n' 17:49:16.164219 < 8 bytes data, client => server 17:49:16.164233 '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/9/valgrind151 ../src/curl -q --output log/9/curl151.out --include --trace-ascii log/9/trace151 --trace-time http://127.0.0.1:37413/151 > log/9/stdout151 2> log/9/stderr151 CMD (33792): ../libtool --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/valgrind152 ../src/curl -q --output log/12/curl152.out --include --trace-ascii log/12/trace152 --trace-time http://127.0.0.1:36641/152 --fail > log/12/stdout152 2> log/12/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/19/valgrind153 ../src/curl -q --include --trace-ascii log/19/trace153 --trace-time http://127.0.0.1:36987/1530001 -u testuser:testpass --digest http://127.0.0.1:36987/1530002 > log/19/stdout153 2> log/19/stderr153 r\n' 17:49:16.164447 Received DATA (on stdin) 17:49:16.164459 > 33 bytes data, server => client 17:49:16.164470 '200 I modify TYPE as you wanted\r\n' 17:49:16.164524 < 21 bytes data, client => server 17:49:16.164537 'SIZE verifiedserver\r\n' 17:49:16.164654 Received DATA (on stdin) 17:49:16.164665 > 8 bytes data, server => client 17:49:16.164676 '213 17\r\n' 17:49:16.164729 < 21 bytes data, client => server 17:49:16.164743 'RETR verifiedserver\r\n' 17:49:16.164979 Received DATA (on stdin) 17:49:16.164991 > 29 bytes data, server => client 17:49:16.165002 '150 Binary junk (17 bytes).\r\n' 17:49:16.165567 Received DATA (on stdin) 17:49:16.165580 > 28 bytes data, server => client 17:49:16.165591 '226 File transfer complete\r\n' 17:49:16.209602 < 6 bytes data, client => server 17:49:16.209623 'QUIT\r\n' 17:49:16.209805 Received DATA (on stdin) 17:49:16.209816 > 18 bytes data, server => client 17:49:16.209825 '221 bye bye baby\r\n' 17:49:16.210815 ====> Client disconnect 17:49:16.210957 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.163567 Running IPv4 version 17:49:16.163625 Listening on port 33729 17:49:16.163662 Wrote pid 84016 to log/11/server/ftp_sockdata.pid 17:49:16.163821 Received PING (on stdin) 17:49:16.163904 Received PORT (on stdin) 17:49:16.164254 ====> Client connect 17:49:16.165030 Received DATA (on stdin) 17:49:16.165043 > 17 bytes data, server => client 17:49:16.165055 'WE ROOLZ: 80983\r\n' 17:49:16.165084 Received DISC (on stdin) 17:49:16.165095 ====> Client forcibly disconnected 17:49:16.165279 Received QUIT (on stdin) 17:49:16.165290 quits 17:49:16.165367 ============> 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 ==84094== ==84094== Process terminating with default action of signal 4 (SIGILL) ==84094== Illegal opcode at address 0x4014520 ==84094== at 0x4014520: getparameter (tool_getparam.c:2862) ==84094== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84094== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84094== by 0x4003728: main (tool_main.c:186) === 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/9/valgrind151 ../src/curl -q --output log/9/curl151.out --include --trace-ascii log/9/trace151 --trace-time http://127.0.0.1:37413/151 > log/9/stdout151 2> log/9/stderr151 151: 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 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/9/valgrind151 ../src/curl -q --output log/9/curl151.out --include --trace-ascii log/9/trace151 --trace-time http://127.0.0.1:37413/151 > log/9/stdout151 2> log/9/stderr151 === End of file commands.log === Start of file http_server.log 17:49:16.246238 ====> Client connect 17:49:16.246274 accept_connection 3 returned 4 17:49:16.246291 accept_connection 3 returned 0 17:49:16.246304 Read 93 bytes 17:49:16.246314 Process 93 bytes request 17:49:16.246325 Got request: GET /verifiedserver HTTP/1.1 17:49:16.246334 Are-we-friendly question received 17:49:16.246360 Wrote request (93 bytes) input to log/9/server.input 17:49:16.246376 Identifying ourselves as friends 17:49:16.246441 Response sent (56 bytes) and written to log/9/server.response 17:49:16.246452 special request received, no persistency 17:49:16.246460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 33758 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind151 ==84185== ==84185== Process terminating with default action of signal 4 (SIGILL) ==84185== Illegal opcode at address 0x4014520 ==84185== at 0x4014520: getparameter (tool_getparam.c:2862) ==84185== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84185== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84185== by 0x4003728: main (tool_main.c:186) === End of file valgrind151 test 0152...[HTTP GET 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/12/valgrind152 ../src/curl -q --output log/12/curl152.out --include --trace-ascii log/12/trace152 --trace-time http://127.0.0.1:36641/152 --fail > log/12/stdout152 2> log/12/stderr152 152: 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 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/12/valgrind152 ../src/curl -q --output log/12/curl152.out --include --trace-ascii log/12/trace152 --trace-time http://127.0.0.1:36641/152 --fail > log/12/stdout152 2> log/12/stderr152 === End of file commands.log === Start of file http_server.log 17:49:16.330632 ====> Client connect 17:49:16.330670 accept_connection 3 returned 4 17:49:16.330688 accept_connection 3 returned 0 17:49:16.330703 Read 93 bytes 17:49:16.330713 Process 93 bytes request 17:49:16.330726 Got request: GET /verifiedserver HTTP/1.1 17:49:16.330735 Are-we-friendly question received 17:49:16.330762 Wrote request (93 bytes) input to log/12/server.input 17:49:16.330779 Identifying ourselves as friends 17:49:16.330837 Response sent (56 bytes) and written to log/12/server.response 17:49:16.330847 special request received, no persistency 17:49:16.330856 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 36146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind152 ==84384== ==84384== Process terminating with default action of signal 4 (SIGILL) ==84384== Illegal opcode at address 0x4014520 ==84384== at 0x4014520: getparameter (tool_getparam.c:2862) ==84384== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84384== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84384== by 0x4003728: main (tool_main.c:186) === End of file valgrind152 CMD (33792): ../libtool --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/valgrind154 ../src/curl -q --output log/10/curl154.out --include --trace-ascii log/10/trace154 --trace-time http://127.0.0.1:32889/154 -T log/10/put154 -u testuser:testpass --anyauth > log/10/stdout154 2> log/10/stderr154 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/19/valgrind153 ../src/curl -q --include --trace-ascii log/19/trace153 --trace-time http://127.0.0.1:36987/1530001 -u testuser:testpass --digest http://127.0.0.1:36987/1530002 > log/19/stdout153 2> log/19/stderr153 153: stdout FAILED: --- log/19/check-expected 2026-01-28 17:49:17.843222109 +0000 +++ log/19/check-generated 2026-01-28 17:49:17.843222109 +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/19/ 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/19/valgrind153 ../src/curl -q --include --trace-ascii log/19/trace153 --trace-time http://127.0.0.1:36987/1530001 -u testuser:testpass --digest http://127.0.0.1:36987/1530002 > log/19/stdout153 2> log/19/stderr153 === End of file commands.log === Start of file http_server.log 17:49:16.576248 ====> Client connect 17:49:16.576282 accept_connection 3 returned 4 17:49:16.576298 accept_connection 3 returned 0 17:49:16.576313 Read 93 bytes 17:49:16.576322 Process 93 bytes request 17:49:16.576345 Got request: GET /verifiedserver HTTP/1.1 17:49:16.576354 Are-we-friendly question received 17:49:16.576382 Wrote request (93 bytes) input to log/19/server.input 17:49:16.576402 Identifying ourselves as friends 17:49:16.576465 Response sent (56 bytes) and written to log/19/server.response 17:49:16.576479 special request received, no persistency 17:49:16.576488 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 54486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind153 ==84486== ==84486== Process terminating with default action of signal 4 (SIGILL) ==84486== Illegal opcode at address 0x4014520 ==84486== at 0x4014520: getparameter (tool_getparam.c:2862) ==84486== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84486== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84486== by 0x4003728: main (tool_main.c:186) === End of file valgrind153 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/10/valgrind154 ../src/curl -q --output log/10/curl154.out --include --trace-ascii log/10/trace154 --trace-time http://127.0.0.1:32889/154 -T log/10/put154 -u testuser:testpass --anyauth > log/10/stdout154 2> log/10/stderr154 154: 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 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/10/valgrind154 ../src/curl -q --output log/10/curl154.out --include --trace-ascii log/10/trace154 --trace-time http://127.0.0.1:32889/154 -T log/10/put154 -u testuser:testpass --anyauth > log/10/stdout154 2> log/10/stderr154 === End of file commands.log === Start of file http_server.log 17:49:16.584633 ====> Client connect 17:49:16.584666 accept_connection 3 returned 4 17:49:16.584683 accept_connection 3 returned 0 17:49:16.584697 Read 93 bytes 17:49:16.584707 Process 93 bytes request 17:49:16.584718 Got request: GET /verifiedserver HTTP/1.1 17:49:16.584727 Are-we-friendly question received 17:49:16.584753 Wrote request (93 bytes) input to log/10/server.input 17:49:16.584770 Identifying ourselves as friends 17:49:16.584830 Response sent (56 bytes) and written to log/10/server.response 17:49:16.584840 special request received, no persistency 17:49:16.584848 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 40108 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.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/6/valgrind156 ../src/curl -q --output log/6/curl156.out --include --trace-ascii log/6/trace156 --trace-time http://127.0.0.1:42747/156 -T log/6/put156 -u testuser:testpass --anyauth > log/6/stdout156 2> log/6/stderr156 CMD (33792): ../libtool --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/valgrind155 ../src/curl -q --output log/5/curl155.out --include --trace-ascii log/5/trace155 --trace-time http://127.0.0.1:46875/155 -T log/5/put155 -u testuser:testpass --anyauth > log/5/stdout155 2> log/5/stderr155 CMD (33792): ../libtool --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/valgrind157 ../src/curl -q --output log/22/curl157.out --include --trace-ascii log/22/trace157 --trace-time http://127.0.0.1:42933/157 -u testuser:testpass --anyauth > log/22/stdout157 2> log/22/stderr157 se === Start of file valgrind154 ==84488== ==84488== Process terminating with default action of signal 4 (SIGILL) ==84488== Illegal opcode at address 0x4014520 ==84488== at 0x4014520: getparameter (tool_getparam.c:2862) ==84488== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84488== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84488== by 0x4003728: main (tool_main.c:186) === End of file valgrind154 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/6/valgrind156 ../src/curl -q --output log/6/curl156.out --include --trace-ascii log/6/trace156 --trace-time http://127.0.0.1:42747/156 -T log/6/put156 -u testuser:testpass --anyauth > log/6/stdout156 2> log/6/stderr156 156: 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 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/6/valgrind156 ../src/curl -q --output log/6/curl156.out --include --trace-ascii log/6/trace156 --trace-time http://127.0.0.1:42747/156 -T log/6/put156 -u testuser:testpass --anyauth > log/6/stdout156 2> log/6/stderr156 === End of file commands.log === Start of file http_server.log 17:49:16.683243 ====> Client connect 17:49:16.683274 accept_connection 3 returned 4 17:49:16.683290 accept_connection 3 returned 0 17:49:16.683304 Read 93 bytes 17:49:16.683313 Process 93 bytes request 17:49:16.683327 Got request: GET /verifiedserver HTTP/1.1 17:49:16.683336 Are-we-friendly question received 17:49:16.683361 Wrote request (93 bytes) input to log/6/server.input 17:49:16.683378 Identifying ourselves as friends 17:49:16.683432 Response sent (56 bytes) and written to log/6/server.response 17:49:16.683442 special request received, no persistency 17:49:16.683450 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 52064 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === End of file http_verify.out === Start of file put156 This is data we upload with 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: 76292 === End of file server.response === Start of file valgrind156 ==84641== ==84641== Process terminating with default action of signal 4 (SIGILL) ==84641== Illegal opcode at address 0x4014520 ==84641== at 0x4014520: getparameter (tool_getparam.c:2862) ==84641== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84641== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84641== by 0x4003728: main (tool_main.c:186) === End of file valgrind156 test 0155...[HTTP PUT with --anyauth authorization (picking NTLM)] ../libtool --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/valgrind155 ../src/curl -q --output log/5/curl155.out --include --trace-ascii log/5/trace155 --trace-time http://127.0.0.1:46875/155 -T log/5/put155 -u testuser:testpass --anyauth > log/5/stdout155 2> log/5/stderr155 155: 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 155 === Start of file commands.log ../libtool --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/valgrind155 ../src/curl -q --output log/5/curl155.out --include --trace-ascii log/5/trace155 --trace-time http://127.0.0.1:46875/155 -T log/5/put155 -u testuser:testpass --anyauth > log/5/stdout155 2> log/5/stderr155 === End of file commands.log === Start of file http_server.log 17:49:16.684599 ====> Client connect 17:49:16.684632 accept_connection 3 returned 4 17:49:16.684647 accept_connection 3 returned 0 17:49:16.684660 Read 93 bytes 17:49:16.684669 Process 93 bytes request 17:49:16.684680 Got request: GET /verifiedserver HTTP/1.1 17:49:16.684689 Are-we-friendly question received 17:49:16.684712 Wrote request (93 bytes) input to log/5/server.input 17:49:16.684727 Identifying ourselves as friends 17:49:16.684780 Response sent (56 bytes) and written to log/5/server.response 17:49:16.684788 special request received, no persistency 17:49:16.684796 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 43674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === End of file http_verify.out === Start of file put155 This is data we upload with PUT a second line line three four is the number of lines === End of file put155 === Start of file server.cmd Testnum 155 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77918 === End of file server.response === Start of file valgrind155 ==84656== ==84656== Process terminating with default action of signal 4 (SIGILL) ==84656== Illegal opcode at address 0x4014520 ==84656== at 0x4014520: getparameter (tool_getparam.c:2862) ==84656== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84656== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84656== by 0x4003728: main (tool_main.c:186) === End of file valgrind155 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/22/valgrind157 ../src/curl -q --output log/22/curl157.out --include --trace-ascii log/22/trace157 --trace-time http://127.0.0.1:42933/157 -u testuser:testpass --anyauth > log/22/stdout157 2> log/22/stderr157 157: 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 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/22/valgrind157 ../src/curl -q --output log/22/curl157.out --include --trace-ascii log/22/trace157 --trace-time http://127.0.0.1:42933/157 -u testuser:testpass --anyauth > log/22/stdout157 2> log/22/stderr157 === End of file commands.log === Start of file http_server.log 17:49:16.690280 ====> Client connect 17:49:16.690321 accept_connection 3 returned 4 17:49:16.690338 accept_connection 3 returned 0 17:49:16.690352 Read 93 bytes 17:49:16.690362 Process 93 bytes request 17:49:16.690373 Got request: GET /verifiedserver HTTP/1.1 17:49:16.690382 Are-we-friendly question received 17:49:16.690411 Wrote request (93 bytes) input to log/22/server.input 17:49:16.690428 Identifying ourselves as frieCMD (33792): ../libtool --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/valgrind160 ../src/curl -q --include --trace-ascii log/3/trace160 --trace-time http://127.0.0.1:45927/want/160 http://127.0.0.1:45927/wantmore/1600001 > log/3/stdout160 2> log/3/stderr160 nds 17:49:16.690487 Response sent (56 bytes) and written to log/22/server.response 17:49:16.690497 special request received, no persistency 17:49:16.690506 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 44152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind157 ==84655== ==84655== Process terminating with default action of signal 4 (SIGILL) ==84655== Illegal opcode at address 0x4014520 ==84655== at 0x4014520: getparameter (tool_getparam.c:2862) ==84655== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84655== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84655== by 0x4003728: main (tool_main.c:186) === End of file valgrind157 CMD (33792): ../libtool --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/valgrind158 ../src/curl -q --output log/14/curl158.out --include --trace-ascii log/14/trace158 --trace-time http://127.0.0.1:37569/158 -F name=daniel > log/14/stdout158 2> log/14/stderr158 CMD (33792): ../libtool --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/valgrind162 ../src/curl -q --output log/21/curl162.out --include --trace-ascii log/21/trace162 --trace-time http://127.0.0.1:41669/162 --proxy http://127.0.0.1:41669 --proxy-user foo:bar --proxy-ntlm --fail > log/21/stdout162 2> log/21/stderr162 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/3/valgrind160 ../src/curl -q --include --trace-ascii log/3/trace160 --trace-time http://127.0.0.1:45927/want/160 http://127.0.0.1:45927/wantmore/1600001 > log/3/stdout160 2> log/3/stderr160 160: stdout FAILED: --- log/3/check-expected 2026-01-28 17:49:18.079888776 +0000 +++ log/3/check-generated 2026-01-28 17:49:18.079888776 +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/3/ 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/3/valgrind160 ../src/curl -q --include --trace-ascii log/3/trace160 --trace-time http://127.0.0.1:45927/want/160 http://127.0.0.1:45927/wantmore/1600001 > log/3/stdout160 2> log/3/stderr160 === End of file commands.log === Start of file http_server.log 17:49:16.808952 ====> Client connect 17:49:16.808981 accept_connection 3 returned 4 17:49:16.809014 accept_connection 3 returned 0 17:49:16.809028 Read 93 bytes 17:49:16.809037 Process 93 bytes request 17:49:16.809049 Got request: GET /verifiedserver HTTP/1.1 17:49:16.809057 Are-we-friendly question received 17:49:16.809079 Wrote request (93 bytes) input to log/3/server.input 17:49:16.809094 Identifying ourselves as friends 17:49:16.809149 Response sent (56 bytes) and written to log/3/server.response 17:49:16.809159 special request received, no persistency 17:49:16.809167 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 38738 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind160 ==84909== ==84909== Process terminating with default action of signal 4 (SIGILL) ==84909== Illegal opcode at address 0x4014520 ==84909== at 0x4014520: getparameter (tool_getparam.c:2862) ==84909== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84909== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84909== by 0x4003728: main (tool_main.c:186) === End of file valgrind160 test 0158...[HTTP multipart formpost with 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/14/valgrind158 ../src/curl -q --output log/14/curl158.out --include --trace-ascii log/14/trace158 --trace-time http://127.0.0.1:37569/158 -F name=daniel > log/14/stdout158 2> log/14/stderr158 158: 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 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/14/valgrind158 ../src/curl -q --output log/14/curl158.out --include --trace-ascii log/14/trace158 --trace-time http://127.0.0.1:37569/158 -F name=daniel > log/14/stdout158 2> log/14/stderr158 === End of file commands.log === Start of file http_server.log 17:49:17.778964 ====> Client connect 17:49:17.778996 accept_connection 3 returned 4 17:49:17.779010 accept_connection 3 returned 0 17:49:17.779023 Read 93 bytes 17:49:17.779031 Process 93 bytes request 17:49:17.779043 Got request: GET /verifiedserver HTTP/1.1 17:49:17.779051 Are-we-friendly question received 17:49:17.779072 Wrote request (93 bytes) input to log/14/server.input 17:49:17.779087 Identifying ourselves as friends 17:49:17.779139 Response sent (56 bytes) and written to log/14/server.response 17:49:17.779148 special request received, no persistency 17:49:17.779156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 57364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind158 ==84837== ==84837== Process terminating with default action of signal 4 (SIGILL) ==84837== Illegal opcode at address 0x4014520 ==84837== at 0x4014520: getparameter (tool_getparam.c:2862) ==84837== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84837== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84837== by 0x4003728: main (tool_main.c:186) === End of file valgrind158 test 0162...[HTTP GET asking for --proxy-ntlm when some other authentication is required] ../libtool --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/valgrind162 ../src/curl -q --output log/21/curl162.out --include --trace-ascii log/21/trace162 --trace-time http://127.0.0.1:41669/162 --proxy http://127.0.0.1:41669 --proxy-user foo:bar --proxy-ntlm --fail > log/21/stdout162 2> log/21/stderr162 162: 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 162 === Start of file commands.log ../libtool --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/valgrind162 ../src/curl -q --output log/21/curl162.out --include --trace-ascii log/21/trace162 --trace-time http://127.0.0.1:41669/162 --proxy http://127.0.0.1:41669 --proxy-user foo:bar --proxy-ntlm --fail > log/21/stdout162 2> log/21/stderr162 === End of file commands.log === Start of file http_server.log 17:49:16.812154 ====> Client connect 17:49:16.812189 accept_connection 3 returned 4 17:49:16.812203 accept_connection 3 returned 0 17:49:16.812221 Read 93 bytes 17:49:16.812229 Process 93 bytes request 17:49:16.812241 Got request: GET /verifiedserver HTTP/1.1 17:49:16.812249 Are-we-friendly question received 17:49:16.812274 Wrote request (93 bytes) input to log/21/server.input 17:49:16.812289 Identifying ourselves as friends 17:49:16.812343 Response sent (56 bytes) and written to log/21/server.response 17:49:16.812352 special requCMD (33792): ../libtool --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/valgrind161 ../src/curl -q --output log/16/curl161.out --include --trace-ascii log/16/trace161 --trace-time ftp://127.0.0.1:39205/161 > log/16/stdout161 2> log/16/stderr161 CMD (33792): ../libtool --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/valgrind163 ../src/curl -q --output log/1/curl163.out --include --trace-ascii log/1/trace163 --trace-time http://127.0.0.1:39589/we/want/163 -F "name= log/1/stdout163 2> log/1/stderr163 est received, no persistency 17:49:16.812362 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 52790 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === End of file http_verify.out === Start of file server.cmd Testnum 162 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74814 === End of file server.response === Start of file valgrind162 ==84912== ==84912== Process terminating with default action of signal 4 (SIGILL) ==84912== Illegal opcode at address 0x4014520 ==84912== at 0x4014520: getparameter (tool_getparam.c:2862) ==84912== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==84912== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==84912== by 0x4003728: main (tool_main.c:186) === End of file valgrind162 test 0161...[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/16/valgrind161 ../src/curl -q --output log/16/curl161.out --include --trace-ascii log/16/trace161 --trace-time ftp://127.0.0.1:39205/161 > log/16/stdout161 2> log/16/stderr161 161: 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 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/16/valgrind161 ../src/curl -q --output log/16/curl161.out --include --trace-ascii log/16/trace161 --trace-time ftp://127.0.0.1:39205/161 > log/16/stdout161 2> log/16/stderr161 === End of file commands.log === Start of file ftp_server.log 17:49:16.962778 ====> Client connect 17:49:16.962956 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:16.963239 < "USER anonymous" 17:49:16.963283 > "331 We are happy you popped in![CR][LF]" 17:49:16.963473 < "PASS ftp@example.com" 17:49:16.963504 > "230 Welcome you silly person[CR][LF]" 17:49:16.963648 < "PWD" 17:49:16.963679 > "257 "/" is current directory[CR][LF]" 17:49:16.963824 < "EPSV" 17:49:16.963846 ====> Passive DATA channel requested by client 17:49:16.963860 DATA sockfilt for passive data channel starting... 17:49:16.965732 DATA sockfilt for passive data channel started (pid 84891) 17:49:16.965842 DATA sockfilt for passive data channel listens on port 34513 17:49:16.965894 > "229 Entering Passive Mode (|||34513|)[CR][LF]" 17:49:16.965913 Client has been notified that DATA conn will be accepted on port 34513 17:49:16.966147 Client connects to port 34513 17:49:16.966178 ====> Client established passive DATA connection on port 34513 17:49:16.966264 < "TYPE I" 17:49:16.966294 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:16.966455 < "SIZE verifiedserver" 17:49:16.966489 > "213 17[CR][LF]" 17:49:16.966641 < "RETR verifiedserver" 17:49:16.966686 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:16.966779 =====> Closing passive DATA connection... 17:49:16.966796 Server disconnects passive DATA connection 17:49:16.967021 Server disconnected passive DATA connection 17:49:16.967051 DATA sockfilt for passive data channel quits (pid 84891) 17:49:16.967296 DATA sockfilt for passive data channel quit (pid 84891) 17:49:16.967321 =====> Closed passive DATA connection 17:49:16.967349 > "226 File transfer complete[CR][LF]" 17:49:17.010449 < "QUIT" 17:49:17.010511 > "221 bye bye baby[CR][LF]" 17:49:17.011403 MAIN sockfilt said DISC 17:49:17.011468 ====> Client disconnected 17:49:17.011561 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:16.808840 ====> Client connect 17:49:16.809162 Received DATA (on stdin) 17:49:16.809177 > 146 bytes data, server => client 17:49:16.809189 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:16.809198 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:16.809206 '220 \___|\___/|_| \_\_____|\r\n' 17:49:16.809275 < 16 bytes data, client => server 17:49:16.809286 'USER anonymous\r\n' 17:49:16.809473 Received DATA (on stdin) 17:49:16.809485 > 33 bytes data, server => client 17:49:16.809495 '331 We are happy you popped in!\r\n' 17:49:16.809556 < 22 bytes data, client => server 17:49:16.809567 'PASS ftp@example.com\r\n' 17:49:16.809690 Received DATA (on stdin) 17:49:16.809700 > 30 bytes data, server => client 17:49:16.809709 '230 Welcome you silly person\r\n' 17:49:16.809754 < 5 bytes data, client => server 17:49:16.809763 'PWD\r\n' 17:49:16.809864 Received DATA (on stdin) 17:49:16.809874 > 30 bytes data, server => client 17:49:16.809883 '257 "/" is current directory\r\n' 17:49:16.809936 < 6 bytes data, client => server 17:49:16.809945 'EPSV\r\n' 17:49:16.812108 Received DATA (on stdin) 17:49:16.812121 > 39 bytes data, server => client 17:49:16.812133 '229 Entering Passive Mode (|||34513|)\r\n' 17:49:16.812283 < 8 bytes data, client => server 17:49:16.812295 'TYPE I\r\n' 17:49:16.812485 Received DATA (on stdin) 17:49:16.812498 > 33 bytes data, server => client 17:49:16.812509 '200 I modify TYPE as you wanted\r\n' 17:49:16.812559 < 21 bytes data, client => server 17:49:16.812571 'SIZE verifiedserver\r\n' 17:49:16.812677 Received DATA (on stdin) 17:49:16.812688 > 8 bytes data, server => client 17:49:16.812698 '213 17\r\n' 17:49:16.812745 < 21 bytes data, client => server 17:49:16.812757 'RETR verifiedserver\r\n' 17:49:16.812988 Received DATA (on stdin) 17:49:16.813000 > 29 bytes data, server => client 17:49:16.813010 '150 Binary junk (17 bytes).\r\n' 17:49:16.813539 Received DATA (on stdin) 17:49:16.813551 > 28 bytes data, server => client 17:49:16.813562 '226 File transfer complete\r\n' 17:49:16.856384 < 6 bytes data, client => server 17:49:16.856441 'QUIT\r\n' 17:49:16.856705 Received DATA (on stdin) 17:49:16.856717 > 18 bytes data, server => client 17:49:16.856727 '221 bye bye baby\r\n' 17:49:16.857509 ====> Client disconnect 17:49:16.857760 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:16.811582 Running IPv4 version 17:49:16.811638 Listening on port 34513 17:49:16.811681 Wrote pid 84891 to log/16/server/ftp_sockdata.pid 17:49:16.811866 Received PING (on stdin) 17:49:16.811945 Received PORT (on stdin) 17:49:16.812255 ====> Client connect 17:49:16.813037 Received DATA (on stdin) 17:49:16.813049 > 17 bytes data, server => client 17:49:16.813060 'WE ROOLZ: 81124\r\n' 17:49:16.813084 Received DISC (on stdin) 17:49:16.813095 ====> Client forcibly disconnected 17:49:16.813248 Received QUIT (on stdin) 17:49:16.813259 quits 17:49:16.813322 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 161 === End of file server.cmd === Start of file valgrind161 ==85013== ==85013== Process terminating with default action of signal 4 (SIGILL) ==85013== Illegal opcode at address 0x4014520 ==85013== at 0x4014520: getparameter (tool_getparam.c:2862) ==85013== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85013== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85013== by 0x4003728: main (tool_main.c:186) === End of file valgrind161 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 --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/15/valgrind164 ../src/curl -q --output log/15/curl164.out --include --trace-ascii log/15/trace164 --trace-time http://127.0.0.1:41057/want/164 -r 0-10,12-15 > log/15/stdout164 2> log/15/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/18/valgrind165 ../src/curl -q --output log/18/curl165.out --include --trace-ascii log/18/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:34067 http://www.große.de/page/165 > log/18/stdout165 2> log/18/stderr165 og-file=log/1/valgrind163 ../src/curl -q --output log/1/curl163.out --include --trace-ascii log/1/trace163 --trace-time http://127.0.0.1:39589/we/want/163 -F "name= log/1/stdout163 2> log/1/stderr163 163: 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 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/1/valgrind163 ../src/curl -q --output log/1/curl163.out --include --trace-ascii log/1/trace163 --trace-time http://127.0.0.1:39589/we/want/163 -F "name= log/1/stdout163 2> log/1/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 17:49:16.952210 ====> Client connect 17:49:16.952241 accept_connection 3 returned 4 17:49:16.952256 accept_connection 3 returned 0 17:49:16.952268 Read 93 bytes 17:49:16.952276 Process 93 bytes request 17:49:16.952287 Got request: GET /verifiedserver HTTP/1.1 17:49:16.952295 Are-we-friendly question received 17:49:16.952317 Wrote request (93 bytes) input to log/1/server.input 17:49:16.952331 Identifying ourselves as friends 17:49:16.952380 Response sent (56 bytes) and written to log/1/server.response 17:49:16.952388 special request received, no persistency 17:49:16.952395 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 45494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind163 ==85094== ==85094== Process terminating with default action of signal 4 (SIGILL) ==85094== Illegal opcode at address 0x4014520 ==85094== at 0x4014520: getparameter (tool_getparam.c:2862) ==85094== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85094== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85094== by 0x4003728: main (tool_main.c:186) === End of file valgrind163 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/15/valgrind164 ../src/curl -q --output log/15/curl164.out --include --trace-ascii log/15/trace164 --trace-time http://127.0.0.1:41057/want/164 -r 0-10,12-15 > log/15/stdout164 2> log/15/stderr164 164: 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 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/15/valgrind164 ../src/curl -q --output log/15/curl164.out --include --trace-ascii log/15/trace164 --trace-time http://127.0.0.1:41057/want/164 -r 0-10,12-15 > log/15/stdout164 2> log/15/stderr164 === End of file commands.log === Start of file http_server.log 17:49:17.036054 ====> Client connect 17:49:17.036086 accept_connection 3 returned 4 17:49:17.036101 accept_connection 3 returned 0 17:49:17.036116 Read 93 bytes 17:49:17.036125 Process 93 bytes request 17:49:17.036139 Got request: GET /verifiedserver HTTP/1.1 17:49:17.036147 Are-we-friendly question received 17:49:17.036182 Wrote request (93 bytes) input to log/15/server.input 17:49:17.036198 Identifying ourselves as friends 17:49:17.036252 Response sent (56 bytes) and written to log/15/server.response 17:49:17.036261 special request received, no persistency 17:49:17.036269 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 37482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind164 ==85179== ==85179== Process terminating with default action of signal 4 (SIGILL) ==85179== Illegal opcode at address 0x4014520 ==85179== at 0x4014520: getparameter (tool_getparam.c:2862) ==85179== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85179== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85179== by 0x4003728: main (tool_main.c:186) === End of file valgrind164 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/18/valgrind165 ../src/curl -q --output log/18/curl165.out --include --trace-ascii log/18/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:34067 http://www.große.de/page/165 > log/18/stdout165 2> log/18/stderr165 165: 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 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/18/valgrind165 ../src/curl -q --output log/18/curl165.out --include --trace-ascii log/18/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:34067 http://www.große.de/page/165 > log/18/stdout165 2> log/18/stderr165 === End of file commands.log === Start of file http_server.log 17:49:17.038561 ====> Client connect 17:49:17.038595 accept_connection 3 returned 4 17:49:17.038612 accept_connection 3 returned 0 17:49:17.038627 Read 93 bytes 17:49:17.038637 Process 93 bytes request 17:49:17.038650 Got request: GET /verifiedserver HTTP/1.1 17:49:17.038659 Are-we-friendly question received 17:49:17.038685 Wrote request (93 bytes) input to log/18/server.input 17:49:17.038702 Identifying ourselves as friends 17:49:17.038761 Response sent (56 bytes) and written to log/18/server.response 17:49:17.038771 special request received, no persistency 17:49:17.038780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === End of file http_verify.out === Start of file server.cmd Testnum 165 === End of file server.cmd === 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/17/valgrind169 ../src/curl -q --output log/17/curl169.out --include --trace-ascii log/17/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:44593 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/17/stdout169 2> log/17/stderr169 CMD (33792): ../libtool --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/valgrind175 ../src/curl -q --output log/11/curl175.out --include --trace-ascii log/11/trace175 --trace-time http://127.0.0.1:46439/175 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout175 2> log/11/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/9/valgrind176 ../src/curl -q --output log/9/curl176.out --include --trace-ascii log/9/trace176 --trace-time http://127.0.0.1:37413/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/9/stdout176 2> log/9/stderr176 server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74817 === End of file server.response === Start of file valgrind165 ==85183== ==85183== Process terminating with default action of signal 4 (SIGILL) ==85183== Illegal opcode at address 0x4014520 ==85183== at 0x4014520: getparameter (tool_getparam.c:2862) ==85183== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85183== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85183== by 0x4003728: main (tool_main.c:186) === End of file valgrind165 test 0169...[HTTP with proxy-requiring-NTLM 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/17/valgrind169 ../src/curl -q --output log/17/curl169.out --include --trace-ascii log/17/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:44593 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/17/stdout169 2> log/17/stderr169 169: 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 169 === Start of file commands.log ../libtool --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/valgrind169 ../src/curl -q --output log/17/curl169.out --include --trace-ascii log/17/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:44593 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/17/stdout169 2> log/17/stderr169 === End of file commands.log === Start of file http_server.log 17:49:17.317224 ====> Client connect 17:49:17.317257 accept_connection 3 returned 4 17:49:17.317271 accept_connection 3 returned 0 17:49:17.317282 Read 93 bytes 17:49:17.317291 Process 93 bytes request 17:49:17.317300 Got request: GET /verifiedserver HTTP/1.1 17:49:17.317307 Are-we-friendly question received 17:49:17.317328 Wrote request (93 bytes) input to log/17/server.input 17:49:17.317342 Identifying ourselves as friends 17:49:17.317388 Response sent (56 bytes) and written to log/17/server.response 17:49:17.317399 special request received, no persistency 17:49:17.317406 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 58084 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === End of file http_verify.out === Start of file server.cmd Testnum 169 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74818 === End of file server.response === Start of file valgrind169 ==85576== ==85576== Process terminating with default action of signal 4 (SIGILL) ==85576== Illegal opcode at address 0x4014520 ==85576== at 0x4014520: getparameter (tool_getparam.c:2862) ==85576== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85576== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85576== by 0x4003728: main (tool_main.c:186) === End of file valgrind169 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/11/valgrind175 ../src/curl -q --output log/11/curl175.out --include --trace-ascii log/11/trace175 --trace-time http://127.0.0.1:46439/175 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout175 2> log/11/stderr175 175: 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 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/11/valgrind175 ../src/curl -q --output log/11/curl175.out --include --trace-ascii log/11/trace175 --trace-time http://127.0.0.1:46439/175 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout175 2> log/11/stderr175 === End of file commands.log === Start of file http_server.log 17:49:17.356010 ====> Client connect 17:49:17.356040 accept_connection 3 returned 4 17:49:17.356055 accept_connection 3 returned 0 17:49:17.356068 Read 93 bytes 17:49:17.356076 Process 93 bytes request 17:49:17.356088 Got request: GET /verifiedserver HTTP/1.1 17:49:17.356096 Are-we-friendly question received 17:49:17.356128 Wrote request (93 bytes) input to log/11/server.input 17:49:17.356143 Identifying ourselves as friends 17:49:17.356209 Response sent (56 bytes) and written to log/11/server.response 17:49:17.356219 special request received, no persistency 17:49:17.356227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 54836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind175 ==85802== ==85802== Process terminating with default action of signal 4 (SIGILL) ==85802== Illegal opcode at address 0x4014520 ==85802== at 0x4014520: getparameter (tool_getparam.c:2862) ==85802== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85802== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85802== by 0x4003728: main (tool_main.c:186) === End of file valgrind175 test 0176...[HTTP POST --ntlm 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/9/valgrind176 ../src/curl -q --output log/9/curl176.out --include --trace-ascii log/9/trace176 --trace-time http://127.0.0.1:37413/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/9/stdout176 2> log/9/stderr176 176: 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 176 === Start of file commands.log ../libtool --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/valgrind176 ../src/curl -q --output log/9/curl176.out --include --trace-ascii log/9/trace176 --trace-time http://127.0.0.1:37413/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/9/stdout176 2> log/9/stderr176 === End of file commands.log === Start of file http_server.log 17:49:17.360455 ====> Client connect 17:49:17.360501 accept_connection 3 returned 4 17:49:17.360519 accept_connection 3 returned 0 17:49:17.360537 Read 93 bytes 17:49:17.360547 Process 93 bytes request 17:49:17.360560 Got request: GET /verifiedserver HTTP/1.1 17:49:17.360570 Are-we-friendly question received 17:49:17.360598 Wrote request (93 bytes) input to log/9/server.input 17:49:17.3606CMD (33792): ../libtool --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/valgrind170 ../src/curl -q --output log/24/curl170.out --include --trace-ascii log/24/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:39649 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/24/stdout170 2> log/24/stderr170 CMD (33792): ../libtool --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/valgrind173 ../src/curl -q --output log/8/curl173.out --include --trace-ascii log/8/trace173 --trace-time http://127.0.0.1:42045/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/8/stdout173 2> log/8/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/13/valgrind166 ../src/curl -q --output log/13/curl166.out --include --trace-ascii log/13/trace166 --trace-time http://127.0.0.1:43845/we/want/166 -F "name=@log/13/fie ld 166" > log/13/stdout166 2> log/13/stderr166 16 Identifying ourselves as friends 17:49:17.360707 Response sent (56 bytes) and written to log/9/server.response 17:49:17.360719 special request received, no persistency 17:49:17.360728 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 33762 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === End of file http_verify.out === Start of file server.cmd Testnum 176 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74974 === End of file server.response === Start of file valgrind176 ==85828== ==85828== Process terminating with default action of signal 4 (SIGILL) ==85828== Illegal opcode at address 0x4014520 ==85828== at 0x4014520: getparameter (tool_getparam.c:2862) ==85828== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85828== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85828== by 0x4003728: main (tool_main.c:186) === End of file valgrind176 test 0170...[HTTP POST with --proxy-ntlm and no SSL with no 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/valgrind170 ../src/curl -q --output log/24/curl170.out --include --trace-ascii log/24/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:39649 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/24/stdout170 2> log/24/stderr170 170: 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 170 === Start of file commands.log ../libtool --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/valgrind170 ../src/curl -q --output log/24/curl170.out --include --trace-ascii log/24/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:39649 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/24/stdout170 2> log/24/stderr170 === End of file commands.log === Start of file http_server.log 17:49:17.315321 ====> Client connect 17:49:17.315355 accept_connection 3 returned 4 17:49:17.315371 accept_connection 3 returned 0 17:49:17.315384 Read 93 bytes 17:49:17.315394 Process 93 bytes request 17:49:17.315405 Got request: GET /verifiedserver HTTP/1.1 17:49:17.315413 Are-we-friendly question received 17:49:17.315439 Wrote request (93 bytes) input to log/24/server.input 17:49:17.315455 Identifying ourselves as friends 17:49:17.315511 Response sent (56 bytes) and written to log/24/server.response 17:49:17.315520 special request received, no persistency 17:49:17.315529 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 34870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === End of file http_verify.out === Start of file server.cmd Testnum 170 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74811 === End of file server.response === Start of file valgrind170 ==85458== ==85458== Process terminating with default action of signal 4 (SIGILL) ==85458== Illegal opcode at address 0x4014520 ==85458== at 0x4014520: getparameter (tool_getparam.c:2862) ==85458== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85458== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85458== by 0x4003728: main (tool_main.c:186) === End of file valgrind170 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/8/valgrind173 ../src/curl -q --output log/8/curl173.out --include --trace-ascii log/8/trace173 --trace-time http://127.0.0.1:42045/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/8/stdout173 2> log/8/stderr173 173: 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 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/8/valgrind173 ../src/curl -q --output log/8/curl173.out --include --trace-ascii log/8/trace173 --trace-time http://127.0.0.1:42045/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/8/stdout173 2> log/8/stderr173 === End of file commands.log === Start of file http_server.log 17:49:17.343533 ====> Client connect 17:49:17.343569 accept_connection 3 returned 4 17:49:17.343587 accept_connection 3 returned 0 17:49:17.343601 Read 93 bytes 17:49:17.343610 Process 93 bytes request 17:49:17.343624 Got request: GET /verifiedserver HTTP/1.1 17:49:17.343634 Are-we-friendly question received 17:49:17.343661 Wrote request (93 bytes) input to log/8/server.input 17:49:17.343678 Identifying ourselves as friends 17:49:17.343736 Response sent (56 bytes) and written to log/8/server.response 17:49:17.343747 special request received, no persistency 17:49:17.343756 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 58620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === 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 ==85698== ==85698== Process terminating with default action of signal 4 (SIGILL) ==85698== Illegal opcode at address 0x4014520 ==85698== at 0x4014520: getparameter (tool_getparam.c:2862) ==85698== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85698== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85698== by 0x4003728: main (tool_main.c:186) === End of file valgrind173 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/13/valgrind166 ../src/curl -q --output log/13/curl166.out --include --trace-ascii log/13/trace166 --trace-time http://127.0.0.1:43845/we/want/166 -F "name=@log/13/fie ld 166" > log/13/stdout166 2> log/13/stderr166 166: 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/4/valgrind174 ../src/curl -q --output log/4/curl174.out --include --trace-ascii log/4/trace174 --trace-time http://127.0.0.1:34411/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/4/stdout174 2> log/4/stderr174 CMD (33792): ../libtool --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/valgrind167 ../src/curl -q --output log/7/curl167.out --include --trace-ascii log/7/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:35671 --proxy-user foo:bar --digest --user digest:a-lot > log/7/stdout167 2> log/7/stderr167 CMD (33792): ../libtool --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/valgrind172 ../src/curl -q --output log/2/curl172.out --include --trace-ascii log/2/trace172 --trace-time http://127.0.0.1:38779/we/want/172 -b log/2/jar172.txt -b "tool=curl; name=fool" > log/2/stdout172 2> log/2/stderr172 in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ 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/13/valgrind166 ../src/curl -q --output log/13/curl166.out --include --trace-ascii log/13/trace166 --trace-time http://127.0.0.1:43845/we/want/166 -F "name=@log/13/fie ld 166" > log/13/stdout166 2> log/13/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 17:49:18.288879 ====> Client connect 17:49:18.288929 accept_connection 3 returned 4 17:49:18.288946 accept_connection 3 returned 0 17:49:18.288961 Read 93 bytes 17:49:18.288972 Process 93 bytes request 17:49:18.288989 Got request: GET /verifiedserver HTTP/1.1 17:49:18.288998 Are-we-friendly question received 17:49:18.289028 Wrote request (93 bytes) input to log/13/server.input 17:49:18.289048 Identifying ourselves as friends 17:49:18.289110 Response sent (56 bytes) and written to log/13/server.response 17:49:18.289119 special request received, no persistency 17:49:18.289133 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 47372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind166 ==85364== ==85364== Process terminating with default action of signal 4 (SIGILL) ==85364== Illegal opcode at address 0x4014520 ==85364== at 0x4014520: getparameter (tool_getparam.c:2862) ==85364== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85364== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85364== by 0x4003728: main (tool_main.c:186) === End of file valgrind166 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/4/valgrind174 ../src/curl -q --output log/4/curl174.out --include --trace-ascii log/4/trace174 --trace-time http://127.0.0.1:34411/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/4/stdout174 2> log/4/stderr174 174: 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 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/4/valgrind174 ../src/curl -q --output log/4/curl174.out --include --trace-ascii log/4/trace174 --trace-time http://127.0.0.1:34411/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/4/stdout174 2> log/4/stderr174 === End of file commands.log === Start of file http_server.log 17:49:17.343418 ====> Client connect 17:49:17.343450 accept_connection 3 returned 4 17:49:17.343467 accept_connection 3 returned 0 17:49:17.343481 Read 93 bytes 17:49:17.343490 Process 93 bytes request 17:49:17.343504 Got request: GET /verifiedserver HTTP/1.1 17:49:17.343513 Are-we-friendly question received 17:49:17.343541 Wrote request (93 bytes) input to log/4/server.input 17:49:17.343557 Identifying ourselves as friends 17:49:17.343621 Response sent (56 bytes) and written to log/4/server.response 17:49:17.343630 special request received, no persistency 17:49:17.343639 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 50804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind174 ==85668== ==85668== Process terminating with default action of signal 4 (SIGILL) ==85668== Illegal opcode at address 0x4014520 ==85668== at 0x4014520: getparameter (tool_getparam.c:2862) ==85668== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85668== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85668== by 0x4003728: main (tool_main.c:186) === End of file valgrind174 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/7/valgrind167 ../src/curl -q --output log/7/curl167.out --include --trace-ascii log/7/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:35671 --proxy-user foo:bar --digest --user digest:a-lot > log/7/stdout167 2> log/7/stderr167 167: 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 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/7/valgrind167 ../src/curl -q --output log/7/curl167.out --include --trace-ascii log/7/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:35671 --proxy-user foo:bar --digest --user digest:a-lot > log/7/stdout167 2> log/7/stderr167 === End of file commands.log === Start of file http_server.log 17:49:17.306601 ====> Client connect 17:49:17.307212 accept_connection 3 returned 4 17:49:17.307230 accept_connection 3 returned 0 17:49:17.307243 Read 93 bytes 17:49:17.307253 Process 93 bytes request 17:49:17.307264 Got request: GET /verifiedserver HTTP/1.1 17:49:17.307273 Are-we-friendly question received 17:49:17.307301 Wrote request (93 bytes) input to log/7/server.input 17:49:17.307321 Identifying ourselves as friends 17:49:17.307377 Response sent (56 bytes) and written to log/7/server.response 17:49:17.307387 special request received, no persistency 17:49:17.307396 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 44456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind167 ==85434== ==85434== ProcCMD (33792): ../libtool --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/valgrind171 ../src/curl -q --output log/23/curl171.out --include --trace-ascii log/23/trace171 --trace-time -c log/23/jar171 -x 127.0.0.1:39173 http://z.x.com/171 > log/23/stdout171 2> log/23/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/20/valgrind168 ../src/curl -q --output log/20/curl168.out --include --trace-ascii log/20/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:46725 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/20/stdout168 2> log/20/stderr168 ess terminating with default action of signal 4 (SIGILL) ==85434== Illegal opcode at address 0x4014520 ==85434== at 0x4014520: getparameter (tool_getparam.c:2862) ==85434== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85434== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85434== by 0x4003728: main (tool_main.c:186) === End of file valgrind167 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/2/valgrind172 ../src/curl -q --output log/2/curl172.out --include --trace-ascii log/2/trace172 --trace-time http://127.0.0.1:38779/we/want/172 -b log/2/jar172.txt -b "tool=curl; name=fool" > log/2/stdout172 2> log/2/stderr172 172: 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 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/2/valgrind172 ../src/curl -q --output log/2/curl172.out --include --trace-ascii log/2/trace172 --trace-time http://127.0.0.1:38779/we/want/172 -b log/2/jar172.txt -b "tool=curl; name=fool" > log/2/stdout172 2> log/2/stderr172 === End of file commands.log === Start of file http_server.log 17:49:17.318183 ====> Client connect 17:49:17.318212 accept_connection 3 returned 4 17:49:17.318225 accept_connection 3 returned 0 17:49:17.318235 Read 93 bytes 17:49:17.318244 Process 93 bytes request 17:49:17.318252 Got request: GET /verifiedserver HTTP/1.1 17:49:17.318260 Are-we-friendly question received 17:49:17.318283 Wrote request (93 bytes) input to log/2/server.input 17:49:17.318298 Identifying ourselves as friends 17:49:17.318347 Response sent (56 bytes) and written to log/2/server.response 17:49:17.318355 special request received, no persistency 17:49:17.318363 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 46286 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind172 ==85504== ==85504== Process terminating with default action of signal 4 (SIGILL) ==85504== Illegal opcode at address 0x4014520 ==85504== at 0x4014520: getparameter (tool_getparam.c:2862) ==85504== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85504== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85504== by 0x4003728: main (tool_main.c:186) === End of file valgrind172 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/20/valgrind168 ../src/curl -q --output log/20/curl168.out --include --trace-ascii log/20/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:46725 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/20/stdout168 2> log/20/stderr168 168: 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 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/20/valgrind168 ../src/curl -q --output log/20/curl168.out --include --trace-ascii log/20/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:46725 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/20/stdout168 2> log/20/stderr168 === End of file commands.log === Start of file http_server.log 17:49:17.302134 ====> Client connect 17:49:17.302161 accept_connection 3 returned 4 17:49:17.302176 accept_connection 3 returned 0 17:49:17.302190 Read 93 bytes 17:49:17.302199 Process 93 bytes request 17:49:17.302211 Got request: GET /verifiedserver HTTP/1.1 17:49:17.302219 Are-we-friendly question received 17:49:17.302246 Wrote request (93 bytes) input to log/20/server.input 17:49:17.302263 Identifying ourselves as friends 17:49:17.302318 Response sent (56 bytes) and written to log/20/server.response 17:49:17.302328 special request received, no persistency 17:49:17.302336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 59260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind168 ==85431== ==85431== Process terminating with default action of signal 4 (SIGILL) ==85431== Illegal opcode at address 0x4014520 ==85431== at 0x4014520: getparameter (tool_getparam.c:2862) ==85431== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85431== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85431== by 0x4003728: main (tool_main.c:186) === End of file valgrind168 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/23/valgrind171 ../src/curl -q --output log/23/curl171.out --include --trace-ascii log/23/trace171 --trace-time -c log/23/jar171 -x 127.0.0.1:39173 http://z.x.com/171 > log/23/stdout171 2> log/23/stderr171 171: 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 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/23/valgrind171 ../src/curl -q --output log/23/curl171.out --include --trace-ascii log/23/trace171 --trace-time -c log/23/jar171 -x 127.0.0.1:39173 http://z.x.com/171 > log/23/stdout171 2> log/23/stderr171 === End of file commands.log === Start of file http_server.log 17:49:18.320012 ====> Client connect 17:49:18.320039 accept_connection 3 returned 4 17:49:18.320054 accept_connection 3 returned 0 17:49:18.320065 Read 93 bytes 17:49:18.320073 Process 93 bytes request 17:49:18.320083 Got request: GET /verifiedserver 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/12/valgrind177 ../src/curl -q --output log/12/curl177.out --include --trace-ascii log/12/trace177 --trace-time http://127.0.0.1:36641/177 -u auser:apasswd --digest -d "junkelijunk" > log/12/stdout177 2> log/12/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/19/valgrind178 ../src/curl -q --output log/19/curl178.out --include --trace-ascii log/19/trace178 --trace-time http://127.0.0.1:36987/178 > log/19/stdout178 2> log/19/stderr178 CMD (33792): ../libtool --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/valgrind179 ../src/curl -q --output log/10/curl179.out --include --trace-ascii log/10/trace179 --trace-time http://supertrooper.fake/c/179 -b log/10/injar179 -x 127.0.0.1:32889 > log/10/stdout179 2> log/10/stderr179 .1 17:49:18.320090 Are-we-friendly question received 17:49:18.320113 Wrote request (93 bytes) input to log/23/server.input 17:49:18.320127 Identifying ourselves as friends 17:49:18.320181 Response sent (56 bytes) and written to log/23/server.response 17:49:18.320189 special request received, no persistency 17:49:18.320197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 36896 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind171 ==85503== ==85503== Process terminating with default action of signal 4 (SIGILL) ==85503== Illegal opcode at address 0x4014520 ==85503== at 0x4014520: getparameter (tool_getparam.c:2862) ==85503== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==85503== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==85503== by 0x4003728: main (tool_main.c:186) === End of file valgrind171 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/12/valgrind177 ../src/curl -q --output log/12/curl177.out --include --trace-ascii log/12/trace177 --trace-time http://127.0.0.1:36641/177 -u auser:apasswd --digest -d "junkelijunk" > log/12/stdout177 2> log/12/stderr177 177: 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 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/12/valgrind177 ../src/curl -q --output log/12/curl177.out --include --trace-ascii log/12/trace177 --trace-time http://127.0.0.1:36641/177 -u auser:apasswd --digest -d "junkelijunk" > log/12/stdout177 2> log/12/stderr177 === End of file commands.log === Start of file http_server.log 17:49:17.561174 ====> Client connect 17:49:17.561212 accept_connection 3 returned 4 17:49:17.561229 accept_connection 3 returned 0 17:49:17.561244 Read 93 bytes 17:49:17.561253 Process 93 bytes request 17:49:17.561268 Got request: GET /verifiedserver HTTP/1.1 17:49:17.561276 Are-we-friendly question received 17:49:17.561301 Wrote request (93 bytes) input to log/12/server.input 17:49:17.561317 Identifying ourselves as friends 17:49:17.561372 Response sent (56 bytes) and written to log/12/server.response 17:49:17.561382 special request received, no persistency 17:49:17.561391 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 36160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind177 ==86063== ==86063== Process terminating with default action of signal 4 (SIGILL) ==86063== Illegal opcode at address 0x4014520 ==86063== at 0x4014520: getparameter (tool_getparam.c:2862) ==86063== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86063== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86063== by 0x4003728: main (tool_main.c:186) === End of file valgrind177 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/19/valgrind178 ../src/curl -q --output log/19/curl178.out --include --trace-ascii log/19/trace178 --trace-time http://127.0.0.1:36987/178 > log/19/stdout178 2> log/19/stderr178 178: 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 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/19/valgrind178 ../src/curl -q --output log/19/curl178.out --include --trace-ascii log/19/trace178 --trace-time http://127.0.0.1:36987/178 > log/19/stdout178 2> log/19/stderr178 === End of file commands.log === Start of file http_server.log 17:49:17.720621 ====> Client connect 17:49:17.720659 accept_connection 3 returned 4 17:49:17.720676 accept_connection 3 returned 0 17:49:17.720691 Read 93 bytes 17:49:17.720701 Process 93 bytes request 17:49:17.720714 Got request: GET /verifiedserver HTTP/1.1 17:49:17.720724 Are-we-friendly question received 17:49:17.720752 Wrote request (93 bytes) input to log/19/server.input 17:49:17.720770 Identifying ourselves as friends 17:49:17.720832 Response sent (56 bytes) and written to log/19/server.response 17:49:17.720842 special request received, no persistency 17:49:17.720851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 35156 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind178 ==86151== ==86151== Process terminating with default action of signal 4 (SIGILL) ==86151== Illegal opcode at address 0x4014520 ==86151== at 0x4014520: getparameter (tool_getparam.c:2862) ==86151== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86151== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86151== by 0x4003728: main (tool_main.c:186) === End of file valgrind178 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/10/valgrind179 ../src/curl -q --output log/10/curl179.out --include --trace-ascii log/10/trace179 --trace-time http://supertrooper.fake/c/179 -b log/10/injar179 -x 127.0.0.1:32889 > log/10/stdout179 2> log/10/stderr179 179: 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 179 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/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/5/valgrind181 ../src/curl -q --output log/5/curl181.out --include --trace-ascii log/5/trace181 --trace-time http://127.0.0.1:46875/we/want/181 --data-binary @log/5/test181.txt --http1.0 > log/5/stdout181 2> log/5/stderr181 CMD (33792): ../libtool --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/valgrind180 ../src/curl -q --output log/6/curl180.out --include --trace-ascii log/6/trace180 --trace-time http://127.0.0.1:42747/we/want/180 -T log/6/test180.txt --http1.0 > log/6/stdout180 2> log/6/stderr180 tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind179 ../src/curl -q --output log/10/curl179.out --include --trace-ascii log/10/trace179 --trace-time http://supertrooper.fake/c/179 -b log/10/injar179 -x 127.0.0.1:32889 > log/10/stdout179 2> log/10/stderr179 === End of file commands.log === Start of file http_server.log 17:49:17.735015 ====> Client connect 17:49:17.735045 accept_connection 3 returned 4 17:49:17.735059 accept_connection 3 returned 0 17:49:17.735073 Read 93 bytes 17:49:17.735082 Process 93 bytes request 17:49:17.735095 Got request: GET /verifiedserver HTTP/1.1 17:49:17.735102 Are-we-friendly question received 17:49:17.735121 Wrote request (93 bytes) input to log/10/server.input 17:49:17.735134 Identifying ourselves as friends 17:49:17.735190 Response sent (56 bytes) and written to log/10/server.response 17:49:17.735201 special request received, no persistency 17:49:17.735210 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 33000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind179 ==86169== ==86169== Process terminating with default action of signal 4 (SIGILL) ==86169== Illegal opcode at address 0x4014520 ==86169== at 0x4014520: getparameter (tool_getparam.c:2862) ==86169== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86169== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86169== by 0x4003728: main (tool_main.c:186) === End of file valgrind179 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/5/valgrind181 ../src/curl -q --output log/5/curl181.out --include --trace-ascii log/5/trace181 --trace-time http://127.0.0.1:46875/we/want/181 --data-binary @log/5/test181.txt --http1.0 > log/5/stdout181 2> log/5/stderr181 181: 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 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/5/valgrind181 ../src/curl -q --output log/5/curl181.out --include --trace-ascii log/5/trace181 --trace-time http://127.0.0.1:46875/we/want/181 --data-binary @log/5/test181.txt --http1.0 > log/5/stdout181 2> log/5/stderr181 === End of file commands.log === Start of file http_server.log 17:49:17.838186 ====> Client connect 17:49:17.838217 accept_connection 3 returned 4 17:49:17.838233 accept_connection 3 returned 0 17:49:17.838246 Read 93 bytes 17:49:17.838256 Process 93 bytes request 17:49:17.838268 Got request: GET /verifiedserver HTTP/1.1 17:49:17.838277 Are-we-friendly question received 17:49:17.838304 Wrote request (93 bytes) input to log/5/server.input 17:49:17.838322 Identifying ourselves as friends 17:49:17.838381 Response sent (56 bytes) and written to log/5/server.response 17:49:17.838392 special request received, no persistency 17:49:17.838401 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 44620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === 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 ==86315== ==86315== Process terminating with default action of signal 4 (SIGILL) ==86315== Illegal opcode at address 0x4014520 ==86315== at 0x4014520: getparameter (tool_getparam.c:2862) ==86315== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86315== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86315== by 0x4003728: main (tool_main.c:186) === End of file valgrind181 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/6/valgrind180 ../src/curl -q --output log/6/curl180.out --include --trace-ascii log/6/trace180 --trace-time http://127.0.0.1:42747/we/want/180 -T log/6/test180.txt --http1.0 > log/6/stdout180 2> log/6/stderr180 180: 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 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/6/valgrind180 ../src/curl -q --output log/6/curl180.out --include --trace-ascii log/6/trace180 --trace-time http://127.0.0.1:42747/we/want/180 -T log/6/test180.txt --http1.0 > log/6/stdout180 2> log/6/stderr180 === End of file commands.log === Start of file http_server.log 17:49:17.831646 ====> Client connect 17:49:17.831682 accept_connection 3 returned 4 17:49:17.831700 accept_connection 3 returned 0 17:49:17.831715 Read 93 bytes 17:49:17.831725 Process 93 bytes request 17:49:17.831740 Got request: GET /verifiedserver HTTP/1.1 17:49:17.831749 Are-we-friendly question received 17:49:17.831775 Wrote request (93 bytes) input to log/6/server.input 17:49:17.831793 Identifying ourselves as friends 17:49:17.831858 Response sent (56 bytes) and written to log/6/server.response 17:49:17.831869 special request received, no persistency 17:49:17.831879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 51138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === 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 ==86303== ==86303== Process terminating with default action of signal 4 (SIGILL) ==86303== Illegal opcode at CMD (33792): ../libtool --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/valgrind182 ../src/curl -q --output log/22/curl182.out --include --trace-ascii log/22/trace182 --trace-time ftp://127.0.0.1:44871/182 > log/22/stdout182 2> log/22/stderr182 CMD (33792): ../libtool --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/valgrind183 ../src/curl -q --output log/3/curl183.out --include --trace-ascii log/3/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:45927 > log/3/stdout183 2> log/3/stderr183 address 0x4014520 ==86303== at 0x4014520: getparameter (tool_getparam.c:2862) ==86303== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86303== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86303== by 0x4003728: main (tool_main.c:186) === End of file valgrind180 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/22/valgrind182 ../src/curl -q --output log/22/curl182.out --include --trace-ascii log/22/trace182 --trace-time ftp://127.0.0.1:44871/182 > log/22/stdout182 2> log/22/stderr182 182: 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 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/22/valgrind182 ../src/curl -q --output log/22/curl182.out --include --trace-ascii log/22/trace182 --trace-time ftp://127.0.0.1:44871/182 > log/22/stdout182 2> log/22/stderr182 === End of file commands.log === Start of file ftp_server.log 17:49:17.991014 ====> Client connect 17:49:17.991163 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:17.991424 < "USER anonymous" 17:49:17.991458 > "331 We are happy you popped in![CR][LF]" 17:49:17.991610 < "PASS ftp@example.com" 17:49:17.991634 > "230 Welcome you silly person[CR][LF]" 17:49:17.991770 < "PWD" 17:49:17.991800 > "257 "/" is current directory[CR][LF]" 17:49:17.991962 < "EPSV" 17:49:17.991987 ====> Passive DATA channel requested by client 17:49:17.992001 DATA sockfilt for passive data channel starting... 17:49:17.993303 DATA sockfilt for passive data channel started (pid 86299) 17:49:17.993425 DATA sockfilt for passive data channel listens on port 46073 17:49:17.993475 > "229 Entering Passive Mode (|||46073|)[CR][LF]" 17:49:17.993493 Client has been notified that DATA conn will be accepted on port 46073 17:49:17.993726 Client connects to port 46073 17:49:17.993758 ====> Client established passive DATA connection on port 46073 17:49:17.993840 < "TYPE I" 17:49:17.993870 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:17.994041 < "SIZE verifiedserver" 17:49:17.994079 > "213 17[CR][LF]" 17:49:17.994245 < "RETR verifiedserver" 17:49:17.994282 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:17.994373 =====> Closing passive DATA connection... 17:49:17.994393 Server disconnects passive DATA connection 17:49:17.994618 Server disconnected passive DATA connection 17:49:17.994650 DATA sockfilt for passive data channel quits (pid 86299) 17:49:17.994880 DATA sockfilt for passive data channel quit (pid 86299) 17:49:17.994909 =====> Closed passive DATA connection 17:49:17.994938 > "226 File transfer complete[CR][LF]" 17:49:18.040702 < "QUIT" 17:49:18.040760 > "221 bye bye baby[CR][LF]" 17:49:18.042151 MAIN sockfilt said DISC 17:49:18.042186 ====> Client disconnected 17:49:18.042271 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:17.837105 ====> Client connect 17:49:17.837363 Received DATA (on stdin) 17:49:17.837377 > 146 bytes data, server => client 17:49:17.837388 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:17.837398 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:17.837407 '220 \___|\___/|_| \_\_____|\r\n' 17:49:17.837475 < 16 bytes data, client => server 17:49:17.837486 'USER anonymous\r\n' 17:49:17.837647 Received DATA (on stdin) 17:49:17.837658 > 33 bytes data, server => client 17:49:17.837667 '331 We are happy you popped in!\r\n' 17:49:17.837715 < 22 bytes data, client => server 17:49:17.837725 'PASS ftp@example.com\r\n' 17:49:17.837820 Received DATA (on stdin) 17:49:17.837830 > 30 bytes data, server => client 17:49:17.837839 '230 Welcome you silly person\r\n' 17:49:17.837881 < 5 bytes data, client => server 17:49:17.837890 'PWD\r\n' 17:49:17.837988 Received DATA (on stdin) 17:49:17.837999 > 30 bytes data, server => client 17:49:17.838009 '257 "/" is current directory\r\n' 17:49:17.838066 < 6 bytes data, client => server 17:49:17.838076 'EPSV\r\n' 17:49:17.839688 Received DATA (on stdin) 17:49:17.839701 > 39 bytes data, server => client 17:49:17.839712 '229 Entering Passive Mode (|||46073|)\r\n' 17:49:17.839832 < 8 bytes data, client => server 17:49:17.839847 'TYPE I\r\n' 17:49:17.840062 Received DATA (on stdin) 17:49:17.840074 > 33 bytes data, server => client 17:49:17.840085 '200 I modify TYPE as you wanted\r\n' 17:49:17.840138 < 21 bytes data, client => server 17:49:17.840151 'SIZE verifiedserver\r\n' 17:49:17.840270 Received DATA (on stdin) 17:49:17.840282 > 8 bytes data, server => client 17:49:17.840292 '213 17\r\n' 17:49:17.840344 < 21 bytes data, client => server 17:49:17.840356 'RETR verifiedserver\r\n' 17:49:17.840583 Received DATA (on stdin) 17:49:17.840596 > 29 bytes data, server => client 17:49:17.840607 '150 Binary junk (17 bytes).\r\n' 17:49:17.841129 Received DATA (on stdin) 17:49:17.841142 > 28 bytes data, server => client 17:49:17.841153 '226 File transfer complete\r\n' 17:49:17.886378 < 6 bytes data, client => server 17:49:17.886406 'QUIT\r\n' 17:49:17.887169 Received DATA (on stdin) 17:49:17.887189 > 18 bytes data, server => client 17:49:17.887201 '221 bye bye baby\r\n' 17:49:17.888287 ====> Client disconnect 17:49:17.888462 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:17.839340 Running IPv4 version 17:49:17.839390 Listening on port 46073 17:49:17.839423 Wrote pid 86299 to log/22/server/ftp_sockdata.pid 17:49:17.839439 Received PING (on stdin) 17:49:17.839527 Received PORT (on stdin) 17:49:17.839867 ====> Client connect 17:49:17.840634 Received DATA (on stdin) 17:49:17.840647 > 17 bytes data, server => client 17:49:17.840657 'WE ROOLZ: 81056\r\n' 17:49:17.840683 Received DISC (on stdin) 17:49:17.840694 ====> Client forcibly disconnected 17:49:17.840849 Received QUIT (on stdin) 17:49:17.840861 quits 17:49:17.840915 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 182 === End of file server.cmd === Start of file valgrind182 ==86416== ==86416== Process terminating with default action of signal 4 (SIGILL) ==86416== Illegal opcode at address 0x4014520 ==86416== at 0x4014520: getparameter (tool_getparam.c:2862) ==86416== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86416== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86416== by 0x4003728: main (tool_main.c:186) === End of file valgrind182 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/3/valgrind183 ../src/curl -q --output log/3/curl183.out --include --trace-ascii log/3/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:45927 > log/3/stdout183 2> log/3/stderr183 183: 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 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/3/valgrind183 ../src/curl -q --output log/3/curl183.out --include --trace-ascii log/3/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:45927 > log/3/stdout183 2> log/3/stderr183 === End of file commands.log === 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/14/valgrind184 ../src/curl -q --output log/14/curl184.out --include --trace-ascii log/14/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:37569 > log/14/stdout184 2> log/14/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/21/valgrind185 ../src/curl -q --output log/21/curl185.out --include --trace-ascii log/21/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:41669 > log/21/stdout185 2> log/21/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/16/valgrind186 ../src/curl -q --output log/16/curl186.out --include --trace-ascii log/16/trace186 --trace-time http://127.0.0.1:40899/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/16/stdout186 2> log/16/stderr186 e http_server.log 17:49:17.972440 ====> Client connect 17:49:17.972476 accept_connection 3 returned 4 17:49:17.972493 accept_connection 3 returned 0 17:49:17.972508 Read 93 bytes 17:49:17.972517 Process 93 bytes request 17:49:17.972531 Got request: GET /verifiedserver HTTP/1.1 17:49:17.972540 Are-we-friendly question received 17:49:17.972568 Wrote request (93 bytes) input to log/3/server.input 17:49:17.972585 Identifying ourselves as friends 17:49:17.972642 Response sent (56 bytes) and written to log/3/server.response 17:49:17.972652 special request received, no persistency 17:49:17.972660 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 54714 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind183 ==86532== ==86532== Process terminating with default action of signal 4 (SIGILL) ==86532== Illegal opcode at address 0x4014520 ==86532== at 0x4014520: getparameter (tool_getparam.c:2862) ==86532== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86532== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86532== by 0x4003728: main (tool_main.c:186) === End of file valgrind183 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/14/valgrind184 ../src/curl -q --output log/14/curl184.out --include --trace-ascii log/14/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:37569 > log/14/stdout184 2> log/14/stderr184 184: 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 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/14/valgrind184 ../src/curl -q --output log/14/curl184.out --include --trace-ascii log/14/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:37569 > log/14/stdout184 2> log/14/stderr184 === End of file commands.log === Start of file http_server.log 17:49:18.966768 ====> Client connect 17:49:18.966801 accept_connection 3 returned 4 17:49:18.966817 accept_connection 3 returned 0 17:49:18.966831 Read 93 bytes 17:49:18.966841 Process 93 bytes request 17:49:18.966855 Got request: GET /verifiedserver HTTP/1.1 17:49:18.966864 Are-we-friendly question received 17:49:18.966888 Wrote request (93 bytes) input to log/14/server.input 17:49:18.966904 Identifying ourselves as friends 17:49:18.966958 Response sent (56 bytes) and written to log/14/server.response 17:49:18.966968 special request received, no persistency 17:49:18.966976 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 46836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind184 ==86533== ==86533== Process terminating with default action of signal 4 (SIGILL) ==86533== Illegal opcode at address 0x4014520 ==86533== at 0x4014520: getparameter (tool_getparam.c:2862) ==86533== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86533== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86533== by 0x4003728: main (tool_main.c:186) === End of file valgrind184 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/21/valgrind185 ../src/curl -q --output log/21/curl185.out --include --trace-ascii log/21/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:41669 > log/21/stdout185 2> log/21/stderr185 185: 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 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/21/valgrind185 ../src/curl -q --output log/21/curl185.out --include --trace-ascii log/21/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:41669 > log/21/stdout185 2> log/21/stderr185 === End of file commands.log === Start of file http_server.log 17:49:17.979475 ====> Client connect 17:49:17.979524 accept_connection 3 returned 4 17:49:17.979542 accept_connection 3 returned 0 17:49:17.979556 Read 93 bytes 17:49:17.979566 Process 93 bytes request 17:49:17.979577 Got request: GET /verifiedserver HTTP/1.1 17:49:17.979586 Are-we-friendly question received 17:49:17.979615 Wrote request (93 bytes) input to log/21/server.input 17:49:17.979633 Identifying ourselves as friends 17:49:17.979695 Response sent (56 bytes) and written to log/21/server.response 17:49:17.979706 special request received, no persistency 17:49:17.979715 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 52958 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind185 ==86566== ==86566== Process terminating with default action of signal 4 (SIGILL) ==86566== Illegal opcode at address 0x4014520 ==86566== at 0x4014520: getparameter (tool_getparam.c:2862) ==86566== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86566== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86566== by 0x4003728: main (tool_main.c:186) === End of file valgrind185 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/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/1/valgrind187 ../src/curl -q --output log/1/curl187.out --include --trace-ascii log/1/trace187 --trace-time http://127.0.0.1:39589?oh=what-weird=test/187 -L > log/1/stdout187 2> log/1/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/18/valgrind189 ../src/curl -q --output log/18/curl189.out --include --trace-ascii log/18/trace189 --trace-time http://127.0.0.1:34067/189 -C 50 -L > log/18/stdout189 2> log/18/stderr189 l/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind186 ../src/curl -q --output log/16/curl186.out --include --trace-ascii log/16/trace186 --trace-time http://127.0.0.1:40899/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/16/stdout186 2> log/16/stderr186 186: 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 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/16/valgrind186 ../src/curl -q --output log/16/curl186.out --include --trace-ascii log/16/trace186 --trace-time http://127.0.0.1:40899/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/16/stdout186 2> log/16/stderr186 === End of file commands.log === Start of file http_server.log 17:49:17.978722 ====> Client connect 17:49:17.978754 accept_connection 3 returned 4 17:49:17.978770 accept_connection 3 returned 0 17:49:17.978784 Read 93 bytes 17:49:17.978794 Process 93 bytes request 17:49:17.978807 Got request: GET /verifiedserver HTTP/1.1 17:49:17.978817 Are-we-friendly question received 17:49:17.978846 Wrote request (93 bytes) input to log/16/server.input 17:49:17.978863 Identifying ourselves as friends 17:49:17.978916 Response sent (56 bytes) and written to log/16/server.response 17:49:17.978926 special request received, no persistency 17:49:17.978934 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 58754 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind186 ==86546== ==86546== Process terminating with default action of signal 4 (SIGILL) ==86546== Illegal opcode at address 0x4014520 ==86546== at 0x4014520: getparameter (tool_getparam.c:2862) ==86546== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86546== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86546== by 0x4003728: main (tool_main.c:186) === End of file valgrind186 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/1/valgrind187 ../src/curl -q --output log/1/curl187.out --include --trace-ascii log/1/trace187 --trace-time http://127.0.0.1:39589?oh=what-weird=test/187 -L > log/1/stdout187 2> log/1/stderr187 187: 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 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/1/valgrind187 ../src/curl -q --output log/1/curl187.out --include --trace-ascii log/1/trace187 --trace-time http://127.0.0.1:39589?oh=what-weird=test/187 -L > log/1/stdout187 2> log/1/stderr187 === End of file commands.log === Start of file http_server.log 17:49:18.112707 ====> Client connect 17:49:18.112847 accept_connection 3 returned 4 17:49:18.112867 accept_connection 3 returned 0 17:49:18.112881 Read 93 bytes 17:49:18.112891 Process 93 bytes request 17:49:18.112903 Got request: GET /verifiedserver HTTP/1.1 17:49:18.112913 Are-we-friendly question received 17:49:18.112940 Wrote request (93 bytes) input to log/1/server.input 17:49:18.112957 Identifying ourselves as friends 17:49:18.113016 Response sent (56 bytes) and written to log/1/server.response 17:49:18.113027 special request received, no persistency 17:49:18.113036 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42894 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind187 ==86764== ==86764== Process terminating with default action of signal 4 (SIGILL) ==86764== Illegal opcode at address 0x4014520 ==86764== at 0x4014520: getparameter (tool_getparam.c:2862) ==86764== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86764== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86764== by 0x4003728: main (tool_main.c:186) === End of file valgrind187 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/18/valgrind189 ../src/curl -q --output log/18/curl189.out --include --trace-ascii log/18/trace189 --trace-time http://127.0.0.1:34067/189 -C 50 -L > log/18/stdout189 2> log/18/stderr189 189: 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 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/18/valgrind189 ../src/curl -q --output log/18/curl189.out --include --trace-ascii log/18/trace189 --trace-time http://127.0.0.1:34067/189 -C 50 -L > log/18/stdout189 2> log/18/stderr189 === End of file commands.log === Start of file http_server.log 17:49:18.154299 ====> Client connect 17:49:18.154331 accept_connection 3 returned 4 17:49:18.154347 accept_connection 3 returned 0 17:49:18.154360 Read 93 bytes 17:49:18.154371 Process 93 bytes request 17:49:18.154383 Got request: GET /verifiedserver HTTP/1.1 17:49:18.154393 Are-we-friendly question received 17:49:18.154421 Wrote request (93 bytes) input to log/18/server.input 17:49:18.154442 Identifying ourselves as friends 17:49:18.154499 Response sent (56 bytes) and written to log/18/server.response 17:49:18.154509 special request received, no persistency 17:49:18.154519 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 57464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === End of file http_verify.out === Start of file server.cmd Testnum 189 === 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/15/valgrind188 ../src/curl -q --output log/15/curl188.out --include --trace-ascii log/15/trace188 --trace-time http://127.0.0.1:41057/188 -C 50 -L > log/15/stdout188 2> log/15/stderr188 CMD (33792): ../libtool --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/valgrind191 ../src/curl -q --output log/11/curl191.out --include --trace-ascii log/11/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:36233/191" > log/11/stdout191 2> log/11/stderr191 CMD (33792): ../libtool --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/valgrind192 ../src/curl -q --include --trace-ascii log/9/trace192 --trace-time http://127.0.0.1:37413/192 -w "%{num_connects}\n" > log/9/stdout192 2> log/9/stderr192 sponse HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74817 === End of file server.response === Start of file valgrind189 ==86827== ==86827== Process terminating with default action of signal 4 (SIGILL) ==86827== Illegal opcode at address 0x4014520 ==86827== at 0x4014520: getparameter (tool_getparam.c:2862) ==86827== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86827== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86827== by 0x4003728: main (tool_main.c:186) === End of file valgrind189 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/15/valgrind188 ../src/curl -q --output log/15/curl188.out --include --trace-ascii log/15/trace188 --trace-time http://127.0.0.1:41057/188 -C 50 -L > log/15/stdout188 2> log/15/stderr188 188: 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 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/15/valgrind188 ../src/curl -q --output log/15/curl188.out --include --trace-ascii log/15/trace188 --trace-time http://127.0.0.1:41057/188 -C 50 -L > log/15/stdout188 2> log/15/stderr188 === End of file commands.log === Start of file http_server.log 17:49:18.144749 ====> Client connect 17:49:18.144783 accept_connection 3 returned 4 17:49:18.144801 accept_connection 3 returned 0 17:49:18.144817 Read 93 bytes 17:49:18.144827 Process 93 bytes request 17:49:18.144840 Got request: GET /verifiedserver HTTP/1.1 17:49:18.144849 Are-we-friendly question received 17:49:18.144877 Wrote request (93 bytes) input to log/15/server.input 17:49:18.144894 Identifying ourselves as friends 17:49:18.144955 Response sent (56 bytes) and written to log/15/server.response 17:49:18.144966 special request received, no persistency 17:49:18.144974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 57474 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind188 ==86816== ==86816== Process terminating with default action of signal 4 (SIGILL) ==86816== Illegal opcode at address 0x4014520 ==86816== at 0x4014520: getparameter (tool_getparam.c:2862) ==86816== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==86816== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==86816== by 0x4003728: main (tool_main.c:186) === End of file valgrind188 CMD (33792): ../libtool --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:39649/193 -w "%{num_connects}\n" -L > log/24/stdout193 2> log/24/stderr193 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/9/valgrind192 ../src/curl -q --include --trace-ascii log/9/trace192 --trace-time http://127.0.0.1:37413/192 -w "%{num_connects}\n" > log/9/stdout192 2> log/9/stderr192 192: stdout FAILED: --- log/9/check-expected 2026-01-28 17:49:19.756555442 +0000 +++ log/9/check-generated 2026-01-28 17:49:19.756555442 +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/9/ 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/9/valgrind192 ../src/curl -q --include --trace-ascii log/9/trace192 --trace-time http://127.0.0.1:37413/192 -w "%{num_connects}\n" > log/9/stdout192 2> log/9/stderr192 === End of file commands.log === Start of file http_server.log 17:49:18.432157 ====> Client connect 17:49:18.432180 accept_connection 3 returned 4 17:49:18.432192 accept_connection 3 returned 0 17:49:18.432202 Read 93 bytes 17:49:18.432209 Process 93 bytes request 17:49:18.432220 Got request: GET /verifiedserver HTTP/1.1 17:49:18.432226 Are-we-friendly question received 17:49:18.432245 Wrote request (93 bytes) input to log/9/server.input 17:49:18.432256 Identifying ourselves as friends 17:49:18.432296 Response sent (56 bytes) and written to log/9/server.response 17:49:18.432303 special request received, no persistency 17:49:18.432310 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 45630 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind192 ==87007== ==87007== Process terminating with default action of signal 4 (SIGILL) ==87007== Illegal opcode at address 0x4014520 ==87007== at 0x4014520: getparameter (tool_getparam.c:2862) ==87007== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87007== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87007== by 0x4003728: main (tool_main.c:186) === End of file valgrind192 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/11/valgrind191 ../src/curl -q --output log/11/curl191.out --include --trace-ascii log/11/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:36233/191" > log/11/stdout191 2> log/11/stderr191 191: 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 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/11/valgrind191 ../src/curl -q --output log/11/curl191.out --include --trace-ascii log/11/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:36233/191" > log/11/stdout191 2> log/11/stderr191 === End of file commands.log === Start of file ftp_server.log 17:49:18.579385 ====> Client connect 17:49:18.579559 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:18.579813 < "USER anonymous" 17:49:18.579845 > "331 We are happy you popped in![CR][LF]" 17:49:18.579972 < "PASS ftp@example.com" 17:49:18.579992 > "230 Welcome you silly person[CR][LF]" 17:49:18.580140 < "PWD" 17:49:18.580165 > "257 "/" is current directory[CR][LF]" 17:49:18.580283 < "EPSV" 17:49:18.580303 ====> Passive DATA channel requested by client 17:49:18.580313 DATA sockfilt for passive data channel starting... 17:49:18.581796 DATA sockfilt for passive data channel started (pid 87002) 17:49:18.581899 DATA sockfilt for passive data channel listens on port 43373 17:49:18.581936 > "229 Entering Passive Mode (|||43373|)[CR][LF]" 17:49:18.581952 Client has been notified that DATA conn will be accepted on port 43373 17:49:18.582152 Client connects to port 43373 17:49:18.582182 ====> Client established passive DATA connection on port 43373 17:49:18.582251 < "TYPE I" 17:49:18.582277 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:18.582424 < "SIZE verifiedserver" 17:49:18.582489 > "213 17[CR][LF]" 17:49:18.582623 < "RETR verifiedserver" 17:49:18.582654 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:18.582736 =====> Closing passive DATA connection... 17:49:18.582753 Server disconnects passive DATA connection 17:49:18.582965 Server disconnected passive DATA connection 17:49:18.582990 DATA sockfilt for passive data channel quits (pid 87002) 17:49:18.583234 DATA sockfilt for passive data channel quit (pid 87002) 17:49:18.583258 =====> Closed passive DATA connection 17:49:18.583283 > "226 File transfer complete[CR][LF]" 17:49:18.623647 < "QUIT" 17:49:18.623702 > "221 bye bye baby[CR][LF]" 17:49:18.624662 MAIN sockfilt said DISC 17:49:18.624693 ====> Client disconnected 17:49:18.624763 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:18.425455 ====> Client connect 17:49:18.425761 Received DATA (on stdin) 17:49:18.425774 > 146 bytes data, server => client 17:49:18.425786 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:18.425796 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:18.425805 '220 \___|\___/|_| \_\_____|\r\n' 17:49:18.425875 < 16 bytes data, client => server 17:49:18.425884 'USER anonymous\r\n' 17:49:18.426031 Received DATA (on stdin) 17:49:18.426040 > 33 bytes data, server => client 17:49:18.426048 '331 We are happy you popped in!\r\n' 17:49:18.426089 < 22 bytes data, client => server 17:49:18.426097 'PASS ftp@example.com\r\n' 17:49:18.426190 Received DATA (on stdin) 17:49:18.426202 > 30 bytes data, server => client 17:49:18.426213 '230 Welcome you silly person\r\n' 17:49:18.426256 < 5 bytes data, client => server 17:49:18.426264 'PWD\r\n' 17:49:18.426347 Received DATA (on stdin) 17:49:18.426355 > 30 bytes data, server => client 17:49:18.426362 '257 "/" is current directory\r\n' 17:49:18.426405 < 6 bytes data, client => server 17:49:18.426413 'EPSV\r\n' 17:49:18.428139 Received DATA (on stdin) 17:49:18.428149 > 39 bytes data, server => client 17:49:18.428157 '229 Entering Passive Mode (|||43373|)\r\n' 17:49:18.428259 < 8 bytes data, client => server 17:49:18.428273 'TYPE I\r\n' 17:49:18.428463 Received DATA (on stdin) 17:49:18.428474 > 33 bytes data, server => client 17:49:18.428484 '200 I modify TYPE as you wanted\r\n' 17:49:18.428530 < 21 bytes data, client => server 17:49:18.428540 'SIZE verifiedserver\r\n' 17:49:18.428627 Received DATA (on stdin) 17:49:18.428639 > 8 bytes data, server => client 17:49:18.428678 '213 17\r\n' 17:49:18.428727 < 21 bytes data, client => server 17:49:18.428738 'RETR verifiedserver\r\n' 17:49:18.428942 Received DATA (on stdin) 17:49:18.428953 > 29 bytes data, server => client 17:49:18.428963 '150 Binary junk (17 bytes).\r\n' 17:49:18.429472 Received DATA (on stdin) 17:49:18.429483 > 28 bytes data, server => client 17:49:18.429494 '226 File transfer complete\r\n' 17:49:18.469663 < 6 bytes data, client => server 17:49:18.469705 'QUIT\r\n' 17:49:18.469898 Received DATA (on stdin) 17:49:18.469911 > 18 bytes data, server => client 17:49:18.469922 '221 bye bye baby\r\n' 17:49:18.470797 ====> Client disconnect 17:49:18.470947 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:18.427691 Running IPv4 version 17:49:18.427753 Listening on port 43373 17:49:18.427788 Wrote pid 87002 to log/11/server/ftp_sockdata.pid 17:49:18.427928 Received PING (on stdin) 17:49:18.428009 Received PORT (on stdin) 17:49:18.428293 ====> Client connect 17:49:18.428988 Received DATA (on stdin) 17:49:18.429000 > 17 bytes data, server => client 17:49:18.429010 'WE ROOLZ: 80983\r\n' 17:49:18.429031 Received DISC (on stdin) 17:49:18.429042 ====> Client forcibly disconnected 17:49:18.429188 Received QUIT (on stdin) 17:49:18.429200 quits 17:49:18.429266 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 191 === End of file server.cmd === Start of file valgrind191 ==87057== ==87057== Process terminating with default action of signal 4 (SIGILL) ==87057== Illegal opcode at address 0x4014520 ==87057== at 0x4014520: getparameter (tool_getparam.c:2862) ==87057== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87057== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87057== by 0x4003728: main (tool_main.c:186) === End of file valgrind191 CMD (33792): ../libtool --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/valgrind190 ../src/curl -q --output log/17/curl190.out --include --trace-ascii log/17/trace190 --trace-time ftp://127.0.0.1:45931/path/to/file/190 -m 10 > log/17/stdout190 2> log/17/stderr190 * kill pid for ftp-ctrl => 80874 RUN: Process with pid 80755 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/20/valgrind200 ../src/curl -q --output log/20/curl200.out --trace-ascii log/20/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/20/test200.txt > log/20/stdout200 2> log/20/stderr200 CMD (33792): ../libtool --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/valgrind198 ../src/curl -q --output log/2/curl198.out --include --trace-ascii log/2/trace198 --trace-time http://127.0.0.1:38779/198 --retry 1000 > log/2/stdout198 2> log/2/stderr198 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:39649/193 -w "%{num_connects}\n" -L > log/24/stdout193 2> log/24/stderr193 193: stdout FAILED: --- log/24/check-expected 2026-01-28 17:49:19.763222108 +0000 +++ log/24/check-generated 2026-01-28 17:49:19.763222108 +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:39649/193 -w "%{num_connects}\n" -L > log/24/stdout193 2> log/24/stderr193 === End of file commands.log === Start of file http_server.log 17:49:18.517662 ====> Client connect 17:49:18.517693 accept_connection 3 returned 4 17:49:18.517709 accept_connection 3 returned 0 17:49:18.517723 Read 93 bytes 17:49:18.517732 Process 93 bytes request 17:49:18.517745 Got request: GET /verifiedserver HTTP/1.1 17:49:18.517754 Are-we-friendly question received 17:49:18.517778 Wrote request (93 bytes) input to log/24/server.input 17:49:18.517795 Identifying ourselves as friends 17:49:18.517848 Response sent (56 bytes) and written to log/24/server.response 17:49:18.517857 special request received, no persistency 17:49:18.517866 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 52012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind193 ==87222== ==87222== Process terminating with default action of signal 4 (SIGILL) ==87222== Illegal opcode at address 0x4014520 ==87222== at 0x4014520: getparameter (tool_getparam.c:2862) ==87222== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87222== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87222== by 0x4003728: main (tool_main.c:186) === End of file valgrind193 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/2/valgrind198 ../src/curl -q --output log/2/curl198.out --include --trace-ascii log/2/trace198 --trace-time http://127.0.0.1:38779/198 --retry 1000 > log/2/stdout198 2> log/2/stderr198 198: 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 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/2/valgrind198 ../src/curl -q --output log/2/curl198.out --include --trace-ascii log/2/trace198 --trace-time http://127.0.0.1:38779/198 --retry 1000 > log/2/stdout198 2> log/2/stderr198 === End of file commands.log === Start of file http_server.log 17:49:18.542554 ====> Client connect 17:49:18.542584 accept_connection 3 returned 4 17:49:18.542600 accept_connection 3 returned 0 17:49:18.542612 Read 93 bytes 17:49:18.542621 Process 93 bytes request 17:49:18.542634 Got request: GET /verifiedserver HTTP/1.1 17:49:18.542642 Are-we-friendly question received 17:49:18.542665 Wrote request (93 bytes) input to log/2/server.input 17:49:18.542681 Identifying ourselves as friends 17:49:18.542731 Response sent (56 bytes) and written to log/2/server.response 17:49:18.542740 special request received, no persistency 17:49:18.542748 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 45198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind198 ==87326== ==87326== Process terminating with default action of signal 4 (SIGILL) ==87326== Illegal opcode at address 0x4014520 ==87326== at 0x4014520: getparameter (tool_getparam.c:2862) ==87326== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87326== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87326== by 0x4003728: main (tool_main.c:186) === End of file valgrind198 CMD (33792): ../libtool --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/valgrind197 ../src/curl -q --include --trace-ascii log/7/trace197 --trace-time http://127.0.0.1:35671/197 --retry 1000 > log/7/stdout197 2> log/7/stderr197 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/20/valgrind200 ../src/curl -q --output log/20/curl200.out --trace-ascii log/20/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/20/test200.txt > log/20/stdout200 2> log/20/stderr200 200: data FAILED: --- log/20/check-expected 2026-01-28 17:49:19.829888775 +0000 +++ log/20/check-generated 2026-01-28 17:49:19.829888775 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/20/ 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/20/valgrind200 ../src/curl -q --output log/20/curl200.out --trace-ascii log/20/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/20/test200.txt > log/20/stdout200 2> log/20/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 ==87251== ==87251== Process terminating with default action of signal 4 (SIGILL) ==87251== Illegal opcode at address 0x4014520 ==87251== at 0x4014520: getparameter (tool_getparam.c:2862) ==87251== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87251== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87251== by 0x4003728: main (tool_main.c:186) === End of file valgrind200 CMD (33792): ../libtool --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/valgrind199 ../src/curl -q --output log/23/curl199.out --include --trace-ascii log/23/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:39173/{199,199}" -G > log/23/stdout199 2> log/23/stderr199 CMD (33792): ../libtool --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/valgrind195 ../src/curl -q --output log/13/curl195.out --include --trace-ascii log/13/trace195 --trace-time ftp://127.0.0.1:32981/195 > log/13/stdout195 2> log/13/stderr195 CMD (33792): ../libtool --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/valgrind194 ../src/curl -q --output log/8/curl194.out --include --trace-ascii log/8/trace194 --trace-time http://127.0.0.1:42045/want/194 -C 87 --fail > log/8/stdout194 2> log/8/stderr194 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/7/valgrind197 ../src/curl -q --include --trace-ascii log/7/trace197 --trace-time http://127.0.0.1:35671/197 --retry 1000 > log/7/stdout197 2> log/7/stderr197 197: stdout FAILED: --- log/7/check-expected 2026-01-28 17:49:19.863222108 +0000 +++ log/7/check-generated 2026-01-28 17:49:19.863222108 +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/7/ 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/7/valgrind197 ../src/curl -q --include --trace-ascii log/7/trace197 --trace-time http://127.0.0.1:35671/197 --retry 1000 > log/7/stdout197 2> log/7/stderr197 === End of file commands.log === Start of file http_server.log 17:49:18.543625 ====> Client connect 17:49:18.543657 accept_connection 3 returned 4 17:49:18.543674 accept_connection 3 returned 0 17:49:18.543687 Read 93 bytes 17:49:18.543697 Process 93 bytes request 17:49:18.543708 Got request: GET /verifiedserver HTTP/1.1 17:49:18.543717 Are-we-friendly question received 17:49:18.543748 Wrote request (93 bytes) input to log/7/server.input 17:49:18.543765 Identifying ourselves as friends 17:49:18.543821 Response sent (56 bytes) and written to log/7/server.response 17:49:18.543831 special request received, no persistency 17:49:18.543840 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 41368 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind197 ==87332== ==87332== Process terminating with default action of signal 4 (SIGILL) ==87332== Illegal opcode at address 0x4014520 ==87332== at 0x4014520: getparameter (tool_getparam.c:2862) ==87332== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87332== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87332== by 0x4003728: main (tool_main.c:186) === End of file valgrind197 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/23/valgrind199 ../src/curl -q --output log/23/curl199.out --include --trace-ascii log/23/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:39173/{199,199}" -G > log/23/stdout199 2> log/23/stderr199 199: 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 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/23/valgrind199 ../src/curl -q --output log/23/curl199.out --include --trace-ascii log/23/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:39173/{199,199}" -G > log/23/stdout199 2> log/23/stderr199 === End of file commands.log === Start of file http_server.log 17:49:19.545163 ====> Client connect 17:49:19.545194 accept_connection 3 returned 4 17:49:19.545211 accept_connection 3 returned 0 17:49:19.545225 Read 93 bytes 17:49:19.545235 Process 93 bytes request 17:49:19.545246 Got request: GET /verifiedserver HTTP/1.1 17:49:19.545256 Are-we-friendly question received 17:49:19.545282 Wrote request (93 bytes) input to log/23/server.input 17:49:19.545300 Identifying ourselves as friends 17:49:19.545365 Response sent (56 bytes) and written to log/23/server.response 17:49:19.545375 special request received, no persistency 17:49:19.545385 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 53798 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind199 ==87330== ==87330== Process terminating with default action of signal 4 (SIGILL) ==87330== Illegal opcode at address 0x4014520 ==87330== at 0x4014520: getparameter (tool_getparam.c:2862) ==87330== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87330== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87330== by 0x4003728: main (tool_main.c:186) === End of file valgrind199 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/8/valgrind194 ../src/curl -q --output log/8/curl194.out --include --trace-ascii log/8/trace194 --trace-time http://127.0.0.1:42045/want/194 -C 87 --fail > log/8/stdout194 2> log/8/stderr194 194: 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 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/8/valgrind194 ../src/curl -q --output log/8/curl194.out --include --trace-ascii log/8/trace194 --trace-time http://127.0.0.1:42045/want/194 -C 87 --fail > log/8/stdout194 2> log/8/stderr194 === End of file commands.log === Start of file http_server.log 17:49:18.529564 ====> Client connect 17:49:18.529597 accept_connection 3 returned 4 17:49:18.529613 accept_connection 3 returned 0 17:49:18.529628 Read 93 bytes 17:49:18.529638 Process 93 bytes request 17:49:18.529651 Got request: GET /verifiedserver HTTP/1.1 17:49:18.529660 Are-we-friendly question received 17:49:18.529687 Wrote request (93 bytes) input to log/8/server.input 17:49:18.529705 Identifying ourselves as friends 17:49:18.529768 Response sent (56 bytes) and written to log/8/server.response 17:49:18.529778 special request received, no persistency 17:49:18.529787 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (12RUN: Process with pid 80755 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/4/valgrind196 ../src/curl -q --include --trace-ascii log/4/trace196 --trace-time ftp://127.0.0.1:40307/196 --retry 1 -w '%{num_retries}\n' > log/4/stdout196 2> log/4/stderr196 7.0.0.1 port 42045) from 127.0.0.1 port 56916 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind194 ==87276== ==87276== Process terminating with default action of signal 4 (SIGILL) ==87276== Illegal opcode at address 0x4014520 ==87276== at 0x4014520: getparameter (tool_getparam.c:2862) ==87276== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87276== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87276== by 0x4003728: main (tool_main.c:186) === End of file valgrind194 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/13/valgrind195 ../src/curl -q --output log/13/curl195.out --include --trace-ascii log/13/trace195 --trace-time ftp://127.0.0.1:32981/195 > log/13/stdout195 2> log/13/stderr195 195: 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 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/13/valgrind195 ../src/curl -q --output log/13/curl195.out --include --trace-ascii log/13/trace195 --trace-time ftp://127.0.0.1:32981/195 > log/13/stdout195 2> log/13/stderr195 === End of file commands.log === Start of file ftp_server.log 17:49:18.688783 ====> Client connect 17:49:18.688931 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:18.689186 < "USER anonymous" 17:49:18.689222 > "331 We are happy you popped in![CR][LF]" 17:49:18.689376 < "PASS ftp@example.com" 17:49:18.689401 > "230 Welcome you silly person[CR][LF]" 17:49:18.689536 < "PWD" 17:49:18.689563 > "257 "/" is current directory[CR][LF]" 17:49:18.689705 < "EPSV" 17:49:18.689729 ====> Passive DATA channel requested by client 17:49:18.689742 DATA sockfilt for passive data channel starting... 17:49:18.691666 DATA sockfilt for passive data channel started (pid 87238) 17:49:18.691778 DATA sockfilt for passive data channel listens on port 42125 17:49:18.691816 > "229 Entering Passive Mode (|||42125|)[CR][LF]" 17:49:18.691835 Client has been notified that DATA conn will be accepted on port 42125 17:49:18.692066 Client connects to port 42125 17:49:18.692097 ====> Client established passive DATA connection on port 42125 17:49:18.692182 < "TYPE I" 17:49:18.692216 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:18.692379 < "SIZE verifiedserver" 17:49:18.692419 > "213 17[CR][LF]" 17:49:18.692580 < "RETR verifiedserver" 17:49:18.692618 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:18.692706 =====> Closing passive DATA connection... 17:49:18.692723 Server disconnects passive DATA connection 17:49:18.692975 Server disconnected passive DATA connection 17:49:18.693027 DATA sockfilt for passive data channel quits (pid 87238) 17:49:18.693383 DATA sockfilt for passive data channel quit (pid 87238) 17:49:18.693414 =====> Closed passive DATA connection 17:49:18.693451 > "226 File transfer complete[CR][LF]" 17:49:18.737207 < "QUIT" 17:49:18.737267 > "221 bye bye baby[CR][LF]" 17:49:18.738728 MAIN sockfilt said DISC 17:49:18.738788 ====> Client disconnected 17:49:18.738876 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:18.534871 ====> Client connect 17:49:18.535130 Received DATA (on stdin) 17:49:18.535144 > 146 bytes data, server => client 17:49:18.535155 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:18.535165 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:18.535173 '220 \___|\___/|_| \_\_____|\r\n' 17:49:18.535239 < 16 bytes data, client => server 17:49:18.535251 'USER anonymous\r\n' 17:49:18.535411 Received DATA (on stdin) 17:49:18.535422 > 33 bytes data, server => client 17:49:18.535431 '331 We are happy you popped in!\r\n' 17:49:18.535477 < 22 bytes data, client => server 17:49:18.535487 'PASS ftp@example.com\r\n' 17:49:18.535586 Received DATA (on stdin) 17:49:18.535596 > 30 bytes data, server => client 17:49:18.535605 '230 Welcome you silly person\r\n' 17:49:18.535648 < 5 bytes data, client => server 17:49:18.535657 'PWD\r\n' 17:49:18.535748 Received DATA (on stdin) 17:49:18.535758 > 30 bytes data, server => client 17:49:18.535767 '257 "/" is current directory\r\n' 17:49:18.535819 < 6 bytes data, client => server 17:49:18.535828 'EPSV\r\n' 17:49:18.538028 Received DATA (on stdin) 17:49:18.538041 > 39 bytes data, server => client 17:49:18.538051 '229 Entering Passive Mode (|||42125|)\r\n' 17:49:18.538201 < 8 bytes data, client => server 17:49:18.538213 'TYPE I\r\n' 17:49:18.538407 Received DATA (on stdin) 17:49:18.538418 > 33 bytes data, server => client 17:49:18.538429 '200 I modify TYPE as you wanted\r\n' 17:49:18.538481 < 21 bytes data, client => server 17:49:18.538492 'SIZE verifiedserver\r\n' 17:49:18.538609 Received DATA (on stdin) 17:49:18.538621 > 8 bytes data, server => client 17:49:18.538631 '213 17\r\n' 17:49:18.538681 < 21 bytes data, client => server 17:49:18.538692 'RETR verifiedserver\r\n' 17:49:18.538913 Received DATA (on stdin) 17:49:18.538925 > 29 bytes data, server => client 17:49:18.538935 '150 Binary junk (17 bytes).\r\n' 17:49:18.539650 Received DATA (on stdin) 17:49:18.539666 > 28 bytes data, server => client 17:49:18.539676 '226 File transfer complete\r\n' 17:49:18.583162 < 6 bytes data, client => server 17:49:18.583197 'QUIT\r\n' 17:49:18.583470 Received DATA (on stdin) 17:49:18.583506 > 18 bytes data, server => client 17:49:18.583518 '221 bye bye baby\r\n' 17:49:18.584699 ====> Client disconnect 17:49:18.585073 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:18.537429 Running IPv4 version 17:49:18.537497 Listening on port 42125 17:49:18.537536 Wrote pid 87238 to log/13/server/ftp_sockdata.pid 17:49:18.537794 Received PING (on stdin) 17:49:18.537881 Received PORT (on stdin) 17:49:18.538172 ====> Client connect 17:49:18.538993 Received DATA (on stdin) 17:49:18.539020 > 17 bytes data, server => client 17:49:18.539031 'WE ROOLZ: 80972\r\n' 17:49:18.539078 Received DISC (on stdin) 17:49:18.539091 ====> Client forcibly disconnected 17:49:18.539228 Received QUIT (on stdin) 17:49:18.539238 quits 17:49:18.539320 ============> 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 ==87535== ==87535== Process terminating with default action of signal 4 (SIGILL) ==87535== Illegal opcode at address 0x4014520 ==87535== at 0x4014520: getparameter (tool_getparam.c:2862) ==87535== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87535== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87535== by 0x4003728: main (tool_main.c:186) === End of file valgrind195 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/4/valgrind196 ../src/curl -q --include --trace-ascii log/4/trace196 --trace-time ftp://127.0.0.1:40307/196 --retry 1 -w '%{num_retries}\n' > log/4/stdout196 2> log/4/stderr196 196: stdout FAILED: --- log/4/check-expected 2026-01-28 17:49:19.893222108 +0000 +++ log/4/check-generated 2026-01-28 17:49:19.893222108 +0000 @@ -1 +0,0 @@ -1[LF] == Contents of files in the log/4/ 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/4/valgrind196 ../src/curl -q --include --trace-ascii log/4/trace196 --trace-time ftp://127.0.0.1:40307/196 --retry 1 -w '%{num_retries}\n' > log/4/stdout196 2> log/4/stderr196 === End of file commands.log === Start of file ftp_server.log 17:49:18.693755 ====> Client connect 17:49:18.693933 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:18.694522 < "USER anonymous" 17:49:18.694577 > "331 We are happy you popped in![CR][LF]" 17:49:18.694754 < "PASS ftp@example.com" 17:49:18.694779 > "230 Welcome you silly person[CR][LF]" 17:49:18.694926 < "PWD" 17:49:18.694955 > "257 "/" is current directory[CR][LF]" 17:49:18.695113 < "EPSV" 17:49:18.695139 ====> Passive DATA channel requested by client 17:49:18.695154 DATA sockfilt for passive data channel starting... 17:49:18.697154 DATA sockfilt for passive data channel started (pid 87264) 17:49:18.697297 DATA sockfilt for passive data channel listens on port 46335 17:49:18.697348 > "229 Entering Passive Mode (|||46335|)[CR][LF]" 17:49:18.697369 Client has been notified that DATA conn will be accepted on port 46335 17:49:18.697632 Client connects to port 46335 17:49:18.697664 ====> Client established passive DATA connection on port 46335 17:49:18.697753 < "TYPE I" 17:49:18.697785 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:18.697956 < "SIZE verifiedserver" 17:49:18.697998 > "213 17[CR][LF]" 17:49:18.698138 < "RETR verifiedserver" 17:49:18.698171 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:18.698253 =====> Closing passive DATA connection... 17:49:18.698271 Server disconnects passive DATA connection 17:49:18.698477 Server disconnected passive DATA connection 17:49:18.698503 DATA sockfilt for passive data channel quits (pid 87264) 17:49:18.698769 DATA sockfilt for passive data channel quit (pid 87264) 17:49:18.698812 =====> Closed passive DATA connection 17:49:18.698851 > "226 File transfer complete[CR][LF]" 17:49:18.746742 < "QUIT" 17:49:18.746800 > "221 bye bye baby[CR][LF]" 17:49:18.748141 MAIN sockfilt said DISC 17:49:18.748189 ====> Client disconnected 17:49:18.748272 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:18.539741 ====> Client connect 17:49:18.540139 Received DATA (on stdin) 17:49:18.540155 > 146 bytes data, server => client 17:49:18.540168 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:18.540179 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:18.540189 '220 \___|\___/|_| \_\_____|\r\n' 17:49:18.540421 < 16 bytes data, client => server 17:49:18.540466 'USER anonymous\r\n' 17:49:18.540773 Received DATA (on stdin) 17:49:18.540785 > 33 bytes data, server => client 17:49:18.540796 '331 We are happy you popped in!\r\n' 17:49:18.540851 < 22 bytes data, client => server 17:49:18.540863 'PASS ftp@example.com\r\n' 17:49:18.540967 Received DATA (on stdin) 17:49:18.540978 > 30 bytes data, server => client 17:49:18.540988 '230 Welcome you silly person\r\n' 17:49:18.541034 < 5 bytes data, client => server 17:49:18.541045 'PWD\r\n' 17:49:18.541142 Received DATA (on stdin) 17:49:18.541153 > 30 bytes data, server => client 17:49:18.541163 '257 "/" is current directory\r\n' 17:49:18.541220 < 6 bytes data, client => server 17:49:18.541231 'EPSV\r\n' 17:49:18.543546 Received DATA (on stdin) 17:49:18.543561 > 39 bytes data, server => client 17:49:18.543572 '229 Entering Passive Mode (|||46335|)\r\n' 17:49:18.543758 < 8 bytes data, client => server 17:49:18.543771 'TYPE I\r\n' 17:49:18.543977 Received DATA (on stdin) 17:49:18.543990 > 33 bytes data, server => client 17:49:18.544001 '200 I modify TYPE as you wanted\r\n' 17:49:18.544060 < 21 bytes data, client => server 17:49:18.544071 'SIZE verifiedserver\r\n' 17:49:18.544186 Received DATA (on stdin) 17:49:18.544196 > 8 bytes data, server => client 17:49:18.544205 '213 17\r\n' 17:49:18.544250 < 21 bytes data, client => server 17:49:18.544260 'RETR verifiedserver\r\n' 17:49:18.544459 Received DATA (on stdin) 17:49:18.544470 > 29 bytes data, server => client 17:49:18.544479 '150 Binary junk (17 bytes).\r\n' 17:49:18.545052 Received DATA (on stdin) 17:49:18.545069 > 28 bytes data, server => client 17:49:18.545081 '226 File transfer complete\r\n' 17:49:18.592734 < 6 bytes data, client => server 17:49:18.592758 'QUIT\r\n' 17:49:18.592998 Received DATA (on stdin) 17:49:18.593013 > 18 bytes data, server => client 17:49:18.593023 '221 bye bye baby\r\n' 17:49:18.594269 ====> Client disconnect 17:49:18.594467 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:18.543174 Running IPv4 version 17:49:18.543230 Listening on port 46335 17:49:18.543266 Wrote pid 87264 to log/4/server/ftp_sockdata.pid 17:49:18.543285 Received PING (on stdin) 17:49:18.543390 Received PORT (on stdin) 17:49:18.543728 ====> Client connect 17:49:18.544501 Received DATA (on stdin) 17:49:18.544512 > 17 bytes data, server => client 17:49:18.544522 'WE ROOLZ: 80996\r\n' 17:49:18.544546 Received DISC (on stdin) 17:49:18.544555 ====> Client forcibly disconnected 17:49:18.544700 Received QUIT (on stdin) 17:49:18.544710 quits 17:49:18.544773 ============> 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 ==87564== ==87564== Process terminating with default action of signal 4 (SIGILL) ==87564== Illegal opcode at address 0x4014520 ==87564== at 0x4014520: getparameter (tool_getparam.c:2862) ==87564== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87564== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87564== by 0x4003728: main (tool_main.c:186) === End of file valgrind196 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/17/valgrind190 ../src/curl -q --output log/17/curl190.out --include --trace-ascii log/17/trace190 --trace-time ftp://127.0.0.1:45931/path/to/file/190 -m 10 > log/17/stdout190 2> log/17/stderr190 190: 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 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/17/valgrind190 ../src/curl -q --output log/17/curl190.out --include --trace-ascii log/17/trace190 --trace-time ftp://127.0.0.1:45931/path/to/file/190 -m 10 > log/17/stdout190 2> log/17/stderr190 === End of file commands.log === Start of file ftp_server.log 17:49:18.580753 ====> Client connect 17:49:18.580880 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:18.CMD (33792): ../libtool --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/valgrind201 ../src/curl -q --output log/12/curl201.out --include --trace-ascii log/12/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/12/non-existent-file.txt > log/12/stdout201 2> log/12/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/19/valgrind202 ../src/curl -q --trace-ascii log/19/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/19/test202.txt > log/19/stdout202 2> log/19/stderr202 581083 < "USER anonymous" 17:49:18.581113 > "331 We are happy you popped in![CR][LF]" 17:49:18.581241 < "PASS ftp@example.com" 17:49:18.581259 > "230 Welcome you silly person[CR][LF]" 17:49:18.581374 < "PWD" 17:49:18.581397 > "257 "/" is current directory[CR][LF]" 17:49:18.581532 < "EPSV" 17:49:18.581552 ====> Passive DATA channel requested by client 17:49:18.581563 DATA sockfilt for passive data channel starting... 17:49:18.582889 DATA sockfilt for passive data channel started (pid 87005) 17:49:18.582979 DATA sockfilt for passive data channel listens on port 34573 17:49:18.583014 > "229 Entering Passive Mode (|||34573|)[CR][LF]" 17:49:18.583029 Client has been notified that DATA conn will be accepted on port 34573 17:49:18.583212 Client connects to port 34573 17:49:18.583235 ====> Client established passive DATA connection on port 34573 17:49:18.583292 < "TYPE I" 17:49:18.583314 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:18.583451 < "SIZE verifiedserver" 17:49:18.583479 > "213 17[CR][LF]" 17:49:18.583589 < "RETR verifiedserver" 17:49:18.583614 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:18.583681 =====> Closing passive DATA connection... 17:49:18.583695 Server disconnects passive DATA connection 17:49:18.583863 Server disconnected passive DATA connection 17:49:18.583886 DATA sockfilt for passive data channel quits (pid 87005) 17:49:18.584065 DATA sockfilt for passive data channel quit (pid 87005) 17:49:18.584082 =====> Closed passive DATA connection 17:49:18.584103 > "226 File transfer complete[CR][LF]" 17:49:18.633687 < "QUIT" 17:49:18.633745 > "221 bye bye baby[CR][LF]" 17:49:18.634743 MAIN sockfilt said DISC 17:49:18.634792 ====> Client disconnected 17:49:18.634860 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:18.426829 ====> Client connect 17:49:18.427072 Received DATA (on stdin) 17:49:18.427082 > 146 bytes data, server => client 17:49:18.427092 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:18.427099 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:18.427107 '220 \___|\___/|_| \_\_____|\r\n' 17:49:18.427166 < 16 bytes data, client => server 17:49:18.427184 'USER anonymous\r\n' 17:49:18.427298 Received DATA (on stdin) 17:49:18.427308 > 33 bytes data, server => client 17:49:18.427316 '331 We are happy you popped in!\r\n' 17:49:18.427357 < 22 bytes data, client => server 17:49:18.427365 'PASS ftp@example.com\r\n' 17:49:18.427445 Received DATA (on stdin) 17:49:18.427453 > 30 bytes data, server => client 17:49:18.427460 '230 Welcome you silly person\r\n' 17:49:18.427496 < 5 bytes data, client => server 17:49:18.427503 'PWD\r\n' 17:49:18.427578 Received DATA (on stdin) 17:49:18.427586 > 30 bytes data, server => client 17:49:18.427594 '257 "/" is current directory\r\n' 17:49:18.427652 < 6 bytes data, client => server 17:49:18.427660 'EPSV\r\n' 17:49:18.429217 Received DATA (on stdin) 17:49:18.429228 > 39 bytes data, server => client 17:49:18.429236 '229 Entering Passive Mode (|||34573|)\r\n' 17:49:18.429354 < 8 bytes data, client => server 17:49:18.429362 'TYPE I\r\n' 17:49:18.429505 Received DATA (on stdin) 17:49:18.429517 > 33 bytes data, server => client 17:49:18.429528 '200 I modify TYPE as you wanted\r\n' 17:49:18.429569 < 21 bytes data, client => server 17:49:18.429578 'SIZE verifiedserver\r\n' 17:49:18.429662 Received DATA (on stdin) 17:49:18.429670 > 8 bytes data, server => client 17:49:18.429677 '213 17\r\n' 17:49:18.429712 < 21 bytes data, client => server 17:49:18.429720 'RETR verifiedserver\r\n' 17:49:18.429879 Received DATA (on stdin) 17:49:18.429887 > 29 bytes data, server => client 17:49:18.429895 '150 Binary junk (17 bytes).\r\n' 17:49:18.430289 Received DATA (on stdin) 17:49:18.430301 > 28 bytes data, server => client 17:49:18.430309 '226 File transfer complete\r\n' 17:49:18.479701 < 6 bytes data, client => server 17:49:18.479729 'QUIT\r\n' 17:49:18.479943 Received DATA (on stdin) 17:49:18.479957 > 18 bytes data, server => client 17:49:18.479968 '221 bye bye baby\r\n' 17:49:18.480857 ====> Client disconnect 17:49:18.481051 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:18.428930 Running IPv4 version 17:49:18.428982 Listening on port 34573 17:49:18.429012 Wrote pid 87005 to log/17/server/ftp_sockdata.pid 17:49:18.429027 Received PING (on stdin) 17:49:18.429094 Received PORT (on stdin) 17:49:18.429331 ====> Client connect 17:49:18.429914 Received DATA (on stdin) 17:49:18.429923 > 17 bytes data, server => client 17:49:18.429931 'WE ROOLZ: 80755\r\n' 17:49:18.429950 Received DISC (on stdin) 17:49:18.429958 ====> Client forcibly disconnected 17:49:18.430076 Received QUIT (on stdin) 17:49:18.430084 quits 17:49:18.430130 ============> 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 ==87073== ==87073== Process terminating with default action of signal 4 (SIGILL) ==87073== Illegal opcode at address 0x4014520 ==87073== at 0x4014520: getparameter (tool_getparam.c:2862) ==87073== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87073== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87073== by 0x4003728: main (tool_main.c:186) === End of file valgrind190 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/12/valgrind201 ../src/curl -q --output log/12/curl201.out --include --trace-ascii log/12/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/12/non-existent-file.txt > log/12/stdout201 2> log/12/stderr201 curl returned 132, when expecting 37 201: exit FAILED == Contents of files in the log/12/ 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/12/valgrind201 ../src/curl -q --output log/12/curl201.out --include --trace-ascii log/12/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/12/non-existent-file.txt > log/12/stdout201 2> log/12/stderr201 === End of file commands.log === Start of file server.cmd Testnum 201 === End of file server.cmd === Start of file valgrind201 ==87673== ==87673== Process terminating with default action of signal 4 (SIGILL) ==87673== Illegal opcode at address 0x4014520 ==87673== at 0x4014520: getparameter (tool_getparam.c:2862) ==87673== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87673== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87673== by 0x4003728: main (tool_main.c:186) === 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/5/valgrind204 ../src/curl -q --output log/5/curl204.out --trace-ascii log/5/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/5/result204.txt -T log/5/upload204.txt > log/5/stdout204 2> log/5/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/10/valgrind203 ../src/curl -q --output log/10/curl203.out --trace-ascii log/10/trace203 --trace-time file:/startdir/src/build-curl/tests/log/10/test203.txt > log/10/stdout203 2> log/10/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/19/valgrind202 ../src/curl -q --trace-ascii log/19/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/19/test202.txt > log/19/stdout202 2> log/19/stderr202 202: stdout FAILED: --- log/19/check-expected 2026-01-28 17:49:20.193222108 +0000 +++ log/19/check-generated 2026-01-28 17:49:20.193222108 +0000 @@ -1,2 +0,0 @@ -contents in a single file[LF] -contents in a single file[LF] == Contents of files in the log/19/ 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/19/valgrind202 ../src/curl -q --trace-ascii log/19/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/19/test202.txt > log/19/stdout202 2> log/19/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 ==87727== ==87727== Process terminating with default action of signal 4 (SIGILL) ==87727== Illegal opcode at address 0x4014520 ==87727== at 0x4014520: getparameter (tool_getparam.c:2862) ==87727== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87727== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87727== by 0x4003728: main (tool_main.c:186) === End of file valgrind202 CMD (33792): ../libtool --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/valgrind205 ../src/curl -q --output log/6/curl205.out --trace-ascii log/6/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/6/nonexisting/result205.txt -T log/6/upload205.txt > log/6/stdout205 2> log/6/stderr205 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/5/valgrind204 ../src/curl -q --output log/5/curl204.out --trace-ascii log/5/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/5/result204.txt -T log/5/upload204.txt > log/5/stdout204 2> log/5/stderr204 204: output (log/5/result204.txt) FAILED: --- log/5/check-expected 2026-01-28 17:49:20.209888774 +0000 +++ log/5/check-generated 2026-01-28 17:49:20.209888774 +0000 @@ -1,5 +0,0 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] == Contents of files in the log/5/ 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/5/valgrind204 ../src/curl -q --output log/5/curl204.out --trace-ascii log/5/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/5/result204.txt -T log/5/upload204.txt > log/5/stdout204 2> log/5/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 ==87791== ==87791== Process terminating with default action of signal 4 (SIGILL) ==87791== Illegal opcode at address 0x4014520 ==87791== at 0x4014520: getparameter (tool_getparam.c:2862) ==87791== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87791== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87791== by 0x4003728: main (tool_main.c:186) === End of file valgrind204 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/6/valgrind205 ../src/curl -q --output log/6/curl205.out --trace-ascii log/6/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/6/nonexisting/result205.txt -T log/6/upload205.txt > log/6/stdout205 2> log/6/stderr205 curl returned 132, when expecting 23 205: exit FAILED == Contents of files in the log/6/ 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/6/valgrind205 ../src/curl -q --output log/6/curl205.out --trace-ascii log/6/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/6/nonexisting/result205.txt -T log/6/upload205.txt > log/6/stdout205 2> log/6/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 ==87825== ==87825== Process terminating with default action of signal 4 (SIGILL) ==87825== Illegal opcode at address 0x4014520 ==87825== at 0x4014520: getparameter (tool_getparam.c:2862) ==87825== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87825== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87825== by 0x4003728: main (tool_main.c:186) === 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/3/valgrind207 ../src/curl -q --output log/3/curl207.out --include --trace-ascii log/3/trace207 --trace-time http://127.0.0.1:45927/207 > log/3/stdout207 2> log/3/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/22/valgrind206 ../src/curl -q --output log/22/curl206.out --include --trace-ascii log/22/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:42933 --proxy-user=silly:person --proxy-digest --proxytunnel > log/22/stdout206 2> log/22/stderr206 CMD (33792): ../libtool --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/valgrind209 ../src/curl -q --output log/21/curl209.out --include --trace-ascii log/21/trace209 --trace-time http://test.remote.example.com.209:41669/path/2090002 --proxy http://127.0.0.1:41669 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/21/stdout209 2> log/21/stderr209 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/10/valgrind203 ../src/curl -q --output log/10/curl203.out --trace-ascii log/10/trace203 --trace-time file:/startdir/src/build-curl/tests/log/10/test203.txt > log/10/stdout203 2> log/10/stderr203 203: data FAILED: --- log/10/check-expected 2026-01-28 17:49:20.223222108 +0000 +++ log/10/check-generated 2026-01-28 17:49:20.223222108 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/10/ 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/10/valgrind203 ../src/curl -q --output log/10/curl203.out --trace-ascii log/10/trace203 --trace-time file:/startdir/src/build-curl/tests/log/10/test203.txt > log/10/stdout203 2> log/10/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 ==87734== ==87734== Process terminating with default action of signal 4 (SIGILL) ==87734== Illegal opcode at address 0x4014520 ==87734== at 0x4014520: getparameter (tool_getparam.c:2862) ==87734== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87734== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87734== by 0x4003728: main (tool_main.c:186) === 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/3/valgrind207 ../src/curl -q --output log/3/curl207.out --include --trace-ascii log/3/trace207 --trace-time http://127.0.0.1:45927/207 > log/3/stdout207 2> log/3/stderr207 207: 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 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/3/valgrind207 ../src/curl -q --output log/3/curl207.out --include --trace-ascii log/3/trace207 --trace-time http://127.0.0.1:45927/207 > log/3/stdout207 2> log/3/stderr207 === End of file commands.log === Start of file http_server.log 17:49:19.114243 ====> Client connect 17:49:19.114275 accept_connection 3 returned 4 17:49:19.114290 accept_connection 3 returned 0 17:49:19.114302 Read 93 bytes 17:49:19.114311 Process 93 bytes request 17:49:19.114323 Got request: GET /verifiedserver HTTP/1.1 17:49:19.114331 Are-we-friendly question received 17:49:19.114355 Wrote request (93 bytes) input to log/3/server.input 17:49:19.114369 Identifying ourselves as friends 17:49:19.114419 Response sent (56 bytes) and written to log/3/server.response 17:49:19.114429 special request received, no persistency 17:49:19.114436 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 54730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind207 ==88014== ==88014== Process terminating with default action of signal 4 (SIGILL) ==88014== Illegal opcode at address 0x4014520 ==88014== at 0x4014520: getparameter (tool_getparam.c:2862) ==88014== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88014== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88014== by 0x4003728: main (tool_main.c:186) === End of file valgrind207 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/22/valgrind206 ../src/curl -q --output log/22/curl206.out --include --trace-ascii log/22/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:42933 --proxy-user=silly:person --proxy-digest --proxytunnel > log/22/stdout206 2> log/22/stderr206 206: 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 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/22/valgrind206 ../src/curl -q --output log/22/curl206.out --include --trace-ascii log/22/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:42933 --proxy-user=silly:person --proxy-digest --proxytunnel > log/22/stdout206 2> log/22/stderr206 === End of file commands.log === Start of file http_server.log 17:49:19.093408 ====> Client connect 17:49:19.093441 accept_connection 3 returned 4 17:49:19.093457 accept_connection 3 returned 0 17:49:19.093472 Read 93 bytes 17:49:19.093481 Process 93 bytes request 17:49:19.093494 Got request: GET /verifiedserver HTTP/1.1 17:49:19.093502 Are-we-friendly question received 17:49:19.093530 Wrote request (93 bytes) input to log/22/server.input 17:49:19.093547 Identifying ourselves as friends 17:49:19.093606 Response sent (56 bytes) and written to log/22/server.response 17:49:19.093616 special request received, no persistency 17:49:19.093625 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 33044 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind206 ==87983== ==87983== Process terminating with default action of signal 4 (SIGILL) ==87983== Illegal opcode at address 0x4014520 ==87983== at 0x4014520: getparameter (tool_getparam.c:2862) ==87983== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==87983== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==87983== by 0x4003728: main (tool_main.c:186) === End of file valgrind206 test 0209...[HTTP proxy CONNECT auth NTLM] ../libtool --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/valgrind209 ../src/curl -q --output log/21/curl209.out --include --trace-ascii log/21/trace209 --trace-time http://test.remote.exampCMD (33792): ../libtool --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/valgrind208 ../src/curl -q --output log/14/curl208.out --include --trace-ascii log/14/trace208 --trace-time -x http://127.0.0.1:37569 ftp://daniel:mysecret@host.com/we/want/208 -T log/14/test208.txt > log/14/stdout208 2> log/14/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/16/valgrind210 ../src/curl -q --output log/16/curl210.out --trace-ascii log/16/trace210 --trace-time ftp://127.0.0.1:39205/a/path/210 ftp://127.0.0.1:39205/a/path/210 > log/16/stdout210 2> log/16/stderr210 le.com.209:41669/path/2090002 --proxy http://127.0.0.1:41669 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/21/stdout209 2> log/21/stderr209 209: 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 209 === Start of file commands.log ../libtool --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/valgrind209 ../src/curl -q --output log/21/curl209.out --include --trace-ascii log/21/trace209 --trace-time http://test.remote.example.com.209:41669/path/2090002 --proxy http://127.0.0.1:41669 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/21/stdout209 2> log/21/stderr209 === End of file commands.log === Start of file http_server.log 17:49:19.150656 ====> Client connect 17:49:19.150698 accept_connection 3 returned 4 17:49:19.150714 accept_connection 3 returned 0 17:49:19.150728 Read 93 bytes 17:49:19.150737 Process 93 bytes request 17:49:19.150749 Got request: GET /verifiedserver HTTP/1.1 17:49:19.150757 Are-we-friendly question received 17:49:19.150791 Wrote request (93 bytes) input to log/21/server.input 17:49:19.150807 Identifying ourselves as friends 17:49:19.150861 Response sent (56 bytes) and written to log/21/server.response 17:49:19.150870 special request received, no persistency 17:49:19.150878 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 52974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === End of file http_verify.out === Start of file server.cmd Testnum 209 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74814 === End of file server.response === Start of file valgrind209 ==88117== ==88117== Process terminating with default action of signal 4 (SIGILL) ==88117== Illegal opcode at address 0x4014520 ==88117== at 0x4014520: getparameter (tool_getparam.c:2862) ==88117== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88117== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88117== by 0x4003728: main (tool_main.c:186) === End of file valgrind209 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/14/valgrind208 ../src/curl -q --output log/14/curl208.out --include --trace-ascii log/14/trace208 --trace-time -x http://127.0.0.1:37569 ftp://daniel:mysecret@host.com/we/want/208 -T log/14/test208.txt > log/14/stdout208 2> log/14/stderr208 208: 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 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/14/valgrind208 ../src/curl -q --output log/14/curl208.out --include --trace-ascii log/14/trace208 --trace-time -x http://127.0.0.1:37569 ftp://daniel:mysecret@host.com/we/want/208 -T log/14/test208.txt > log/14/stdout208 2> log/14/stderr208 === End of file commands.log === Start of file http_server.log 17:49:20.147026 ====> Client connect 17:49:20.147060 accept_connection 3 returned 4 17:49:20.147077 accept_connection 3 returned 0 17:49:20.147092 Read 93 bytes 17:49:20.147102 Process 93 bytes request 17:49:20.147114 Got request: GET /verifiedserver HTTP/1.1 17:49:20.147123 Are-we-friendly question received 17:49:20.147148 Wrote request (93 bytes) input to log/14/server.input 17:49:20.147165 Identifying ourselves as friends 17:49:20.147221 Response sent (56 bytes) and written to log/14/server.response 17:49:20.147231 special request received, no persistency 17:49:20.147240 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 46838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === 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 ==88094== ==88094== Process terminating with default action of signal 4 (SIGILL) ==88094== Illegal opcode at address 0x4014520 ==88094== at 0x4014520: getparameter (tool_getparam.c:2862) ==88094== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88094== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88094== by 0x4003728: main (tool_main.c:186) === End of file valgrind208 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/16/valgrind210 ../src/curl -q --output log/16/curl210.out --trace-ascii log/16/trace210 --trace-time ftp://127.0.0.1:39205/a/path/210 ftp://127.0.0.1:39205/a/path/210 > log/16/stdout210 2> log/16/stderr210 210: 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 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/16/valgrind210 ../src/curl -q --output log/16/curl210.out --trace-ascii log/16/trace210 --trace-time ftp://127.0.0.1:39205/a/path/210 ftp://127.0.0.1:39205/a/path/210 > log/16/stdout210 2> log/16/stderr210 === End of file commands.log === Start of file ftp_server.log 17:49:19.319761 ====> Client connect 17:49:19.319936 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:19.320241 < "USER anonymous" 17:49:19.320284 > "331 We are happy you popped in![CR][LF]" 17:49:19.320450 < "PASS ftp@example.com" 17:49:19.320477 > "230 Welcome you silly person[CR][LF]" 17:49:19.320622 < "PWD" 17:49:19.320655 > "257 "/" is current directory[CR][LF]" 17:49:19.320810 < "EPSV" 17:49:19.320837 ====> Passive DATA channel requested by client 17:49:19.320852 DATA sockfilt for passive data channel starting... 17:49:19.323147 DATA sockfilt for passive data channel started (pid 88102) 17:49:19.323254 DATA sockfilt for passive data channel listens on port 40263 17:49:19.323295 > "229 Entering Passive Mode (|||40263|)[CR][LF]" 17:49:19.323310 Client has been notified that DATA conn will be accepted on port 40263 17:49:19.323564 Client connects to port 40263 17:49:19.323598 ====> Client established passive DATA connection on port 40263 17:49:19.323673 < "TYPE I" 17:49:19.323699 > "200 I modify TYPE 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/1/valgrind211 ../src/curl -q --output log/1/curl211.out --include --trace-ascii log/1/trace211 --trace-time ftp://127.0.0.1:39965/a/path/211 ftp://127.0.0.1:39965/a/path/211 > log/1/stdout211 2> log/1/stderr211 s you wanted[CR][LF]" 17:49:19.323823 < "SIZE verifiedserver" 17:49:19.323851 > "213 17[CR][LF]" 17:49:19.323963 < "RETR verifiedserver" 17:49:19.323989 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:19.324073 =====> Closing passive DATA connection... 17:49:19.324092 Server disconnects passive DATA connection 17:49:19.324159 Server disconnected passive DATA connection 17:49:19.324182 DATA sockfilt for passive data channel quits (pid 88102) 17:49:19.324371 DATA sockfilt for passive data channel quit (pid 88102) 17:49:19.324390 =====> Closed passive DATA connection 17:49:19.324411 > "226 File transfer complete[CR][LF]" 17:49:19.375609 < "QUIT" 17:49:19.375672 > "221 bye bye baby[CR][LF]" 17:49:19.376707 MAIN sockfilt said DISC 17:49:19.376733 ====> Client disconnected 17:49:19.376818 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:19.165842 ====> Client connect 17:49:19.166137 Received DATA (on stdin) 17:49:19.166152 > 146 bytes data, server => client 17:49:19.166164 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:19.166186 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:19.166196 '220 \___|\___/|_| \_\_____|\r\n' 17:49:19.166274 < 16 bytes data, client => server 17:49:19.166285 'USER anonymous\r\n' 17:49:19.166477 Received DATA (on stdin) 17:49:19.166489 > 33 bytes data, server => client 17:49:19.166500 '331 We are happy you popped in!\r\n' 17:49:19.166552 < 22 bytes data, client => server 17:49:19.166562 'PASS ftp@example.com\r\n' 17:49:19.166664 Received DATA (on stdin) 17:49:19.166674 > 30 bytes data, server => client 17:49:19.166685 '230 Welcome you silly person\r\n' 17:49:19.166730 < 5 bytes data, client => server 17:49:19.166740 'PWD\r\n' 17:49:19.166842 Received DATA (on stdin) 17:49:19.166853 > 30 bytes data, server => client 17:49:19.166864 '257 "/" is current directory\r\n' 17:49:19.166919 < 6 bytes data, client => server 17:49:19.166929 'EPSV\r\n' 17:49:19.169507 Received DATA (on stdin) 17:49:19.169524 > 39 bytes data, server => client 17:49:19.169532 '229 Entering Passive Mode (|||40263|)\r\n' 17:49:19.169717 < 8 bytes data, client => server 17:49:19.169728 'TYPE I\r\n' 17:49:19.169883 Received DATA (on stdin) 17:49:19.169892 > 33 bytes data, server => client 17:49:19.169900 '200 I modify TYPE as you wanted\r\n' 17:49:19.169943 < 21 bytes data, client => server 17:49:19.169952 'SIZE verifiedserver\r\n' 17:49:19.170034 Received DATA (on stdin) 17:49:19.170042 > 8 bytes data, server => client 17:49:19.170049 '213 17\r\n' 17:49:19.170085 < 21 bytes data, client => server 17:49:19.170093 'RETR verifiedserver\r\n' 17:49:19.170245 Received DATA (on stdin) 17:49:19.170257 > 29 bytes data, server => client 17:49:19.170267 '150 Binary junk (17 bytes).\r\n' 17:49:19.170595 Received DATA (on stdin) 17:49:19.170605 > 28 bytes data, server => client 17:49:19.170613 '226 File transfer complete\r\n' 17:49:19.221574 < 6 bytes data, client => server 17:49:19.221608 'QUIT\r\n' 17:49:19.221863 Received DATA (on stdin) 17:49:19.221874 > 18 bytes data, server => client 17:49:19.221885 '221 bye bye baby\r\n' 17:49:19.222844 ====> Client disconnect 17:49:19.223005 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:19.169156 Running IPv4 version 17:49:19.169229 Listening on port 40263 17:49:19.169266 Wrote pid 88102 to log/16/server/ftp_sockdata.pid 17:49:19.169284 Received PING (on stdin) 17:49:19.169362 Received PORT (on stdin) 17:49:19.169690 ====> Client connect 17:49:19.170183 Received DATA (on stdin) 17:49:19.170195 > 17 bytes data, server => client 17:49:19.170204 'WE ROOLZ: 81124\r\n' 17:49:19.170285 Received DISC (on stdin) 17:49:19.170297 ====> Client forcibly disconnected 17:49:19.170370 Received QUIT (on stdin) 17:49:19.170381 quits 17:49:19.170429 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 210 === End of file server.cmd === Start of file valgrind210 ==88233== ==88233== Process terminating with default action of signal 4 (SIGILL) ==88233== Illegal opcode at address 0x4014520 ==88233== at 0x4014520: getparameter (tool_getparam.c:2862) ==88233== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88233== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88233== by 0x4003728: main (tool_main.c:186) === End of file valgrind210 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/1/valgrind211 ../src/curl -q --output log/1/curl211.out --include --trace-ascii log/1/trace211 --trace-time ftp://127.0.0.1:39965/a/path/211 ftp://127.0.0.1:39965/a/path/211 > log/1/stdout211 2> log/1/stderr211 211: 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 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/1/valgrind211 ../src/curl -q --output log/1/curl211.out --include --trace-ascii log/1/trace211 --trace-time ftp://127.0.0.1:39965/a/path/211 ftp://127.0.0.1:39965/a/path/211 > log/1/stdout211 2> log/1/stderr211 === End of file commands.log === Start of file ftp_server.log 17:49:19.443365 ====> Client connect 17:49:19.443545 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:19.443806 < "USER anonymous" 17:49:19.443836 > "331 We are happy you popped in![CR][LF]" 17:49:19.443986 < "PASS ftp@example.com" 17:49:19.444012 > "230 Welcome you silly person[CR][LF]" 17:49:19.444148 < "PWD" 17:49:19.444180 > "257 "/" is current directory[CR][LF]" 17:49:19.444538 < "EPSV" 17:49:19.444566 ====> Passive DATA channel requested by client 17:49:19.444580 DATA sockfilt for passive data channel starting... 17:49:19.446108 DATA sockfilt for passive data channel started (pid 88291) 17:49:19.446215 DATA sockfilt for passive data channel listens on port 43193 17:49:19.446266 > "229 Entering Passive Mode (|||43193|)[CR][LF]" 17:49:19.446288 Client has been notified that DATA conn will be accepted on port 43193 17:49:19.446555 Client connects to port 43193 17:49:19.446586 ====> Client established passive DATA connection on port 43193 17:49:19.446686 < "TYPE I" 17:49:19.446721 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:19.446889 < "SIZE verifiedserver" 17:49:19.446926 > "213 17[CR][LF]" 17:49:19.447073 < "RETR verifiedserver" 17:49:19.447106 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:19.447208 =====> Closing passive DATA connection... 17:49:19.447229 Server disconnects passive DATA connection 17:49:19.447452 Server disconnected passive DATA connection 17:49:19.447480 DATA sockfilt for passive data channel quits (pid 88291) 17:49:19.447703 DATA sockfilt for passive data channel quit (pid 88291) 17:49:19.447727 =====> Closed passive DATA connection 17:49:19.447754 > "226 File transfer complete[CR][LF]" 17:49:19.496974 < "QUIT" 17:49:19.497031 > "221 bye bye baby[CR][LF]" 17:49:19.498479 MAIN sockfilt said DISC 17:49:19.498512 ====> Client disconnected 17:49:19.498715 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:19.289394 ====> Client connect 17:49:19.289744 Received DATA (on stdin) 17:49:19.289758 > 146 bytes data, server => client 17:49:19.289769 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:19.289778 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:19.289787 '220 \___|\___/|_| \_\_____|\r\n' 17:49:19.289855 < 16 bytes data, client => server 17:49:19.289866 'USER anonymous\r\n' 17:49:19.290026 Received DATA (on stdin) 17:49:19.290037 > 33 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/18/valgrind212 ../src/curl -q --output log/18/curl212.out --include --trace-ascii log/18/trace212 --trace-time ftp://127.0.0.1:36869/a/path/212 ftp://127.0.0.1:36869/a/path/212 -P - > log/18/stdout212 2> log/18/stderr212 data, server => client 17:49:19.290046 '331 We are happy you popped in!\r\n' 17:49:19.290093 < 22 bytes data, client => server 17:49:19.290103 'PASS ftp@example.com\r\n' 17:49:19.290198 Received DATA (on stdin) 17:49:19.290208 > 30 bytes data, server => client 17:49:19.290217 '230 Welcome you silly person\r\n' 17:49:19.290260 < 5 bytes data, client => server 17:49:19.290269 'PWD\r\n' 17:49:19.290365 Received DATA (on stdin) 17:49:19.290375 > 30 bytes data, server => client 17:49:19.290384 '257 "/" is current directory\r\n' 17:49:19.290443 < 6 bytes data, client => server 17:49:19.290454 'EPSV\r\n' 17:49:19.292492 Received DATA (on stdin) 17:49:19.292515 > 39 bytes data, server => client 17:49:19.292526 '229 Entering Passive Mode (|||43193|)\r\n' 17:49:19.292660 < 8 bytes data, client => server 17:49:19.292675 'TYPE I\r\n' 17:49:19.292915 Received DATA (on stdin) 17:49:19.292929 > 33 bytes data, server => client 17:49:19.292939 '200 I modify TYPE as you wanted\r\n' 17:49:19.292992 < 21 bytes data, client => server 17:49:19.293004 'SIZE verifiedserver\r\n' 17:49:19.293114 Received DATA (on stdin) 17:49:19.293125 > 8 bytes data, server => client 17:49:19.293135 '213 17\r\n' 17:49:19.293182 < 21 bytes data, client => server 17:49:19.293193 'RETR verifiedserver\r\n' 17:49:19.293422 Received DATA (on stdin) 17:49:19.293433 > 29 bytes data, server => client 17:49:19.293443 '150 Binary junk (17 bytes).\r\n' 17:49:19.293942 Received DATA (on stdin) 17:49:19.293954 > 28 bytes data, server => client 17:49:19.293964 '226 File transfer complete\r\n' 17:49:19.342958 < 6 bytes data, client => server 17:49:19.342994 'QUIT\r\n' 17:49:19.343224 Received DATA (on stdin) 17:49:19.343236 > 18 bytes data, server => client 17:49:19.343247 '221 bye bye baby\r\n' 17:49:19.344349 ====> Client disconnect 17:49:19.344805 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:19.292113 Running IPv4 version 17:49:19.292177 Listening on port 43193 17:49:19.292220 Wrote pid 88291 to log/1/server/ftp_sockdata.pid 17:49:19.292239 Received PING (on stdin) 17:49:19.292319 Received PORT (on stdin) 17:49:19.292697 ====> Client connect 17:49:19.293468 Received DATA (on stdin) 17:49:19.293480 > 17 bytes data, server => client 17:49:19.293490 'WE ROOLZ: 81139\r\n' 17:49:19.293513 Received DISC (on stdin) 17:49:19.293524 ====> Client forcibly disconnected 17:49:19.293675 Received QUIT (on stdin) 17:49:19.293686 quits 17:49:19.293751 ============> 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 ==88325== ==88325== Process terminating with default action of signal 4 (SIGILL) ==88325== Illegal opcode at address 0x4014520 ==88325== at 0x4014520: getparameter (tool_getparam.c:2862) ==88325== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88325== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88325== by 0x4003728: main (tool_main.c:186) === End of file valgrind211 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/18/valgrind212 ../src/curl -q --output log/18/curl212.out --include --trace-ascii log/18/trace212 --trace-time ftp://127.0.0.1:36869/a/path/212 ftp://127.0.0.1:36869/a/path/212 -P - > log/18/stdout212 2> log/18/stderr212 212: 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 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/18/valgrind212 ../src/curl -q --output log/18/curl212.out --include --trace-ascii log/18/trace212 --trace-time ftp://127.0.0.1:36869/a/path/212 ftp://127.0.0.1:36869/a/path/212 -P - > log/18/stdout212 2> log/18/stderr212 === End of file commands.log === Start of file ftp_server.log 17:49:19.453520 ====> Client connect 17:49:19.453699 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:19.453996 < "USER anonymous" 17:49:19.454032 > "331 We are happy you popped in![CR][LF]" 17:49:19.454201 < "PASS ftp@example.com" 17:49:19.454228 > "230 Welcome you silly person[CR][LF]" 17:49:19.454374 < "PWD" 17:49:19.454404 > "257 "/" is current directory[CR][LF]" 17:49:19.454563 < "EPSV" 17:49:19.454592 ====> Passive DATA channel requested by client 17:49:19.454606 DATA sockfilt for passive data channel starting... 17:49:19.456564 DATA sockfilt for passive data channel started (pid 88310) 17:49:19.456724 DATA sockfilt for passive data channel listens on port 41061 17:49:19.456786 > "229 Entering Passive Mode (|||41061|)[CR][LF]" 17:49:19.456806 Client has been notified that DATA conn will be accepted on port 41061 17:49:19.457094 Client connects to port 41061 17:49:19.457126 ====> Client established passive DATA connection on port 41061 17:49:19.457214 < "TYPE I" 17:49:19.457246 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:19.457404 < "SIZE verifiedserver" 17:49:19.457439 > "213 17[CR][LF]" 17:49:19.457586 < "RETR verifiedserver" 17:49:19.457618 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:19.457709 =====> Closing passive DATA connection... 17:49:19.457726 Server disconnects passive DATA connection 17:49:19.457944 Server disconnected passive DATA connection 17:49:19.457971 DATA sockfilt for passive data channel quits (pid 88310) 17:49:19.458180 DATA sockfilt for passive data channel quit (pid 88310) 17:49:19.458203 =====> Closed passive DATA connection 17:49:19.458236 > "226 File transfer complete[CR][LF]" 17:49:19.503524 < "QUIT" 17:49:19.503580 > "221 bye bye baby[CR][LF]" 17:49:19.504883 MAIN sockfilt said DISC 17:49:19.504916 ====> Client disconnected 17:49:19.505001 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.299587 ====> Client connect 17:49:20.299899 Received DATA (on stdin) 17:49:20.299913 > 146 bytes data, server => client 17:49:20.299924 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.299935 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.299944 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.300021 < 16 bytes data, client => server 17:49:20.300032 'USER anonymous\r\n' 17:49:20.300224 Received DATA (on stdin) 17:49:20.300236 > 33 bytes data, server => client 17:49:20.300247 '331 We are happy you popped in!\r\n' 17:49:20.300298 < 22 bytes data, client => server 17:49:20.300309 'PASS ftp@example.com\r\n' 17:49:20.300415 Received DATA (on stdin) 17:49:20.300426 > 30 bytes data, server => client 17:49:20.300437 '230 Welcome you silly person\r\n' 17:49:20.300483 < 5 bytes data, client => server 17:49:20.300493 'PWD\r\n' 17:49:20.300591 Received DATA (on stdin) 17:49:20.300603 > 30 bytes data, server => client 17:49:20.300613 '257 "/" is current directory\r\n' 17:49:20.300670 < 6 bytes data, client => server 17:49:20.300681 'EPSV\r\n' 17:49:20.303006 Received DATA (on stdin) 17:49:20.303023 > 39 bytes data, server => client 17:49:20.303035 '229 Entering Passive Mode (|||41061|)\r\n' 17:49:20.303232 < 8 bytes data, client => server 17:49:20.303243 'TYPE I\r\n' 17:49:20.303439 Received DATA (on stdin) 17:49:20.303450 > 33 bytes data, server => client 17:49:20.303461 '200 I modify TYPE as you wanted\r\n' 17:49:20.303509 < 21 bytes data, client => server 17:49:20.303520 'SIZE verifiedserver\r\n' 17:49:20.303627 Received DATA (on stdin) 17:49:20.303638 > 8 bytes data, server => client 17:49:20.303648 '213 17\r\n' 17:49:20.303694 < 21 bytes data, client => server 17:49:20.303705 'RETR verifiedserver\r\n' 17:49:20.303915 Received DATA (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/valgrind213 ../src/curl -q --output log/15/curl213.out --include --trace-ascii log/15/trace213 --trace-time http://test.remote.example.com.213:41057/path/2130002 --proxy1.0 http://127.0.0.1:41057 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/15/stdout213 2> log/15/stderr213 CMD (33792): ../libtool --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/valgrind214 ../src/curl -q --output log/11/curl214.out --include --trace-ascii log/11/trace214 --trace-time "http://127.0.0.1:46439/\{\}\/214" > log/11/stdout214 2> log/11/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/2/valgrind217 ../src/curl -q --include --trace-ascii log/2/trace217 --trace-time http://test.remote.example.com.217:38779/path/2170002 --proxy http://127.0.0.1:38779 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/2/stdout217 2> log/2/stderr217 n stdin) 17:49:20.303926 > 29 bytes data, server => client 17:49:20.303937 '150 Binary junk (17 bytes).\r\n' 17:49:20.304426 Received DATA (on stdin) 17:49:20.304438 > 28 bytes data, server => client 17:49:20.304449 '226 File transfer complete\r\n' 17:49:20.347580 < 6 bytes data, client => server 17:49:20.347609 'QUIT\r\n' 17:49:20.349779 Received DATA (on stdin) 17:49:20.349794 > 18 bytes data, server => client 17:49:20.349805 '221 bye bye baby\r\n' 17:49:20.351011 ====> Client disconnect 17:49:20.351197 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:19.302544 Running IPv4 version 17:49:19.302617 Listening on port 41061 17:49:19.302660 Wrote pid 88310 to log/18/server/ftp_sockdata.pid 17:49:19.302684 Received PING (on stdin) 17:49:19.302803 Received PORT (on stdin) 17:49:19.303205 ====> Client connect 17:49:19.303962 Received DATA (on stdin) 17:49:19.303974 > 17 bytes data, server => client 17:49:19.303984 'WE ROOLZ: 82094\r\n' 17:49:19.304006 Received DISC (on stdin) 17:49:19.304017 ====> Client forcibly disconnected 17:49:19.304167 Received QUIT (on stdin) 17:49:19.304178 quits 17:49:19.304234 ============> 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 ==88336== ==88336== Process terminating with default action of signal 4 (SIGILL) ==88336== Illegal opcode at address 0x4014520 ==88336== at 0x4014520: getparameter (tool_getparam.c:2862) ==88336== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88336== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88336== by 0x4003728: main (tool_main.c:186) === End of file valgrind212 test 0213...[HTTP 1.0 proxy CONNECT auth NTLM and then 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/15/valgrind213 ../src/curl -q --output log/15/curl213.out --include --trace-ascii log/15/trace213 --trace-time http://test.remote.example.com.213:41057/path/2130002 --proxy1.0 http://127.0.0.1:41057 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/15/stdout213 2> log/15/stderr213 213: 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 213 === Start of file commands.log ../libtool --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/valgrind213 ../src/curl -q --output log/15/curl213.out --include --trace-ascii log/15/trace213 --trace-time http://test.remote.example.com.213:41057/path/2130002 --proxy1.0 http://127.0.0.1:41057 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/15/stdout213 2> log/15/stderr213 === End of file commands.log === Start of file http_server.log 17:49:19.399575 ====> Client connect 17:49:19.399618 accept_connection 3 returned 4 17:49:19.399636 accept_connection 3 returned 0 17:49:19.399650 Read 93 bytes 17:49:19.399659 Process 93 bytes request 17:49:19.399672 Got request: GET /verifiedserver HTTP/1.1 17:49:19.399680 Are-we-friendly question received 17:49:19.399706 Wrote request (93 bytes) input to log/15/server.input 17:49:19.399722 Identifying ourselves as friends 17:49:19.399788 Response sent (56 bytes) and written to log/15/server.response 17:49:19.399798 special request received, no persistency 17:49:19.399807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 57478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === End of file http_verify.out === Start of file server.cmd Testnum 213 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74820 === End of file server.response === Start of file valgrind213 ==88437== ==88437== Process terminating with default action of signal 4 (SIGILL) ==88437== Illegal opcode at address 0x4014520 ==88437== at 0x4014520: getparameter (tool_getparam.c:2862) ==88437== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88437== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88437== by 0x4003728: main (tool_main.c:186) === End of file valgrind213 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/11/valgrind214 ../src/curl -q --output log/11/curl214.out --include --trace-ascii log/11/trace214 --trace-time "http://127.0.0.1:46439/\{\}\/214" > log/11/stdout214 2> log/11/stderr214 214: 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 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/11/valgrind214 ../src/curl -q --output log/11/curl214.out --include --trace-ascii log/11/trace214 --trace-time "http://127.0.0.1:46439/\{\}\/214" > log/11/stdout214 2> log/11/stderr214 === End of file commands.log === Start of file http_server.log 17:49:19.630945 ====> Client connect 17:49:19.630977 accept_connection 3 returned 4 17:49:19.630993 accept_connection 3 returned 0 17:49:19.631008 Read 93 bytes 17:49:19.631018 Process 93 bytes request 17:49:19.631031 Got request: GET /verifiedserver HTTP/1.1 17:49:19.631040 Are-we-friendly question received 17:49:19.631112 Wrote request (93 bytes) input to log/11/server.input 17:49:19.631157 Identifying ourselves as friends 17:49:19.631431 Response sent (56 bytes) and written to log/11/server.response 17:49:19.631531 special request received, no persistency 17:49:19.631541 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 36186 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.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:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind214 ==88553== ==88553== Process terminating with default action of signal 4 (SIGILL) ==88553== Illegal opcode at address 0x4014520 ==88553== at 0x4014520: getparameter (tool_getparam.c:2862) ==88553== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88553== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88553== by 0x4003728: main (tool_main.c:186) === End of file valgrind214 CMD (33792): ../libtool --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/valgrind215 ../src/curl -q --output log/24/curl215.out --include --trace-ascii log/24/trace215 --trace-time ftp://127.0.0.1:39525/a/path/215/ ftp://127.0.0.1:39525/a/path/215/ > log/24/stdout215 2> log/24/stderr215 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/2/valgrind217 ../src/curl -q --include --trace-ascii log/2/trace217 --trace-time http://test.remote.example.com.217:38779/path/2170002 --proxy http://127.0.0.1:38779 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/2/stdout217 2> log/2/stderr217 217: stdout FAILED: --- log/2/check-expected 2026-01-28 17:49:20.949888774 +0000 +++ log/2/check-generated 2026-01-28 17:49:20.949888774 +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/2/ 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/2/valgrind217 ../src/curl -q --include --trace-ascii log/2/trace217 --trace-time http://test.remote.example.com.217:38779/path/2170002 --proxy http://127.0.0.1:38779 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/2/stdout217 2> log/2/stderr217 === End of file commands.log === Start of file http_server.log 17:49:19.697369 ====> Client connect 17:49:19.697409 accept_connection 3 returned 4 17:49:19.697428 accept_connection 3 returned 0 17:49:19.697444 Read 93 bytes 17:49:19.697454 Process 93 bytes request 17:49:19.697468 Got request: GET /verifiedserver HTTP/1.1 17:49:19.697477 Are-we-friendly question received 17:49:19.697509 Wrote request (93 bytes) input to log/2/server.input 17:49:19.697527 Identifying ourselves as friends 17:49:19.697589 Response sent (56 bytes) and written to log/2/server.response 17:49:19.697600 special request received, no persistency 17:49:19.697609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 45212 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind217 ==88661== ==88661== Process terminating with default action of signal 4 (SIGILL) ==88661== Illegal opcode at address 0x4014520 ==88661== at 0x4014520: getparameter (tool_getparam.c:2862) ==88661== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88661== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88661== by 0x4003728: main (tool_main.c:186) === End of file valgrind217 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/24/valgrind215 ../src/curl -q --output log/24/curl215.out --include --trace-ascii log/24/trace215 --trace-time ftp://127.0.0.1:39525/a/path/215/ ftp://127.0.0.1:39525/a/path/215/ > log/24/stdout215 2> log/24/stderr215 215: 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 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/24/valgrind215 ../src/curl -q --output log/24/curl215.out --include --trace-ascii log/24/trace215 --trace-time ftp://127.0.0.1:39525/a/path/215/ ftp://127.0.0.1:39525/a/path/215/ > log/24/stdout215 2> log/24/stderr215 === End of file commands.log === Start of file ftp_server.log 17:49:19.793972 ====> Client connect 17:49:19.794124 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:19.794393 < "USER anonymous" 17:49:19.794431 > "331 We are happy you popped in![CR][LF]" 17:49:19.794600 < "PASS ftp@example.com" 17:49:19.794627 > "230 Welcome you silly person[CR][LF]" 17:49:19.794789 < "PWD" 17:49:19.794821 > "257 "/" is current directory[CR][LF]" 17:49:19.794990 < "EPSV" 17:49:19.795015 ====> Passive DATA channel requested by client 17:49:19.795030 DATA sockfilt for passive data channel starting... 17:49:19.796794 DATA sockfilt for passive data channel started (pid 88548) 17:49:19.796875 DATA sockfilt for passive data channel listens on port 37103 17:49:19.796908 > "229 Entering Passive Mode (|||37103|)[CR][LF]" 17:49:19.796923 Client has been notified that DATA conn will be accepted on port 37103 17:49:19.797099 Client connects to port 37103 17:49:19.797123 ====> Client established passive DATA connection on port 37103 17:49:19.797180 < "TYPE I" 17:49:19.797203 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:19.797319 < "SIZE verifiedserver" 17:49:19.797348 > "213 17[CR][LF]" 17:49:19.797459 < "RETR verifiedserver" 17:49:19.797489 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:19.797559 =====> Closing passive DATA connection... 17:49:19.797571 Server disconnects passive DATA connection 17:49:19.797744 Server disconnected passive DATA connection 17:49:19.797765 DATA sockfilt for passive data channel quits (pid 88548) 17:49:19.798136 DATA sockfilt for passive data channel quit (pid 88548) 17:49:19.798177 =====> Closed passive DATA connection 17:49:19.798211 > "226 File transfer complete[CR][LF]" 17:49:19.841125 < "QUIT" 17:49:19.841177 > "221 bye bye baby[CR][LF]" 17:49:19.841971 MAIN sockfilt said DISC 17:49:19.842014 ====> Client disconnected 17:49:19.842087 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.640063 ====> Client connect 17:49:20.640324 Received DATA (on stdin) 17:49:20.640339 > 146 bytes data, server => client 17:49:20.640351 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.640362 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.640371 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.640443 < 16 bytes data, client => server 17:49:20.640457 'USER anonymous\r\n' 17:49:20.640622 Received DATA (on stdin) 17:49:20.640634 > 33 bytes data, server => client 17:49:20.640645 '331 We are happy you popped in!\r\n' 17:49:20.640698 < 22 bytes data, client => server 17:49:20.640710 'PASS ftp@example.com\r\n' 17:49:20.640816 Received DATA (on stdin) 17:49:20.640828 > 30 bytes data, server => client 17:49:20.640838 '230 Welcome you silly person\r\n' 17:49:20.640889 < 5 bytes data, client => server 17:49:20.640901 'PWD\r\n' 17:49:20.641009 Received DATA (on stdin) 17:49:20.641020 > 30 bytes data, server => client 17:49:20.641031 '257 "/" is current directory\r\n' 17:49:20.641089 < 6 bytes data, client => server 17:49:20.641102 'EPSV\r\n' 17:49:20.643110 Received DATA (on stdin) 17:49:20.643120 > 39 bytes data, server => client 17:49:20.643129 '229 Entering Passive Mode (|||37103|)\r\n' 17:49:20.643240 < 8 bytes data, client => server 17:49:20.643249 'TYPE I\r\n' 17:49:20.643386 Received DATA (on stdin) 17:49:20.643395 > 33 bytes data, server => client 17:49:20.643403 '200 I modify TYPE as you wanted\r\n' 17:49:20.643440 < 21 bytes data, client => server 17:49:20.643448 'SIZE verifiedserver\r\n' 17:49:20.643530 Received DATA (on stdin) 17:49:20.643538 > 8 bytes data, server => client 17:49:20.643545 '213 17\r\n' 17:4CMD (33792): ../libtool --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/valgrind219 ../src/curl -q --output log/7/curl219.out --include --trace-ascii log/7/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/7/stdout219 2> log/7/stderr219 CMD (33792): ../libtool --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/valgrind216 ../src/curl -q --output log/9/curl216.out --include --trace-ascii log/9/trace216 --trace-time -T log/9/upload.216 ftp://127.0.0.1:36391/a/path/216/ -T log/9/upload.216 ftp://127.0.0.1:36391/a/path/216/%2e%2eanotherup.216 > log/9/stdout216 2> log/9/stderr216 9:20.643581 < 21 bytes data, client => server 17:49:20.643589 'RETR verifiedserver\r\n' 17:49:20.643756 Received DATA (on stdin) 17:49:20.643764 > 29 bytes data, server => client 17:49:20.643772 '150 Binary junk (17 bytes).\r\n' 17:49:20.644377 Received DATA (on stdin) 17:49:20.644391 > 28 bytes data, server => client 17:49:20.644400 '226 File transfer complete\r\n' 17:49:20.687159 < 6 bytes data, client => server 17:49:20.687182 'QUIT\r\n' 17:49:20.687370 Received DATA (on stdin) 17:49:20.687382 > 18 bytes data, server => client 17:49:20.687392 '221 bye bye baby\r\n' 17:49:20.688098 ====> Client disconnect 17:49:20.688276 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:19.642605 Running IPv4 version 17:49:19.642666 Listening on port 37103 17:49:19.642704 Wrote pid 88548 to log/24/server/ftp_sockdata.pid 17:49:19.642927 Received PING (on stdin) 17:49:19.642994 Received PORT (on stdin) 17:49:19.643220 ====> Client connect 17:49:19.643791 Received DATA (on stdin) 17:49:19.643800 > 17 bytes data, server => client 17:49:19.643808 'WE ROOLZ: 81152\r\n' 17:49:19.643827 Received DISC (on stdin) 17:49:19.643835 ====> Client forcibly disconnected 17:49:19.643993 Received QUIT (on stdin) 17:49:19.644006 quits 17:49:19.644059 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 215 === End of file server.cmd === Start of file valgrind215 ==88652== ==88652== Process terminating with default action of signal 4 (SIGILL) ==88652== Illegal opcode at address 0x4014520 ==88652== at 0x4014520: getparameter (tool_getparam.c:2862) ==88652== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88652== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88652== by 0x4003728: main (tool_main.c:186) === End of file valgrind215 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/7/valgrind219 ../src/curl -q --output log/7/curl219.out --include --trace-ascii log/7/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/7/stdout219 2> log/7/stderr219 curl returned 132, when expecting 7 219: exit FAILED == Contents of files in the log/7/ 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/7/valgrind219 ../src/curl -q --output log/7/curl219.out --include --trace-ascii log/7/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/7/stdout219 2> log/7/stderr219 === End of file commands.log === Start of file server.cmd Testnum 219 === End of file server.cmd === Start of file valgrind219 ==88717== ==88717== Process terminating with default action of signal 4 (SIGILL) ==88717== Illegal opcode at address 0x4014520 ==88717== at 0x4014520: getparameter (tool_getparam.c:2862) ==88717== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88717== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88717== by 0x4003728: main (tool_main.c:186) === End of file valgrind219 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/9/valgrind216 ../src/curl -q --output log/9/curl216.out --include --trace-ascii log/9/trace216 --trace-time -T log/9/upload.216 ftp://127.0.0.1:36391/a/path/216/ -T log/9/upload.216 ftp://127.0.0.1:36391/a/path/216/%2e%2eanotherup.216 > log/9/stdout216 2> log/9/stderr216 216: 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 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/9/valgrind216 ../src/curl -q --output log/9/curl216.out --include --trace-ascii log/9/trace216 --trace-time -T log/9/upload.216 ftp://127.0.0.1:36391/a/path/216/ -T log/9/upload.216 ftp://127.0.0.1:36391/a/path/216/%2e%2eanotherup.216 > log/9/stdout216 2> log/9/stderr216 === End of file commands.log === Start of file ftp_server.log 17:49:19.816603 ====> Client connect 17:49:19.816786 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:19.817064 < "USER anonymous" 17:49:19.817099 > "331 We are happy you popped in![CR][LF]" 17:49:19.817250 < "PASS ftp@example.com" 17:49:19.817273 > "230 Welcome you silly person[CR][LF]" 17:49:19.817415 < "PWD" 17:49:19.817442 > "257 "/" is current directory[CR][LF]" 17:49:19.817585 < "EPSV" 17:49:19.817610 ====> Passive DATA channel requested by client 17:49:19.817623 DATA sockfilt for passive data channel starting... 17:49:19.819426 DATA sockfilt for passive data channel started (pid 88598) 17:49:19.819572 DATA sockfilt for passive data channel listens on port 39801 17:49:19.819621 > "229 Entering Passive Mode (|||39801|)[CR][LF]" 17:49:19.819639 Client has been notified that DATA conn will be accepted on port 39801 17:49:19.819898 Client connects to port 39801 17:49:19.819924 ====> Client established passive DATA connection on port 39801 17:49:19.820010 < "TYPE I" 17:49:19.820042 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:19.820187 < "SIZE verifiedserver" 17:49:19.820220 > "213 17[CR][LF]" 17:49:19.820350 < "RETR verifiedserver" 17:49:19.820382 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:19.820465 =====> Closing passive DATA connection... 17:49:19.820481 Server disconnects passive DATA connection 17:49:19.820688 Server disconnected passive DATA connection 17:49:19.820711 DATA sockfilt for passive data channel quits (pid 88598) 17:49:19.820944 DATA sockfilt for passive data channel quit (pid 88598) 17:49:19.820965 =====> Closed passive DATA connection 17:49:19.820992 > "226 File transfer complete[CR][LF]" 17:49:19.868705 < "QUIT" 17:49:19.868845 > "221 bye bye baby[CR][LF]" 17:49:19.870297 MAIN sockfilt said DISC 17:49:19.870341 ====> Client disconnected 17:49:19.871394 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:19.662665 ====> Client connect 17:49:19.662984 Received DATA (on stdin) 17:49:19.662997 > 146 bytes data, server => client 17:49:19.663008 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:19.663019 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:19.663028 '220 \___|\___/|_| \_\_____|\r\n' 17:49:19.663103 < 16 bytes data, client => server 17:49:19.663115 'USER anonymous\r\n' 17:49:19.663287 Received DATA (on stdin) 17:49:19.663299 > 33 bytes data, server => client 17:49:19.663308 '331 We are happy you popped in!\r\n' 17:49:19.663355 < 22 bytes data, client => server 17:49:19.663365 'PASS ftp@example.com\r\n' 17:49:19.663462 Received DATA (on stdin) 17:49:19.663472 > 30 bytes data, server => client 17:49:19.663482 '230 Welcome you silly person\r\n' 17:49:19.663527 < 5 bytes data, client => server 17:49:19.663536 'PWD\r\n' 17:49:19.663628 Received DATA (on stdin) 17:49:19.663637 > 30 bytes data, server => client 17:49:19.663646 '257 "/" is current directory\r\n' 17:49:19.663698 < 6 bytes data, client => server 17:49:19.663708 'EPSV\r\n' 17:49:19.665835 Received DATA (on stdin) 17:49:19.665851 > 39 bytes data, server => client 17:49:19.665861 '229 Entering Passive Mode (|||39801|)\r\n' 17:49:19.666011 < 8 bytes data, client => server 17:49:19.666023 'TYPE I\r\n' 17:49:19.666229 Received DATA (on stdin) 17:49:19.666240 > 33 bytes data, server => client 17:49:19.666249 '200 I modify TYPE as you wanted\r\n' 17:49:19.666298 < 21 bytes 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/13/valgrind221 ../src/curl -q --output log/13/curl221.out --include --trace-ascii log/13/trace221 --trace-time http://127.0.0.1:43845/221 --compressed > log/13/stdout221 2> log/13/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/20/valgrind218 ../src/curl -q --output log/20/curl218.out --include --trace-ascii log/20/trace218 --trace-time -T log/20/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:46725/218 > log/20/stdout218 2> log/20/stderr218 CMD (33792): ../libtool --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/valgrind220 ../src/curl -q --output log/23/curl220.out --include --trace-ascii log/23/trace220 --trace-time http://127.0.0.1:39173/220 --compressed > log/23/stdout220 2> log/23/stderr220 ata, client => server 17:49:19.666308 'SIZE verifiedserver\r\n' 17:49:19.666405 Received DATA (on stdin) 17:49:19.666415 > 8 bytes data, server => client 17:49:19.666424 '213 17\r\n' 17:49:19.666464 < 21 bytes data, client => server 17:49:19.666474 'RETR verifiedserver\r\n' 17:49:19.666748 Received DATA (on stdin) 17:49:19.666758 > 29 bytes data, server => client 17:49:19.666767 '150 Binary junk (17 bytes).\r\n' 17:49:19.667179 Received DATA (on stdin) 17:49:19.667190 > 28 bytes data, server => client 17:49:19.667200 '226 File transfer complete\r\n' 17:49:19.714729 < 6 bytes data, client => server 17:49:19.714753 'QUIT\r\n' 17:49:19.714948 Received DATA (on stdin) 17:49:19.714962 > 18 bytes data, server => client 17:49:19.714974 '221 bye bye baby\r\n' 17:49:19.716404 ====> Client disconnect 17:49:19.716552 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:19.665405 Running IPv4 version 17:49:19.665481 Listening on port 39801 17:49:19.665522 Wrote pid 88598 to log/9/server/ftp_sockdata.pid 17:49:19.665543 Received PING (on stdin) 17:49:19.665662 Received PORT (on stdin) 17:49:19.666042 ====> Client connect 17:49:19.666669 Received DATA (on stdin) 17:49:19.666684 > 17 bytes data, server => client 17:49:19.666693 'WE ROOLZ: 80975\r\n' 17:49:19.666716 Received DISC (on stdin) 17:49:19.666726 ====> Client forcibly disconnected 17:49:19.666905 Received QUIT (on stdin) 17:49:19.666915 quits 17:49:19.666974 ============> 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 ==88718== ==88718== Process terminating with default action of signal 4 (SIGILL) ==88718== Illegal opcode at address 0x4014520 ==88718== at 0x4014520: getparameter (tool_getparam.c:2862) ==88718== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88718== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88718== by 0x4003728: main (tool_main.c:186) === End of file valgrind216 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/13/valgrind221 ../src/curl -q --output log/13/curl221.out --include --trace-ascii log/13/trace221 --trace-time http://127.0.0.1:43845/221 --compressed > log/13/stdout221 2> log/13/stderr221 221: 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 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/13/valgrind221 ../src/curl -q --output log/13/curl221.out --include --trace-ascii log/13/trace221 --trace-time http://127.0.0.1:43845/221 --compressed > log/13/stdout221 2> log/13/stderr221 === End of file commands.log === Start of file http_server.log 17:49:20.753839 ====> Client connect 17:49:20.753876 accept_connection 3 returned 4 17:49:20.753894 accept_connection 3 returned 0 17:49:20.753907 Read 93 bytes 17:49:20.753917 Process 93 bytes request 17:49:20.753929 Got request: GET /verifiedserver HTTP/1.1 17:49:20.753938 Are-we-friendly question received 17:49:20.753968 Wrote request (93 bytes) input to log/13/server.input 17:49:20.753984 Identifying ourselves as friends 17:49:20.754045 Response sent (56 bytes) and written to log/13/server.response 17:49:20.754056 special request received, no persistency 17:49:20.754065 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 44844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind221 ==88943== ==88943== Process terminating with default action of signal 4 (SIGILL) ==88943== Illegal opcode at address 0x4014520 ==88943== at 0x4014520: getparameter (tool_getparam.c:2862) ==88943== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88943== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88943== by 0x4003728: main (tool_main.c:186) === End of file valgrind221 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/20/valgrind218 ../src/curl -q --output log/20/curl218.out --include --trace-ascii log/20/trace218 --trace-time -T log/20/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:46725/218 > log/20/stdout218 2> log/20/stderr218 218: 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 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/20/valgrind218 ../src/curl -q --output log/20/curl218.out --include --trace-ascii log/20/trace218 --trace-time -T log/20/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:46725/218 > log/20/stdout218 2> log/20/stderr218 === End of file commands.log === Start of file file218 just some tiny teeny contents === End of file file218 === Start of file http_server.log 17:49:19.699100 ====> Client connect 17:49:19.699132 accept_connection 3 returned 4 17:49:19.699148 accept_connection 3 returned 0 17:49:19.699161 Read 93 bytes 17:49:19.699170 Process 93 bytes request 17:49:19.699182 Got request: GET /verifiedserver HTTP/1.1 17:49:19.699191 Are-we-friendly question received 17:49:19.699220 Wrote request (93 bytes) input to log/20/server.input 17:49:19.699237 Identifying ourselves as friends 17:49:19.699295 Response sent (56 bytes) and written to log/20/server.response 17:49:19.699304 special request received, no persistency 17:49:19.699313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 38536 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind218 ==88666== ==88666== Process terminating with default action of signal 4 (SIGILL) ==88666== Illegal opcode at address 0x4014520 ==88666== at 0x4014520: getparameter (tool_getparam.c:2862) ==88666== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88666== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88666== by 0x4003728: main (tool_main.c:186) === End of file valgrind218 test 0220...[HTTP GET gzip compressed content] ../libtool --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/17/valgrind223 ../src/curl -q --output log/17/curl223.out --include --trace-ascii log/17/trace223 --trace-time http://127.0.0.1:44593/223 --compressed > log/17/stdout223 2> log/17/stderr223 CMD (33792): ../libtool --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/valgrind222 ../src/curl -q --output log/8/curl222.out --include --trace-ascii log/8/trace222 --trace-time http://127.0.0.1:42045/222 --compressed > log/8/stdout222 2> log/8/stderr222 ode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind220 ../src/curl -q --output log/23/curl220.out --include --trace-ascii log/23/trace220 --trace-time http://127.0.0.1:39173/220 --compressed > log/23/stdout220 2> log/23/stderr220 220: 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 220 === Start of file commands.log ../libtool --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/valgrind220 ../src/curl -q --output log/23/curl220.out --include --trace-ascii log/23/trace220 --trace-time http://127.0.0.1:39173/220 --compressed > log/23/stdout220 2> log/23/stderr220 === End of file commands.log === Start of file http_server.log 17:49:20.749338 ====> Client connect 17:49:20.749369 accept_connection 3 returned 4 17:49:20.749385 accept_connection 3 returned 0 17:49:20.749400 Read 93 bytes 17:49:20.749410 Process 93 bytes request 17:49:20.749423 Got request: GET /verifiedserver HTTP/1.1 17:49:20.749432 Are-we-friendly question received 17:49:20.749457 Wrote request (93 bytes) input to log/23/server.input 17:49:20.749473 Identifying ourselves as friends 17:49:20.749539 Response sent (56 bytes) and written to log/23/server.response 17:49:20.749549 special request received, no persistency 17:49:20.749558 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 53814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind220 ==88898== ==88898== Process terminating with default action of signal 4 (SIGILL) ==88898== Illegal opcode at address 0x4014520 ==88898== at 0x4014520: getparameter (tool_getparam.c:2862) ==88898== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88898== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88898== by 0x4003728: main (tool_main.c:186) === 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/17/valgrind223 ../src/curl -q --output log/17/curl223.out --include --trace-ascii log/17/trace223 --trace-time http://127.0.0.1:44593/223 --compressed > log/17/stdout223 2> log/17/stderr223 223: 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 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/17/valgrind223 ../src/curl -q --output log/17/curl223.out --include --trace-ascii log/17/trace223 --trace-time http://127.0.0.1:44593/223 --compressed > log/17/stdout223 2> log/17/stderr223 === End of file commands.log === Start of file http_server.log 17:49:19.769723 ====> Client connect 17:49:19.769755 accept_connection 3 returned 4 17:49:19.769771 accept_connection 3 returned 0 17:49:19.769786 Read 93 bytes 17:49:19.769795 Process 93 bytes request 17:49:19.769809 Got request: GET /verifiedserver HTTP/1.1 17:49:19.769818 Are-we-friendly question received 17:49:19.769842 Wrote request (93 bytes) input to log/17/server.input 17:49:19.769858 Identifying ourselves as friends 17:49:19.769915 Response sent (56 bytes) and written to log/17/server.response 17:49:19.769924 special request received, no persistency 17:49:19.769932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 36862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind223 ==89008== ==89008== Process terminating with default action of signal 4 (SIGILL) ==89008== Illegal opcode at address 0x4014520 ==89008== at 0x4014520: getparameter (tool_getparam.c:2862) ==89008== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89008== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89008== by 0x4003728: main (tool_main.c:186) === End of file valgrind223 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/8/valgrind222 ../src/curl -q --output log/8/curl222.out --include --trace-ascii log/8/trace222 --trace-time http://127.0.0.1:42045/222 --compressed > log/8/stdout222 2> log/8/stderr222 222: 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 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/8/valgrind222 ../src/curl -q --output log/8/curl222.out --include --trace-ascii log/8/trace222 --trace-time http://127.0.0.1:42045/222 --compressed > log/8/stdout222 2> log/8/stderr222 === End of file commands.log === Start of file http_server.log 17:49:19.757541 ====> Client connect 17:49:19.757576 accept_connection 3 returned 4 17:49:19.757594 accept_connection 3 returned 0 17:49:19.757609 Read 93 bytes 17:49:19.757618 Process 93 bytes request 17:49:19.757632 Got request: GET /verifiedserver HTTP/1.1 17:49:19.757641 Are-we-friendly question received 17:49:19.757669 Wrote request (93 bytes) input to log/8/server.input 17:49:19.757686 Identifying ourselves as friends 17:49:19.757745 Response sent (56 bytes) and written to log/8/server.response 17:49:19.757755 special request received, no persistency 17:49:19.757764 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56918 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind2CMD (33792): ../libtool --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/valgrind224 ../src/curl -q --output log/4/curl224.out --include --trace-ascii log/4/trace224 --trace-time http://127.0.0.1:34411/224 --compressed > log/4/stdout224 2> log/4/stderr224 CMD (33792): ../libtool --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/valgrind225 ../src/curl -q --output log/12/curl225.out --include --trace-ascii log/12/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:38035/225%0a > log/12/stdout225 2> log/12/stderr225 22 ==88936== ==88936== Process terminating with default action of signal 4 (SIGILL) ==88936== Illegal opcode at address 0x4014520 ==88936== at 0x4014520: getparameter (tool_getparam.c:2862) ==88936== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==88936== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==88936== by 0x4003728: main (tool_main.c:186) === End of file valgrind222 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/4/valgrind224 ../src/curl -q --output log/4/curl224.out --include --trace-ascii log/4/trace224 --trace-time http://127.0.0.1:34411/224 --compressed > log/4/stdout224 2> log/4/stderr224 224: 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 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/4/valgrind224 ../src/curl -q --output log/4/curl224.out --include --trace-ascii log/4/trace224 --trace-time http://127.0.0.1:34411/224 --compressed > log/4/stdout224 2> log/4/stderr224 === End of file commands.log === Start of file http_server.log 17:49:19.790352 ====> Client connect 17:49:19.790384 accept_connection 3 returned 4 17:49:19.790400 accept_connection 3 returned 0 17:49:19.790415 Read 93 bytes 17:49:19.790424 Process 93 bytes request 17:49:19.790437 Got request: GET /verifiedserver HTTP/1.1 17:49:19.790446 Are-we-friendly question received 17:49:19.790469 Wrote request (93 bytes) input to log/4/server.input 17:49:19.790485 Identifying ourselves as friends 17:49:19.790538 Response sent (56 bytes) and written to log/4/server.response 17:49:19.790548 special request received, no persistency 17:49:19.790556 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 54664 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind224 ==89087== ==89087== Process terminating with default action of signal 4 (SIGILL) ==89087== Illegal opcode at address 0x4014520 ==89087== at 0x4014520: getparameter (tool_getparam.c:2862) ==89087== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89087== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89087== by 0x4003728: main (tool_main.c:186) === End of file valgrind224 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/12/valgrind225 ../src/curl -q --output log/12/curl225.out --include --trace-ascii log/12/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:38035/225%0a > log/12/stdout225 2> log/12/stderr225 curl returned 132, when expecting 3 225: exit FAILED == Contents of files in the log/12/ 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/12/valgrind225 ../src/curl -q --output log/12/curl225.out --include --trace-ascii log/12/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:38035/225%0a > log/12/stdout225 2> log/12/stderr225 === End of file commands.log === Start of file ftp_server.log 17:49:20.086377 ====> Client connect 17:49:20.086581 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:20.086936 < "USER anonymous" 17:49:20.086983 > "331 We are happy you popped in![CR][LF]" 17:49:20.087189 < "PASS ftp@example.com" 17:49:20.087224 > "230 Welcome you silly person[CR][LF]" 17:49:20.087385 < "PWD" 17:49:20.087420 > "257 "/" is current directory[CR][LF]" 17:49:20.087596 < "EPSV" 17:49:20.087633 ====> Passive DATA channel requested by client 17:49:20.087652 DATA sockfilt for passive data channel starting... 17:49:20.091690 DATA sockfilt for passive data channel started (pid 89253) 17:49:20.091857 DATA sockfilt for passive data channel listens on port 38141 17:49:20.091913 > "229 Entering Passive Mode (|||38141|)[CR][LF]" 17:49:20.091933 Client has been notified that DATA conn will be accepted on port 38141 17:49:20.093401 Client connects to port 38141 17:49:20.093440 ====> Client established passive DATA connection on port 38141 17:49:20.093693 < "TYPE I" 17:49:20.093739 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:20.093920 < "SIZE verifiedserver" 17:49:20.093958 > "213 17[CR][LF]" 17:49:20.094098 < "RETR verifiedserver" 17:49:20.094128 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:20.094205 =====> Closing passive DATA connection... 17:49:20.094220 Server disconnects passive DATA connection 17:49:20.094363 Server disconnected passive DATA connection 17:49:20.094382 DATA sockfilt for passive data channel quits (pid 89253) 17:49:20.094683 DATA sockfilt for passive data channel quit (pid 89253) 17:49:20.094710 =====> Closed passive DATA connection 17:49:20.094740 > "226 File transfer complete[CR][LF]" 17:49:20.140622 < "QUIT" 17:49:20.140687 > "221 bye bye baby[CR][LF]" 17:49:20.142153 MAIN sockfilt said DISC 17:49:20.142212 ====> Client disconnected 17:49:20.142329 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:19.932457 ====> Client connect 17:49:19.932788 Received DATA (on stdin) 17:49:19.932805 > 146 bytes data, server => client 17:49:19.932818 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:19.932829 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:19.932848 '220 \___|\___/|_| \_\_____|\r\n' 17:49:19.932934 < 16 bytes data, client => server 17:49:19.932948 'USER anonymous\r\n' 17:49:19.933178 Received DATA (on stdin) 17:49:19.933195 > 33 bytes data, server => client 17:49:19.933206 '331 We are happy you popped in!\r\n' 17:49:19.933263 < 22 bytes data, client => server 17:49:19.933275 'PASS ftp@example.com\r\n' 17:49:19.933414 Received DATA (on stdin) 17:49:19.933426 > 30 bytes data, server => client 17:49:19.933437 '230 Welcome you silly person\r\n' 17:49:19.933486 < 5 bytes data, client => server 17:49:19.933497 'PWD\r\n' 17:49:19.933609 Received DATA (on stdin) 17:49:19.933620 > 30 bytes data, server => client 17:49:19.933631 '257 "/" is current directory\r\n' 17:49:19.933690 < 6 bytes data, client => server 17:49:19.933703 'EPSV\r\n' 17:49:19.938135 Received DATA (on stdin) 17:49:19.938153 > 39 bytes data, server => client 17:49:19.938164 '229 Entering Passive Mode (|||38141|)\r\n' 17:49:19.938328 < 8 bytes data, client => server 17:49:19.938344 'TYPE I\r\n' 17:49:19.939931 Received DATA (on stdin) 17:49:19.939944 > 33 bytes data, server => client 17:49:19.939954 '200 I modify TYPE as you wanted\r\n' 17:49:19.940017 < 21 bytes data, client => server 17:49:19.940027 'SIZE verifiedserver\r\n' 17:49:19.940145 Received DATA (on stdin) 17:49:19.940155 > 8 bytes data, server => client 17:49:19.940163 '213 17\r\n' 17:49:19.940208 < 21 bytes data, client => server 17:49:19.940218 'RETR verifiedserver\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/19/valgrind226 ../src/curl -q --output log/19/curl226.out --include --trace-ascii log/19/trace226 --trace-time ftp://127.0.0.1:40075/226%0d > log/19/stdout226 2> log/19/stderr226 n' 17:49:19.940487 Received DATA (on stdin) 17:49:19.940498 > 29 bytes data, server => client 17:49:19.940507 '150 Binary junk (17 bytes).\r\n' 17:49:19.940928 Received DATA (on stdin) 17:49:19.940939 > 28 bytes data, server => client 17:49:19.940948 '226 File transfer complete\r\n' 17:49:19.986640 < 6 bytes data, client => server 17:49:19.986670 'QUIT\r\n' 17:49:19.987082 Received DATA (on stdin) 17:49:19.987115 > 18 bytes data, server => client 17:49:19.987126 '221 bye bye baby\r\n' 17:49:19.988262 ====> Client disconnect 17:49:19.988523 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:20.936390 Running IPv4 version 17:49:20.936469 Listening on port 38141 17:49:20.936515 Wrote pid 89253 to log/12/server/ftp_sockdata.pid 17:49:20.936537 Received PING (on stdin) 17:49:20.937938 Received PORT (on stdin) 17:49:20.939533 ====> Client connect 17:49:20.940409 Received DATA (on stdin) 17:49:20.940421 > 17 bytes data, server => client 17:49:20.940430 'WE ROOLZ: 81047\r\n' 17:49:20.940456 Received DISC (on stdin) 17:49:20.940466 ====> Client forcibly disconnected 17:49:20.940575 Received QUIT (on stdin) 17:49:20.940584 quits 17:49:20.940654 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 225 === End of file server.cmd === Start of file valgrind225 ==89263== ==89263== Process terminating with default action of signal 4 (SIGILL) ==89263== Illegal opcode at address 0x4014520 ==89263== at 0x4014520: getparameter (tool_getparam.c:2862) ==89263== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89263== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89263== by 0x4003728: main (tool_main.c:186) === End of file valgrind225 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/19/valgrind226 ../src/curl -q --output log/19/curl226.out --include --trace-ascii log/19/trace226 --trace-time ftp://127.0.0.1:40075/226%0d > log/19/stdout226 2> log/19/stderr226 curl returned 132, when expecting 3 226: exit FAILED == Contents of files in the log/19/ 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/19/valgrind226 ../src/curl -q --output log/19/curl226.out --include --trace-ascii log/19/trace226 --trace-time ftp://127.0.0.1:40075/226%0d > log/19/stdout226 2> log/19/stderr226 === End of file commands.log === Start of file ftp_server.log 17:49:20.246776 ====> Client connect 17:49:20.246946 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:20.247245 < "USER anonymous" 17:49:20.247285 > "331 We are happy you popped in![CR][LF]" 17:49:20.247463 < "PASS ftp@example.com" 17:49:20.247491 > "230 Welcome you silly person[CR][LF]" 17:49:20.247645 < "PWD" 17:49:20.247675 > "257 "/" is current directory[CR][LF]" 17:49:20.247833 < "EPSV" 17:49:20.247859 ====> Passive DATA channel requested by client 17:49:20.247874 DATA sockfilt for passive data channel starting... 17:49:20.251726 DATA sockfilt for passive data channel started (pid 89364) 17:49:20.251855 DATA sockfilt for passive data channel listens on port 42709 17:49:20.251906 > "229 Entering Passive Mode (|||42709|)[CR][LF]" 17:49:20.251925 Client has been notified that DATA conn will be accepted on port 42709 17:49:20.252179 Client connects to port 42709 17:49:20.252211 ====> Client established passive DATA connection on port 42709 17:49:20.252303 < "TYPE I" 17:49:20.252341 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:20.252499 < "SIZE verifiedserver" 17:49:20.252538 > "213 17[CR][LF]" 17:49:20.252687 < "RETR verifiedserver" 17:49:20.252722 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:20.252817 =====> Closing passive DATA connection... 17:49:20.252834 Server disconnects passive DATA connection 17:49:20.253065 Server disconnected passive DATA connection 17:49:20.253094 DATA sockfilt for passive data channel quits (pid 89364) 17:49:20.255622 DATA sockfilt for passive data channel quit (pid 89364) 17:49:20.255650 =====> Closed passive DATA connection 17:49:20.255680 > "226 File transfer complete[CR][LF]" 17:49:20.293710 < "QUIT" 17:49:20.293769 > "221 bye bye baby[CR][LF]" 17:49:20.295010 MAIN sockfilt said DISC 17:49:20.295044 ====> Client disconnected 17:49:20.295131 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.092842 ====> Client connect 17:49:20.093152 Received DATA (on stdin) 17:49:20.093168 > 146 bytes data, server => client 17:49:20.093180 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.093190 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.093200 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.093280 < 16 bytes data, client => server 17:49:20.093293 'USER anonymous\r\n' 17:49:20.093478 Received DATA (on stdin) 17:49:20.093490 > 33 bytes data, server => client 17:49:20.093505 '331 We are happy you popped in!\r\n' 17:49:20.093557 < 22 bytes data, client => server 17:49:20.093568 'PASS ftp@example.com\r\n' 17:49:20.093679 Received DATA (on stdin) 17:49:20.093690 > 30 bytes data, server => client 17:49:20.093700 '230 Welcome you silly person\r\n' 17:49:20.093748 < 5 bytes data, client => server 17:49:20.093758 'PWD\r\n' 17:49:20.093862 Received DATA (on stdin) 17:49:20.093872 > 30 bytes data, server => client 17:49:20.093883 '257 "/" is current directory\r\n' 17:49:20.093939 < 6 bytes data, client => server 17:49:20.093950 'EPSV\r\n' 17:49:20.098124 Received DATA (on stdin) 17:49:20.098141 > 39 bytes data, server => client 17:49:20.098153 '229 Entering Passive Mode (|||42709|)\r\n' 17:49:20.098286 < 8 bytes data, client => server 17:49:20.098300 'TYPE I\r\n' 17:49:20.098530 Received DATA (on stdin) 17:49:20.098542 > 33 bytes data, server => client 17:49:20.098553 '200 I modify TYPE as you wanted\r\n' 17:49:20.098604 < 21 bytes data, client => server 17:49:20.098614 'SIZE verifiedserver\r\n' 17:49:20.098726 Received DATA (on stdin) 17:49:20.098737 > 8 bytes data, server => client 17:49:20.098748 '213 17\r\n' 17:49:20.098794 < 21 bytes data, client => server 17:49:20.098805 'RETR verifiedserver\r\n' 17:49:20.099025 Received DATA (on stdin) 17:49:20.099037 > 29 bytes data, server => client 17:49:20.099048 '150 Binary junk (17 bytes).\r\n' 17:49:20.101871 Received DATA (on stdin) 17:49:20.101884 > 28 bytes data, server => client 17:49:20.101894 '226 File transfer complete\r\n' 17:49:20.139695 < 6 bytes data, client => server 17:49:20.139725 'QUIT\r\n' 17:49:20.139964 Received DATA (on stdin) 17:49:20.139977 > 18 bytes data, server => client 17:49:20.139988 '221 bye bye baby\r\n' 17:49:20.141141 ====> Client disconnect 17:49:20.141324 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:20.096049 Running IPv4 version 17:49:20.096133 Listening on port 42709 17:49:20.096189 Wrote pid 89364 to log/19/server/ftp_sockdata.pid 17:49:20.097846 Received PING (on stdin) 17:49:20.097950 Received PORT (on stdin) 17:49:20.098321 ====> Client connect 17:49:20.099073 Received DATA (on stdin) 17:49:20.099085 > 17 bytes data, server => client 17:49:20.099095 'WE ROOLZ: 81054\r\n' 17:49:20.099118 Received DISC (on stdin) 17:49:20.099129 ====> Client forcibly disconnected 17:49:20.099292 Received QUIT (on stdin) 17:49:20.099303 quits 17:49:20.099365 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 226 === End of file server.cmd === Start of file valgrind226 ==89374== ==89374== Process terminating with default action of signal 4 (SIGILL) ==89374== Illegal opcode at address 0x4014520 ==89374== at 0x4014520: getpaCMD (33792): ../libtool --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/valgrind227 ../src/curl -q --output log/5/curl227.out --include --trace-ascii log/5/trace227 --trace-time ftp://127.0.0.1:34559/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/5/stdout227 2> log/5/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/10/valgrind228 ../src/curl -q --output log/10/curl228.out --include --trace-ascii log/10/trace228 --trace-time ftp://127.0.0.1:41693/228 --ftp-account "one count" > log/10/stdout228 2> log/10/stderr228 rameter (tool_getparam.c:2862) ==89374== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89374== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89374== by 0x4003728: main (tool_main.c:186) === 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/5/valgrind227 ../src/curl -q --output log/5/curl227.out --include --trace-ascii log/5/trace227 --trace-time ftp://127.0.0.1:34559/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/5/stdout227 2> log/5/stderr227 227: 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 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/5/valgrind227 ../src/curl -q --output log/5/curl227.out --include --trace-ascii log/5/trace227 --trace-time ftp://127.0.0.1:34559/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/5/stdout227 2> log/5/stderr227 === End of file commands.log === Start of file ftp_server.log 17:49:20.250715 ====> Client connect 17:49:20.250884 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:20.251195 < "USER anonymous" 17:49:20.251241 > "331 We are happy you popped in![CR][LF]" 17:49:20.251431 < "PASS ftp@example.com" 17:49:20.251464 > "230 Welcome you silly person[CR][LF]" 17:49:20.251633 < "PWD" 17:49:20.251669 > "257 "/" is current directory[CR][LF]" 17:49:20.251845 < "EPSV" 17:49:20.251876 ====> Passive DATA channel requested by client 17:49:20.251891 DATA sockfilt for passive data channel starting... 17:49:20.253903 DATA sockfilt for passive data channel started (pid 89367) 17:49:20.254016 DATA sockfilt for passive data channel listens on port 36417 17:49:20.254066 > "229 Entering Passive Mode (|||36417|)[CR][LF]" 17:49:20.254087 Client has been notified that DATA conn will be accepted on port 36417 17:49:20.254312 Client connects to port 36417 17:49:20.254344 ====> Client established passive DATA connection on port 36417 17:49:20.254426 < "TYPE I" 17:49:20.254457 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:20.254627 < "SIZE verifiedserver" 17:49:20.254668 > "213 17[CR][LF]" 17:49:20.254828 < "RETR verifiedserver" 17:49:20.254865 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:20.254951 =====> Closing passive DATA connection... 17:49:20.254971 Server disconnects passive DATA connection 17:49:20.255194 Server disconnected passive DATA connection 17:49:20.255226 DATA sockfilt for passive data channel quits (pid 89367) 17:49:20.255479 DATA sockfilt for passive data channel quit (pid 89367) 17:49:20.255507 =====> Closed passive DATA connection 17:49:20.255535 > "226 File transfer complete[CR][LF]" 17:49:20.301913 < "QUIT" 17:49:20.301965 > "221 bye bye baby[CR][LF]" 17:49:20.303155 MAIN sockfilt said DISC 17:49:20.303186 ====> Client disconnected 17:49:20.303264 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.096803 ====> Client connect 17:49:20.097095 Received DATA (on stdin) 17:49:20.097112 > 146 bytes data, server => client 17:49:20.097124 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.097134 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.097144 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.097225 < 16 bytes data, client => server 17:49:20.097239 'USER anonymous\r\n' 17:49:20.097436 Received DATA (on stdin) 17:49:20.097449 > 33 bytes data, server => client 17:49:20.097459 '331 We are happy you popped in!\r\n' 17:49:20.097515 < 22 bytes data, client => server 17:49:20.097528 'PASS ftp@example.com\r\n' 17:49:20.097653 Received DATA (on stdin) 17:49:20.097664 > 30 bytes data, server => client 17:49:20.097674 '230 Welcome you silly person\r\n' 17:49:20.097726 < 5 bytes data, client => server 17:49:20.097740 'PWD\r\n' 17:49:20.097861 Received DATA (on stdin) 17:49:20.097872 > 30 bytes data, server => client 17:49:20.097882 '257 "/" is current directory\r\n' 17:49:20.097943 < 6 bytes data, client => server 17:49:20.097955 'EPSV\r\n' 17:49:20.100281 Received DATA (on stdin) 17:49:20.100294 > 39 bytes data, server => client 17:49:20.100305 '229 Entering Passive Mode (|||36417|)\r\n' 17:49:20.100417 < 8 bytes data, client => server 17:49:20.100433 'TYPE I\r\n' 17:49:20.100648 Received DATA (on stdin) 17:49:20.100660 > 33 bytes data, server => client 17:49:20.100670 '200 I modify TYPE as you wanted\r\n' 17:49:20.100723 < 21 bytes data, client => server 17:49:20.100736 'SIZE verifiedserver\r\n' 17:49:20.100858 Received DATA (on stdin) 17:49:20.100870 > 8 bytes data, server => client 17:49:20.100880 '213 17\r\n' 17:49:20.100929 < 21 bytes data, client => server 17:49:20.100940 'RETR verifiedserver\r\n' 17:49:20.101163 Received DATA (on stdin) 17:49:20.101176 > 29 bytes data, server => client 17:49:20.101186 '150 Binary junk (17 bytes).\r\n' 17:49:20.101726 Received DATA (on stdin) 17:49:20.101738 > 28 bytes data, server => client 17:49:20.101749 '226 File transfer complete\r\n' 17:49:20.147935 < 6 bytes data, client => server 17:49:20.147960 'QUIT\r\n' 17:49:20.148160 Received DATA (on stdin) 17:49:20.148173 > 18 bytes data, server => client 17:49:20.148184 '221 bye bye baby\r\n' 17:49:20.149291 ====> Client disconnect 17:49:20.149454 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:20.099756 Running IPv4 version 17:49:20.099827 Listening on port 36417 17:49:20.099866 Wrote pid 89367 to log/5/server/ftp_sockdata.pid 17:49:20.100031 Received PING (on stdin) 17:49:20.100118 Received PORT (on stdin) 17:49:20.100454 ====> Client connect 17:49:20.101213 Received DATA (on stdin) 17:49:20.101226 > 17 bytes data, server => client 17:49:20.101236 'WE ROOLZ: 81078\r\n' 17:49:20.101259 Received DISC (on stdin) 17:49:20.101271 ====> Client forcibly disconnected 17:49:20.101426 Received QUIT (on stdin) 17:49:20.101438 quits 17:49:20.101493 ============> 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 ==89399== ==89399== Process terminating with default action of signal 4 (SIGILL) ==89399== Illegal opcode at address 0x4014520 ==89399== at 0x4014520: getparameter (tool_getparam.c:2862) ==89399== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89399== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89399== by 0x4003728: main (tool_main.c:186) === End of file valgrind227 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/10/valgrind228 ../src/curl -q --output log/10/curl228.out --include --trace-ascii log/10/trace228 --trace-time ftp://127.0.0.1:41693/228 --ftp-account "one count" > log/10/stdout228 2> log/10/stderr228 228: 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 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/10/valgrind228 ../src/curl -q --output log/10/curl228.out --include --trace-ascii log/10/trace228 --trace-time ftp://127.0.0.1:41693/228 --ftp-account "one count" > log/10/stdout228 2> log/10/stderr228 === End of file commands.log === Start CMD (33792): ../libtool --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/valgrind229 ../src/curl -q --output log/6/curl229.out --include --trace-ascii log/6/trace229 --trace-time ftp://127.0.0.1:36757/229 --ftp-account "one count" > log/6/stdout229 2> log/6/stderr229 of file ftp_server.log 17:49:20.258449 ====> Client connect 17:49:20.258606 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:20.258884 < "USER anonymous" 17:49:20.258924 > "331 We are happy you popped in![CR][LF]" 17:49:20.259089 < "PASS ftp@example.com" 17:49:20.259114 > "230 Welcome you silly person[CR][LF]" 17:49:20.259259 < "PWD" 17:49:20.259290 > "257 "/" is current directory[CR][LF]" 17:49:20.259443 < "EPSV" 17:49:20.259467 ====> Passive DATA channel requested by client 17:49:20.259481 DATA sockfilt for passive data channel starting... 17:49:20.261293 DATA sockfilt for passive data channel started (pid 89368) 17:49:20.261402 DATA sockfilt for passive data channel listens on port 45801 17:49:20.261449 > "229 Entering Passive Mode (|||45801|)[CR][LF]" 17:49:20.261467 Client has been notified that DATA conn will be accepted on port 45801 17:49:20.261680 Client connects to port 45801 17:49:20.261706 ====> Client established passive DATA connection on port 45801 17:49:20.261783 < "TYPE I" 17:49:20.261812 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:20.261955 < "SIZE verifiedserver" 17:49:20.261988 > "213 17[CR][LF]" 17:49:20.262126 < "RETR verifiedserver" 17:49:20.262157 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:20.262240 =====> Closing passive DATA connection... 17:49:20.262255 Server disconnects passive DATA connection 17:49:20.262464 Server disconnected passive DATA connection 17:49:20.262488 DATA sockfilt for passive data channel quits (pid 89368) 17:49:20.262692 DATA sockfilt for passive data channel quit (pid 89368) 17:49:20.262714 =====> Closed passive DATA connection 17:49:20.262740 > "226 File transfer complete[CR][LF]" 17:49:20.303648 < "QUIT" 17:49:20.303699 > "221 bye bye baby[CR][LF]" 17:49:20.304677 MAIN sockfilt said DISC 17:49:20.304708 ====> Client disconnected 17:49:20.304775 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.104522 ====> Client connect 17:49:20.104807 Received DATA (on stdin) 17:49:20.104821 > 146 bytes data, server => client 17:49:20.104833 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.104843 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.104853 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.104929 < 16 bytes data, client => server 17:49:20.104941 'USER anonymous\r\n' 17:49:20.105115 Received DATA (on stdin) 17:49:20.105127 > 33 bytes data, server => client 17:49:20.105138 '331 We are happy you popped in!\r\n' 17:49:20.105189 < 22 bytes data, client => server 17:49:20.105200 'PASS ftp@example.com\r\n' 17:49:20.105301 Received DATA (on stdin) 17:49:20.105312 > 30 bytes data, server => client 17:49:20.105322 '230 Welcome you silly person\r\n' 17:49:20.105368 < 5 bytes data, client => server 17:49:20.105378 'PWD\r\n' 17:49:20.105476 Received DATA (on stdin) 17:49:20.105487 > 30 bytes data, server => client 17:49:20.105497 '257 "/" is current directory\r\n' 17:49:20.105552 < 6 bytes data, client => server 17:49:20.105562 'EPSV\r\n' 17:49:20.107658 Received DATA (on stdin) 17:49:20.107671 > 39 bytes data, server => client 17:49:20.107682 '229 Entering Passive Mode (|||45801|)\r\n' 17:49:20.107792 < 8 bytes data, client => server 17:49:20.107805 'TYPE I\r\n' 17:49:20.107998 Received DATA (on stdin) 17:49:20.108009 > 33 bytes data, server => client 17:49:20.108020 '200 I modify TYPE as you wanted\r\n' 17:49:20.108066 < 21 bytes data, client => server 17:49:20.108076 'SIZE verifiedserver\r\n' 17:49:20.108175 Received DATA (on stdin) 17:49:20.108186 > 8 bytes data, server => client 17:49:20.108195 '213 17\r\n' 17:49:20.108238 < 21 bytes data, client => server 17:49:20.108248 'RETR verifiedserver\r\n' 17:49:20.108443 Received DATA (on stdin) 17:49:20.108454 > 29 bytes data, server => client 17:49:20.108464 '150 Binary junk (17 bytes).\r\n' 17:49:20.108927 Received DATA (on stdin) 17:49:20.108939 > 28 bytes data, server => client 17:49:20.108950 '226 File transfer complete\r\n' 17:49:20.149678 < 6 bytes data, client => server 17:49:20.149699 'QUIT\r\n' 17:49:20.149892 Received DATA (on stdin) 17:49:20.149905 > 18 bytes data, server => client 17:49:20.149915 '221 bye bye baby\r\n' 17:49:20.150814 ====> Client disconnect 17:49:20.150966 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:20.107304 Running IPv4 version 17:49:20.107367 Listening on port 45801 17:49:20.107403 Wrote pid 89368 to log/10/server/ftp_sockdata.pid 17:49:20.107426 Received PING (on stdin) 17:49:20.107507 Received PORT (on stdin) 17:49:20.107823 ====> Client connect 17:49:20.108486 Received DATA (on stdin) 17:49:20.108498 > 17 bytes data, server => client 17:49:20.108508 'WE ROOLZ: 81055\r\n' 17:49:20.108533 Received DISC (on stdin) 17:49:20.108543 ====> Client forcibly disconnected 17:49:20.108682 Received QUIT (on stdin) 17:49:20.108692 quits 17:49:20.108746 ============> 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 ==89403== ==89403== Process terminating with default action of signal 4 (SIGILL) ==89403== Illegal opcode at address 0x4014520 ==89403== at 0x4014520: getparameter (tool_getparam.c:2862) ==89403== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89403== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89403== by 0x4003728: main (tool_main.c:186) === End of file valgrind228 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/6/valgrind229 ../src/curl -q --output log/6/curl229.out --include --trace-ascii log/6/trace229 --trace-time ftp://127.0.0.1:36757/229 --ftp-account "one count" > log/6/stdout229 2> log/6/stderr229 229: 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 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/6/valgrind229 ../src/curl -q --output log/6/curl229.out --include --trace-ascii log/6/trace229 --trace-time ftp://127.0.0.1:36757/229 --ftp-account "one count" > log/6/stdout229 2> log/6/stderr229 === End of file commands.log === Start of file ftp_server.log 17:49:20.322785 ====> Client connect 17:49:20.322939 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:20.323253 < "USER anonymous" 17:49:20.323291 > "331 We are happy you popped in![CR][LF]" 17:49:20.323471 < "PASS ftp@example.com" 17:49:20.323499 > "230 Welcome you silly person[CR][LF]" 17:49:20.323746 < "PWD" 17:49:20.323796 > "257 "/" is current directory[CR][LF]" 17:49:20.323980 < "EPSV" 17:49:20.324008 ====> Passive DATA channel requested by client 17:49:20.324022 DATA sockfilt for passive data channel starting... 17:49:20.325982 DATA sockfilt for passive data channel started (pid 89431) 17:49:20.326087 DATA sockfilt for passive data channel listens on port 32865 17:49:20.326132 > "229 Entering Passive Mode (|||32865|)[CR][LF]" 17:49:20.326151 Client has been notified that DATA conn will be accepted on port 32865 17:49:20.326369 Client connects to port 32865 17:49:20.326410 ====> Client established passive DATA connection on port 32865 17:49:20.326496 < "TYPE I" 17:49:20.326527 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:20.327757 < "SIZE verifiedserver" 17:49:20.327808 > "213 17[CR][LF]" 17:49:20.327994 < "RETR verifiedserver" 17:49:20.328033 > "150 Binary junk (CMD (33792): ../libtool --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/valgrind231 ../src/curl -q --output log/22/curl231.out --trace-ascii log/22/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/22/test231.txt -C 10 > log/22/stdout231 2> log/22/stderr231 17 bytes).[CR][LF]" 17:49:20.328129 =====> Closing passive DATA connection... 17:49:20.328148 Server disconnects passive DATA connection 17:49:20.328233 Server disconnected passive DATA connection 17:49:20.328257 DATA sockfilt for passive data channel quits (pid 89431) 17:49:20.328508 DATA sockfilt for passive data channel quit (pid 89431) 17:49:20.328538 =====> Closed passive DATA connection 17:49:20.328568 > "226 File transfer complete[CR][LF]" 17:49:20.375410 < "QUIT" 17:49:20.375465 > "221 bye bye baby[CR][LF]" 17:49:20.376400 MAIN sockfilt said DISC 17:49:20.376435 ====> Client disconnected 17:49:20.376518 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.168862 ====> Client connect 17:49:20.169139 Received DATA (on stdin) 17:49:20.169153 > 146 bytes data, server => client 17:49:20.169165 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.169175 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.169184 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.169297 < 16 bytes data, client => server 17:49:20.169311 'USER anonymous\r\n' 17:49:20.169482 Received DATA (on stdin) 17:49:20.169494 > 33 bytes data, server => client 17:49:20.169511 '331 We are happy you popped in!\r\n' 17:49:20.169561 < 22 bytes data, client => server 17:49:20.169572 'PASS ftp@example.com\r\n' 17:49:20.169687 Received DATA (on stdin) 17:49:20.169698 > 30 bytes data, server => client 17:49:20.169708 '230 Welcome you silly person\r\n' 17:49:20.169776 < 5 bytes data, client => server 17:49:20.169801 'PWD\r\n' 17:49:20.169986 Received DATA (on stdin) 17:49:20.169997 > 30 bytes data, server => client 17:49:20.170007 '257 "/" is current directory\r\n' 17:49:20.170082 < 6 bytes data, client => server 17:49:20.170092 'EPSV\r\n' 17:49:20.172343 Received DATA (on stdin) 17:49:20.172357 > 39 bytes data, server => client 17:49:20.172368 '229 Entering Passive Mode (|||32865|)\r\n' 17:49:20.172491 < 8 bytes data, client => server 17:49:20.172505 'TYPE I\r\n' 17:49:20.172718 Received DATA (on stdin) 17:49:20.172732 > 33 bytes data, server => client 17:49:20.172743 '200 I modify TYPE as you wanted\r\n' 17:49:20.173822 < 21 bytes data, client => server 17:49:20.173842 'SIZE verifiedserver\r\n' 17:49:20.174003 Received DATA (on stdin) 17:49:20.174016 > 8 bytes data, server => client 17:49:20.174026 '213 17\r\n' 17:49:20.174089 < 21 bytes data, client => server 17:49:20.174103 'RETR verifiedserver\r\n' 17:49:20.174330 Received DATA (on stdin) 17:49:20.174345 > 29 bytes data, server => client 17:49:20.174356 '150 Binary junk (17 bytes).\r\n' 17:49:20.174761 Received DATA (on stdin) 17:49:20.174777 > 28 bytes data, server => client 17:49:20.174788 '226 File transfer complete\r\n' 17:49:20.221400 < 6 bytes data, client => server 17:49:20.221430 'QUIT\r\n' 17:49:20.221659 Received DATA (on stdin) 17:49:20.221672 > 18 bytes data, server => client 17:49:20.221682 '221 bye bye baby\r\n' 17:49:20.222537 ====> Client disconnect 17:49:20.222710 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:20.171708 Running IPv4 version 17:49:20.171780 Listening on port 32865 17:49:20.171824 Wrote pid 89431 to log/6/server/ftp_sockdata.pid 17:49:20.172110 Received PING (on stdin) 17:49:20.172193 Received PORT (on stdin) 17:49:20.172495 ====> Client connect 17:49:20.174235 Received DATA (on stdin) 17:49:20.174254 > 17 bytes data, server => client 17:49:20.174265 'WE ROOLZ: 81072\r\n' 17:49:20.174347 Received DISC (on stdin) 17:49:20.174364 ====> Client forcibly disconnected 17:49:20.174452 Received QUIT (on stdin) 17:49:20.174463 quits 17:49:20.174529 ============> 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 ==89539== ==89539== Process terminating with default action of signal 4 (SIGILL) ==89539== Illegal opcode at address 0x4014520 ==89539== at 0x4014520: getparameter (tool_getparam.c:2862) ==89539== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89539== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89539== by 0x4003728: main (tool_main.c:186) === End of file valgrind229 CMD (33792): ../libtool --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/valgrind230 ../src/curl -q --output log/3/curl230.out --include --trace-ascii log/3/trace230 --trace-time http://127.0.0.1:45927/230 --compressed > log/3/stdout230 2> log/3/stderr230 CMD (33792): ../libtool --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/valgrind232 ../src/curl -q --output log/21/curl232.out --include --trace-ascii log/21/trace232 --trace-time http://127.0.0.1:41669/232 --compressed > log/21/stdout232 2> log/21/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/14/valgrind233 ../src/curl -q --output log/14/curl233.out --include --trace-ascii log/14/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:37569 --user iam:myself --proxy-user testing:this --location > log/14/stdout233 2> log/14/stderr233 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/22/valgrind231 ../src/curl -q --output log/22/curl231.out --trace-ascii log/22/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/22/test231.txt -C 10 > log/22/stdout231 2> log/22/stderr231 231: data FAILED: --- log/22/check-expected 2026-01-28 17:49:21.473222107 +0000 +++ log/22/check-generated 2026-01-28 17:49:21.473222107 +0000 @@ -1,2 +0,0 @@ -B01234567[LF] -C01234567[LF] == Contents of files in the log/22/ 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/22/valgrind231 ../src/curl -q --output log/22/curl231.out --trace-ascii log/22/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/22/test231.txt -C 10 > log/22/stdout231 2> log/22/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 ==89576== ==89576== Process terminating with default action of signal 4 (SIGILL) ==89576== Illegal opcode at address 0x4014520 ==89576== at 0x4014520: getparameter (tool_getparam.c:2862) ==89576== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89576== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89576== by 0x4003728: main (tool_main.c:186) === End of file valgrind231 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/3/valgrind230 ../src/curl -q --output log/3/curl230.out --include --trace-ascii log/3/trace230 --trace-time http://127.0.0.1:45927/230 --compressed > log/3/stdout230 2> log/3/stderr230 230: 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 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/3/valgrind230 ../src/curl -q --output log/3/curl230.out --include --trace-ascii log/3/trace230 --trace-time http://127.0.0.1:45927/230 --compressed > log/3/stdout230 2> log/3/stderr230 === End of file commands.log === Start of file http_server.log 17:49:20.274296 ====> Client connect 17:49:20.274332 accept_connection 3 returned 4 17:49:20.274348 accept_connection 3 returned 0 17:49:20.274504 Read 93 bytes 17:49:20.274518 Process 93 bytes request 17:49:20.274531 Got request: GET /verifiedserver HTTP/1.1 17:49:20.274541 Are-we-friendly question received 17:49:20.274570 Wrote request (93 bytes) input to log/3/server.input 17:49:20.274588 Identifying ourselves as friends 17:49:20.274649 Response sent (56 bytes) and written to log/3/server.response 17:49:20.274659 special request received, no persistency 17:49:20.274669 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 54736 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind230 ==89644== ==89644== Process terminating with default action of signal 4 (SIGILL) ==89644== Illegal opcode at address 0x4014520 ==89644== at 0x4014520: getparameter (tool_getparam.c:2862) ==89644== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89644== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89644== by 0x4003728: main (tool_main.c:186) === End of file valgrind230 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/21/valgrind232 ../src/curl -q --output log/21/curl232.out --include --trace-ascii log/21/trace232 --trace-time http://127.0.0.1:41669/232 --compressed > log/21/stdout232 2> log/21/stderr232 232: 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 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/21/valgrind232 ../src/curl -q --output log/21/curl232.out --include --trace-ascii log/21/trace232 --trace-time http://127.0.0.1:41669/232 --compressed > log/21/stdout232 2> log/21/stderr232 === End of file commands.log === Start of file http_server.log 17:49:20.283352 ====> Client connect 17:49:20.283386 accept_connection 3 returned 4 17:49:20.283403 accept_connection 3 returned 0 17:49:20.283417 Read 93 bytes 17:49:20.283426 Process 93 bytes request 17:49:20.283439 Got request: GET /verifiedserver HTTP/1.1 17:49:20.283447 Are-we-friendly question received 17:49:20.283474 Wrote request (93 bytes) input to log/21/server.input 17:49:20.283492 Identifying ourselves as friends 17:49:20.283548 Response sent (56 bytes) and written to log/21/server.response 17:49:20.283558 special request received, no persistency 17:49:20.283566 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 52986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind232 ==89679== ==89679== Process terminating with default action of signal 4 (SIGILL) ==89679== Illegal opcode at address 0x4014520 ==89679== at 0x4014520: getparameter (tool_getparam.c:2862) ==89679== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89679== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89679== by 0x4003728: main (tool_main.c:186) === End of file valgrind232 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/14/valgrind233 ../src/curl -q --output log/14/curl233.out --include --trace-ascii log/14/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:37569 --user iam:myself --proxy-user testing:this --location > log/14/stdout233 2> log/14/stderr233 233: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? TotalCMD (33792): ../libtool --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/valgrind234 ../src/curl -q --output log/16/curl234.out --include --trace-ascii log/16/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:40899 --user iam:myself --proxy-user testing:this --location-trusted > log/16/stdout234 2> log/16/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/1/valgrind235 ../src/curl -q --output log/1/curl235.out --include --trace-ascii log/1/trace235 --trace-time ftp://127.0.0.1:39965/235 -T log/1/upload235 -C - > log/1/stdout235 2> log/1/stderr235 curl failure? Returned: 132 == Contents of files in the log/14/ 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/14/valgrind233 ../src/curl -q --output log/14/curl233.out --include --trace-ascii log/14/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:37569 --user iam:myself --proxy-user testing:this --location > log/14/stdout233 2> log/14/stderr233 === End of file commands.log === Start of file http_server.log 17:49:21.315323 ====> Client connect 17:49:21.315356 accept_connection 3 returned 4 17:49:21.315372 accept_connection 3 returned 0 17:49:21.315386 Read 93 bytes 17:49:21.315396 Process 93 bytes request 17:49:21.315410 Got request: GET /verifiedserver HTTP/1.1 17:49:21.315420 Are-we-friendly question received 17:49:21.315444 Wrote request (93 bytes) input to log/14/server.input 17:49:21.315460 Identifying ourselves as friends 17:49:21.315511 Response sent (56 bytes) and written to log/14/server.response 17:49:21.315520 special request received, no persistency 17:49:21.315529 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 46848 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind233 ==89752== ==89752== Process terminating with default action of signal 4 (SIGILL) ==89752== Illegal opcode at address 0x4014520 ==89752== at 0x4014520: getparameter (tool_getparam.c:2862) ==89752== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89752== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89752== by 0x4003728: main (tool_main.c:186) === End of file valgrind233 test 0234...[HTTP, proxy, site+proxy auth and Location: to new host 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/16/valgrind234 ../src/curl -q --output log/16/curl234.out --include --trace-ascii log/16/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:40899 --user iam:myself --proxy-user testing:this --location-trusted > log/16/stdout234 2> log/16/stderr234 234: 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 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/16/valgrind234 ../src/curl -q --output log/16/curl234.out --include --trace-ascii log/16/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:40899 --user iam:myself --proxy-user testing:this --location-trusted > log/16/stdout234 2> log/16/stderr234 === End of file commands.log === Start of file http_server.log 17:49:20.402125 ====> Client connect 17:49:20.402160 accept_connection 3 returned 4 17:49:20.402178 accept_connection 3 returned 0 17:49:20.402193 Read 93 bytes 17:49:20.402203 Process 93 bytes request 17:49:20.402217 Got request: GET /verifiedserver HTTP/1.1 17:49:20.402227 Are-we-friendly question received 17:49:20.402258 Wrote request (93 bytes) input to log/16/server.input 17:49:20.402276 Identifying ourselves as friends 17:49:20.402334 Response sent (56 bytes) and written to log/16/server.response 17:49:20.402345 special request received, no persistency 17:49:20.402354 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 58766 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind234 ==89866== ==89866== Process terminating with default action of signal 4 (SIGILL) ==89866== Illegal opcode at address 0x4014520 ==89866== at 0x4014520: getparameter (tool_getparam.c:2862) ==89866== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89866== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89866== by 0x4003728: main (tool_main.c:186) === End of file valgrind234 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/1/valgrind235 ../src/curl -q --output log/1/curl235.out --include --trace-ascii log/1/trace235 --trace-time ftp://127.0.0.1:39965/235 -T log/1/upload235 -C - > log/1/stdout235 2> log/1/stderr235 235: 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 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/1/valgrind235 ../src/curl -q --output log/1/curl235.out --include --trace-ascii log/1/trace235 --trace-time ftp://127.0.0.1:39965/235 -T log/1/upload235 -C - > log/1/stdout235 2> log/1/stderr235 === End of file commands.log === Start of file ftp_server.log 17:49:20.673622 ====> Client connect 17:49:20.673795 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:20.674083 < "USER anonymous" 17:49:20.674119 > "331 We are happy you popped in![CR][LF]" 17:49:20.674280 < "PASS ftp@example.com" 17:49:20.674307 > "230 Welcome you silly person[CR][LF]" 17:49:20.674449 < "PWD" 17:49:20.674478 > "257 "/" is current directory[CR][LF]" 17:49:20.674629 < "EPSV" 17:49:20.674655 ====> Passive DATA channel requested by client 17:49:20.674668 DATA sockfilt for passive data channel starting... 17:49:20.677692 DATA sockfilt for passive data channel started (pid 89955) 17:49:20.677811 DATA sockfilt for passive data channel listens on port 32817 17:49:20.677862 > "229 Entering Passive Mode (|||32817|)[CR][LF]" 17:49:20.677881 Client has been notified that DATA conn will be accepted on port 32817 17:49:20.678122 Client connects to port 32817 17:49:20.678151 ====> Client established passive DATA connection on port 32817 17:49:20.678243 < "TYPE I" 17:49:20.678279 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:20.678433 < "SIZE verifiedserver" 17:49:20.678468 > "213 17[CR][LF]" 17:49:20.678614 < "RETR verifiedserver" 17:49:20.678650 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:20.678742 =====> Closing passive DATA connection... 17:49:20.678763 Server disconnects passive DATA connection 17:49:20.678991 Server disconnected passive DATA connection 17:49: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/18/valgrind236 ../src/curl -q --output log/18/curl236.out --include --trace-ascii log/18/trace236 --trace-time ftp://127.0.0.1:36869/236 -T log/18/file236.txt -C - > log/18/stdout236 2> log/18/stderr236 0.679019 DATA sockfilt for passive data channel quits (pid 89955) 17:49:20.679260 DATA sockfilt for passive data channel quit (pid 89955) 17:49:20.679286 =====> Closed passive DATA connection 17:49:20.679315 > "226 File transfer complete[CR][LF]" 17:49:20.720383 < "QUIT" 17:49:20.720448 > "221 bye bye baby[CR][LF]" 17:49:20.721742 MAIN sockfilt said DISC 17:49:20.721778 ====> Client disconnected 17:49:20.721887 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.519682 ====> Client connect 17:49:20.519995 Received DATA (on stdin) 17:49:20.520009 > 146 bytes data, server => client 17:49:20.520020 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.520031 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.520040 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.520116 < 16 bytes data, client => server 17:49:20.520127 'USER anonymous\r\n' 17:49:20.520312 Received DATA (on stdin) 17:49:20.520324 > 33 bytes data, server => client 17:49:20.520335 '331 We are happy you popped in!\r\n' 17:49:20.520385 < 22 bytes data, client => server 17:49:20.520396 'PASS ftp@example.com\r\n' 17:49:20.520493 Received DATA (on stdin) 17:49:20.520503 > 30 bytes data, server => client 17:49:20.520514 '230 Welcome you silly person\r\n' 17:49:20.520559 < 5 bytes data, client => server 17:49:20.520569 'PWD\r\n' 17:49:20.520665 Received DATA (on stdin) 17:49:20.520675 > 30 bytes data, server => client 17:49:20.520685 '257 "/" is current directory\r\n' 17:49:20.520739 < 6 bytes data, client => server 17:49:20.520749 'EPSV\r\n' 17:49:20.524077 Received DATA (on stdin) 17:49:20.524095 > 39 bytes data, server => client 17:49:20.524106 '229 Entering Passive Mode (|||32817|)\r\n' 17:49:20.524232 < 8 bytes data, client => server 17:49:20.524246 'TYPE I\r\n' 17:49:20.524467 Received DATA (on stdin) 17:49:20.524479 > 33 bytes data, server => client 17:49:20.524489 '200 I modify TYPE as you wanted\r\n' 17:49:20.524538 < 21 bytes data, client => server 17:49:20.524549 'SIZE verifiedserver\r\n' 17:49:20.524655 Received DATA (on stdin) 17:49:20.524666 > 8 bytes data, server => client 17:49:20.524676 '213 17\r\n' 17:49:20.524722 < 21 bytes data, client => server 17:49:20.524732 'RETR verifiedserver\r\n' 17:49:20.524956 Received DATA (on stdin) 17:49:20.524968 > 29 bytes data, server => client 17:49:20.524978 '150 Binary junk (17 bytes).\r\n' 17:49:20.525505 Received DATA (on stdin) 17:49:20.525518 > 28 bytes data, server => client 17:49:20.525529 '226 File transfer complete\r\n' 17:49:20.566352 < 6 bytes data, client => server 17:49:20.566396 'QUIT\r\n' 17:49:20.566643 Received DATA (on stdin) 17:49:20.566657 > 18 bytes data, server => client 17:49:20.566668 '221 bye bye baby\r\n' 17:49:20.567877 ====> Client disconnect 17:49:20.568082 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:20.522534 Running IPv4 version 17:49:20.522593 Listening on port 32817 17:49:20.522639 Wrote pid 89955 to log/1/server/ftp_sockdata.pid 17:49:20.523817 Received PING (on stdin) 17:49:20.523909 Received PORT (on stdin) 17:49:20.524264 ====> Client connect 17:49:20.525004 Received DATA (on stdin) 17:49:20.525016 > 17 bytes data, server => client 17:49:20.525026 'WE ROOLZ: 81139\r\n' 17:49:20.525049 Received DISC (on stdin) 17:49:20.525060 ====> Client forcibly disconnected 17:49:20.525214 Received QUIT (on stdin) 17:49:20.525225 quits 17:49:20.525301 ============> 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 ==89965== ==89965== Process terminating with default action of signal 4 (SIGILL) ==89965== Illegal opcode at address 0x4014520 ==89965== at 0x4014520: getparameter (tool_getparam.c:2862) ==89965== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89965== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89965== by 0x4003728: main (tool_main.c:186) === End of file valgrind235 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/18/valgrind236 ../src/curl -q --output log/18/curl236.out --include --trace-ascii log/18/trace236 --trace-time ftp://127.0.0.1:36869/236 -T log/18/file236.txt -C - > log/18/stdout236 2> log/18/stderr236 236: 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 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/18/valgrind236 ../src/curl -q --output log/18/curl236.out --include --trace-ascii log/18/trace236 --trace-time ftp://127.0.0.1:36869/236 -T log/18/file236.txt -C - > log/18/stdout236 2> log/18/stderr236 === End of file commands.log === Start of file file236.txt Test data === End of file file236.txt === Start of file ftp_server.log 17:49:20.675836 ====> Client connect 17:49:20.675986 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:20.676251 < "USER anonymous" 17:49:20.676287 > "331 We are happy you popped in![CR][LF]" 17:49:20.676449 < "PASS ftp@example.com" 17:49:20.676474 > "230 Welcome you silly person[CR][LF]" 17:49:20.676621 < "PWD" 17:49:20.676650 > "257 "/" is current directory[CR][LF]" 17:49:20.676822 < "EPSV" 17:49:20.676847 ====> Passive DATA channel requested by client 17:49:20.676861 DATA sockfilt for passive data channel starting... 17:49:20.679389 DATA sockfilt for passive data channel started (pid 89956) 17:49:20.679524 DATA sockfilt for passive data channel listens on port 35525 17:49:20.679575 > "229 Entering Passive Mode (|||35525|)[CR][LF]" 17:49:20.679596 Client has been notified that DATA conn will be accepted on port 35525 17:49:20.679773 Client connects to port 35525 17:49:20.679799 ====> Client established passive DATA connection on port 35525 17:49:20.679886 < "TYPE I" 17:49:20.679916 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:20.680108 < "SIZE verifiedserver" 17:49:20.680160 > "213 17[CR][LF]" 17:49:20.680351 < "RETR verifiedserver" 17:49:20.680395 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:20.680505 =====> Closing passive DATA connection... 17:49:20.680526 Server disconnects passive DATA connection 17:49:20.680784 Server disconnected passive DATA connection 17:49:20.680819 DATA sockfilt for passive data channel quits (pid 89956) 17:49:20.681093 DATA sockfilt for passive data channel quit (pid 89956) 17:49:20.681124 =====> Closed passive DATA connection 17:49:20.681166 > "226 File transfer complete[CR][LF]" 17:49:20.726922 < "QUIT" 17:49:20.726974 > "221 bye bye baby[CR][LF]" 17:49:20.728479 MAIN sockfilt said DISC 17:49:20.728510 ====> Client disconnected 17:49:20.728583 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:21.521900 ====> Client connect 17:49:21.522184 Received DATA (on stdin) 17:49:21.522198 > 146 bytes data, server => client 17:49:21.522210 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:21.522221 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:21.522230 '220 \___|\___/|_| \_\_____|\r\n' 17:49:21.522302 < 16 bytes data, client => server 17:49:21.522313 'USER anonymous\r\n' 17:49:21.522478 Received DATA (on stdin) 17:49:21.522490 > 33 bytes data, server => client 17:49:21.522501 '331 We are happy you popped in!\r\n' 17:49:21.522550 < 22 bytes data, client => server 17:49:21.522562 'PASS ftp@example.com\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/15/valgrind237 ../src/curl -q --output log/15/curl237.out --include --trace-ascii log/15/trace237 --trace-time ftp://127.0.0.1:44375/237 --disable-epsv > log/15/stdout237 2> log/15/stderr237 n' 17:49:21.522662 Received DATA (on stdin) 17:49:21.522673 > 30 bytes data, server => client 17:49:21.522684 '230 Welcome you silly person\r\n' 17:49:21.522730 < 5 bytes data, client => server 17:49:21.522740 'PWD\r\n' 17:49:21.522850 Received DATA (on stdin) 17:49:21.522862 > 30 bytes data, server => client 17:49:21.522872 '257 "/" is current directory\r\n' 17:49:21.522929 < 6 bytes data, client => server 17:49:21.522939 'EPSV\r\n' 17:49:21.525737 Received DATA (on stdin) 17:49:21.525761 > 39 bytes data, server => client 17:49:21.525774 '229 Entering Passive Mode (|||35525|)\r\n' 17:49:21.525940 < 8 bytes data, client => server 17:49:21.525953 'TYPE I\r\n' 17:49:21.526088 Received DATA (on stdin) 17:49:21.526103 > 33 bytes data, server => client 17:49:21.526114 '200 I modify TYPE as you wanted\r\n' 17:49:21.526176 < 21 bytes data, client => server 17:49:21.526189 'SIZE verifiedserver\r\n' 17:49:21.526353 Received DATA (on stdin) 17:49:21.526366 > 8 bytes data, server => client 17:49:21.526376 '213 17\r\n' 17:49:21.526436 < 21 bytes data, client => server 17:49:21.526450 'RETR verifiedserver\r\n' 17:49:21.526719 Received DATA (on stdin) 17:49:21.526732 > 29 bytes data, server => client 17:49:21.526743 '150 Binary junk (17 bytes).\r\n' 17:49:21.527360 Received DATA (on stdin) 17:49:21.527373 > 28 bytes data, server => client 17:49:21.527384 '226 File transfer complete\r\n' 17:49:21.572935 < 6 bytes data, client => server 17:49:21.572959 'QUIT\r\n' 17:49:21.573170 Received DATA (on stdin) 17:49:21.573183 > 18 bytes data, server => client 17:49:21.573194 '221 bye bye baby\r\n' 17:49:21.574613 ====> Client disconnect 17:49:21.574775 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:20.525210 Running IPv4 version 17:49:20.525288 Listening on port 35525 17:49:20.525332 Wrote pid 89956 to log/18/server/ftp_sockdata.pid 17:49:20.525518 Received PING (on stdin) 17:49:20.525616 Received PORT (on stdin) 17:49:20.525904 ====> Client connect 17:49:20.526775 Received DATA (on stdin) 17:49:20.526794 > 17 bytes data, server => client 17:49:20.526804 'WE ROOLZ: 82094\r\n' 17:49:20.526832 Received DISC (on stdin) 17:49:20.526845 ====> Client forcibly disconnected 17:49:20.527025 Received QUIT (on stdin) 17:49:20.527039 quits 17:49:20.527106 ============> 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 ==89970== ==89970== Process terminating with default action of signal 4 (SIGILL) ==89970== Illegal opcode at address 0x4014520 ==89970== at 0x4014520: getparameter (tool_getparam.c:2862) ==89970== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==89970== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==89970== by 0x4003728: main (tool_main.c:186) === End of file valgrind236 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/15/valgrind237 ../src/curl -q --output log/15/curl237.out --include --trace-ascii log/15/trace237 --trace-time ftp://127.0.0.1:44375/237 --disable-epsv > log/15/stdout237 2> log/15/stderr237 237: 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 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/15/valgrind237 ../src/curl -q --output log/15/curl237.out --include --trace-ascii log/15/trace237 --trace-time ftp://127.0.0.1:44375/237 --disable-epsv > log/15/stdout237 2> log/15/stderr237 === End of file commands.log === Start of file ftp_server.log 17:49:20.772130 ====> Client connect 17:49:20.772309 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:20.772842 < "USER anonymous" 17:49:20.772881 > "331 We are happy you popped in![CR][LF]" 17:49:20.773407 < "PASS ftp@example.com" 17:49:20.773437 > "230 Welcome you silly person[CR][LF]" 17:49:20.773816 < "PWD" 17:49:20.773852 > "257 "/" is current directory[CR][LF]" 17:49:20.774030 < "EPSV" 17:49:20.774058 ====> Passive DATA channel requested by client 17:49:20.774072 DATA sockfilt for passive data channel starting... 17:49:20.778456 DATA sockfilt for passive data channel started (pid 90027) 17:49:20.778577 DATA sockfilt for passive data channel listens on port 44915 17:49:20.778619 > "229 Entering Passive Mode (|||44915|)[CR][LF]" 17:49:20.778638 Client has been notified that DATA conn will be accepted on port 44915 17:49:20.778877 Client connects to port 44915 17:49:20.778908 ====> Client established passive DATA connection on port 44915 17:49:20.778987 < "TYPE I" 17:49:20.779017 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:20.779178 < "SIZE verifiedserver" 17:49:20.779218 > "213 17[CR][LF]" 17:49:20.779373 < "RETR verifiedserver" 17:49:20.779408 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:20.779496 =====> Closing passive DATA connection... 17:49:20.779512 Server disconnects passive DATA connection 17:49:20.779751 Server disconnected passive DATA connection 17:49:20.779781 DATA sockfilt for passive data channel quits (pid 90027) 17:49:20.780022 DATA sockfilt for passive data channel quit (pid 90027) 17:49:20.780048 =====> Closed passive DATA connection 17:49:20.780077 > "226 File transfer complete[CR][LF]" 17:49:20.824323 < "QUIT" 17:49:20.824387 > "221 bye bye baby[CR][LF]" 17:49:20.825561 MAIN sockfilt said DISC 17:49:20.825595 ====> Client disconnected 17:49:20.825685 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.618163 ====> Client connect 17:49:20.618744 Received DATA (on stdin) 17:49:20.618765 > 146 bytes data, server => client 17:49:20.618778 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.618789 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.618799 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.618877 < 16 bytes data, client => server 17:49:20.618891 'USER anonymous\r\n' 17:49:20.619075 Received DATA (on stdin) 17:49:20.619087 > 33 bytes data, server => client 17:49:20.619099 '331 We are happy you popped in!\r\n' 17:49:20.619484 < 22 bytes data, client => server 17:49:20.619509 'PASS ftp@example.com\r\n' 17:49:20.619627 Received DATA (on stdin) 17:49:20.619639 > 30 bytes data, server => client 17:49:20.619650 '230 Welcome you silly person\r\n' 17:49:20.619705 < 5 bytes data, client => server 17:49:20.619717 'PWD\r\n' 17:49:20.620042 Received DATA (on stdin) 17:49:20.620055 > 30 bytes data, server => client 17:49:20.620066 '257 "/" is current directory\r\n' 17:49:20.620132 < 6 bytes data, client => server 17:49:20.620143 'EPSV\r\n' 17:49:20.624830 Received DATA (on stdin) 17:49:20.624844 > 39 bytes data, server => client 17:49:20.624855 '229 Entering Passive Mode (|||44915|)\r\n' 17:49:20.624984 < 8 bytes data, client => server 17:49:20.624998 'TYPE I\r\n' 17:49:20.625206 Received DATA (on stdin) 17:49:20.625218 > 33 bytes data, server => client 17:49:20.625229 '200 I modify TYPE as you wanted\r\n' 17:49:20.625281 < 21 bytes data, client => server 17:49:20.625292 'SIZE verifiedserver\r\n' 17:49:20.625406 Received DATA (on stdin) 17:49:20.625417 > 8 bytes data, server => client 17:49:20.625427 '213 17\r\n' 17:49:20.625475 < 21 bytes data, client => server 17:49:20.625485 'RETR verifiedserver\r\n' 17:49:20.625703 Received DATA (on stdin) 17:49:20.625714 > 29 bytes 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/11/valgrind238 ../src/curl -q --output log/11/curl238.out --include --trace-ascii log/11/trace238 --trace-time ftp://127.0.0.1:36233/238 > log/11/stdout238 2> log/11/stderr238 ta, server => client 17:49:20.625725 '150 Binary junk (17 bytes).\r\n' 17:49:20.626268 Received DATA (on stdin) 17:49:20.626281 > 28 bytes data, server => client 17:49:20.626291 '226 File transfer complete\r\n' 17:49:20.670300 < 6 bytes data, client => server 17:49:20.670336 'QUIT\r\n' 17:49:20.670582 Received DATA (on stdin) 17:49:20.670596 > 18 bytes data, server => client 17:49:20.670607 '221 bye bye baby\r\n' 17:49:20.671698 ====> Client disconnect 17:49:20.671878 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:20.624236 Running IPv4 version 17:49:20.624300 Listening on port 44915 17:49:20.624560 Wrote pid 90027 to log/15/server/ftp_sockdata.pid 17:49:20.624585 Received PING (on stdin) 17:49:20.624676 Received PORT (on stdin) 17:49:20.625019 ====> Client connect 17:49:20.625750 Received DATA (on stdin) 17:49:20.625763 > 17 bytes data, server => client 17:49:20.625774 'WE ROOLZ: 81145\r\n' 17:49:20.625807 Received DISC (on stdin) 17:49:20.625817 ====> Client forcibly disconnected 17:49:20.625979 Received QUIT (on stdin) 17:49:20.625990 quits 17:49:20.626064 ============> 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 ==90094== ==90094== Process terminating with default action of signal 4 (SIGILL) ==90094== Illegal opcode at address 0x4014520 ==90094== at 0x4014520: getparameter (tool_getparam.c:2862) ==90094== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90094== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90094== by 0x4003728: main (tool_main.c:186) === 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:36233/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:36233/238 > log/11/stdout238 2> log/11/stderr238 === End of file commands.log === Start of file ftp_server.log 17:49:20.971631 ====> Client connect 17:49:20.971800 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:20.972074 < "USER anonymous" 17:49:20.972122 > "331 We are happy you popped in![CR][LF]" 17:49:20.972307 < "PASS ftp@example.com" 17:49:20.972335 > "230 Welcome you silly person[CR][LF]" 17:49:20.972462 < "PWD" 17:49:20.972487 > "257 "/" is current directory[CR][LF]" 17:49:20.972608 < "EPSV" 17:49:20.972626 ====> Passive DATA channel requested by client 17:49:20.972637 DATA sockfilt for passive data channel starting... 17:49:20.974157 DATA sockfilt for passive data channel started (pid 90179) 17:49:20.974261 DATA sockfilt for passive data channel listens on port 41085 17:49:20.974301 > "229 Entering Passive Mode (|||41085|)[CR][LF]" 17:49:20.974319 Client has been notified that DATA conn will be accepted on port 41085 17:49:20.974498 Client connects to port 41085 17:49:20.974522 ====> Client established passive DATA connection on port 41085 17:49:20.974581 < "TYPE I" 17:49:20.974602 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:20.974717 < "SIZE verifiedserver" 17:49:20.974744 > "213 17[CR][LF]" 17:49:20.974852 < "RETR verifiedserver" 17:49:20.974877 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:20.974941 =====> Closing passive DATA connection... 17:49:20.974953 Server disconnects passive DATA connection 17:49:20.975117 Server disconnected passive DATA connection 17:49:20.975137 DATA sockfilt for passive data channel quits (pid 90179) 17:49:20.975311 DATA sockfilt for passive data channel quit (pid 90179) 17:49:20.975329 =====> Closed passive DATA connection 17:49:20.975350 > "226 File transfer complete[CR][LF]" 17:49:21.022298 < "QUIT" 17:49:21.022341 > "221 bye bye baby[CR][LF]" 17:49:21.023211 MAIN sockfilt said DISC 17:49:21.023249 ====> Client disconnected 17:49:21.023314 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.817713 ====> Client connect 17:49:20.818003 Received DATA (on stdin) 17:49:20.818017 > 146 bytes data, server => client 17:49:20.818029 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.818039 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.818048 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.818122 < 16 bytes data, client => server 17:49:20.818132 'USER anonymous\r\n' 17:49:20.818314 Received DATA (on stdin) 17:49:20.818326 > 33 bytes data, server => client 17:49:20.818336 '331 We are happy you popped in!\r\n' 17:49:20.818391 < 22 bytes data, client => server 17:49:20.818403 'PASS ftp@example.com\r\n' 17:49:20.818519 Received DATA (on stdin) 17:49:20.818528 > 30 bytes data, server => client 17:49:20.818536 '230 Welcome you silly person\r\n' 17:49:20.818575 < 5 bytes data, client => server 17:49:20.818583 'PWD\r\n' 17:49:20.818669 Received DATA (on stdin) 17:49:20.818677 > 30 bytes data, server => client 17:49:20.818685 '257 "/" is current directory\r\n' 17:49:20.818727 < 6 bytes data, client => server 17:49:20.818734 'EPSV\r\n' 17:49:20.820506 Received DATA (on stdin) 17:49:20.820516 > 39 bytes data, server => client 17:49:20.820525 '229 Entering Passive Mode (|||41085|)\r\n' 17:49:20.820619 < 8 bytes data, client => server 17:49:20.820630 'TYPE I\r\n' 17:49:20.820785 Received DATA (on stdin) 17:49:20.820794 > 33 bytes data, server => client 17:49:20.820801 '200 I modify TYPE as you wanted\r\n' 17:49:20.820838 < 21 bytes data, client => server 17:49:20.820846 'SIZE verifiedserver\r\n' 17:49:20.820926 Received DATA (on stdin) 17:49:20.820934 > 8 bytes data, server => client 17:49:20.820941 '213 17\r\n' 17:49:20.820976 < 21 bytes data, client => server 17:49:20.820984 'RETR verifiedserver\r\n' 17:49:20.821136 Received DATA (on stdin) 17:49:20.821144 > 29 bytes data, server => client 17:49:20.821152 '150 Binary junk (17 bytes).\r\n' 17:49:20.821533 Received DATA (on stdin) 17:49:20.821542 > 28 bytes data, server => client 17:49:20.821550 '226 File transfer complete\r\n' 17:49:20.868351 < 6 bytes data, client => server 17:49:20.868365 'QUIT\r\n' 17:49:20.868527 Received DATA (on stdin) 17:49:20.868536 > 18 bytes data, server => client 17:49:20.868544 '221 bye bye baby\r\n' 17:49:20.869339 ====> Client disconnect 17:49:20.869505 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:20.820188 Running IPv4 version 17:49:20.820233 Listening on port 41085 17:49:20.820271 Wrote pid 90179 to log/11/server/ftp_sockdata.pid 17:49:20.820288 Received PING (on stdin) 17:49:20.820368 Received PORT (on stdin) 17:49:20.820645 ====> Client connect 17:49:20.821170 Received DATA (on stdin) 17:49:20.821179 > 17 bytes data, server => client 17:49:20.821187 'WE ROOLZ: 80983\r\n' 17:49:20.821203 Received DISC (on stdin) 17:49:20.821211 ====> Client forcibly disconnected 17:49:20.821326 Received QUIT (on stdin) 17:49:20.821334 quits 17:49:20.821385 ============> 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 ==90234== ==90234== Process terminatiCMD (33792): ../libtool --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/valgrind239 ../src/curl -q --output log/2/curl239.out --include --trace-ascii log/2/trace239 --trace-time http://127.0.0.1:38779/239 --proxy http://127.0.0.1:38779 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/2/stdout239 2> log/2/stderr239 CMD (33792): ../libtool --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/valgrind243 ../src/curl -q --output log/13/curl243.out --include --trace-ascii log/13/trace243 --trace-time http://127.0.0.1:43845/243 --proxy http://127.0.0.1:43845 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/13/stdout243 2> log/13/stderr243 CMD (33792): ../libtool --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/valgrind245 ../src/curl -q --output log/23/curl245.out --include --trace-ascii log/23/trace245 --trace-time http://127.0.0.1:39173/245 -u auser:apasswd --digest -d "junkelijunk" > log/23/stdout245 2> log/23/stderr245 ng with default action of signal 4 (SIGILL) ==90234== Illegal opcode at address 0x4014520 ==90234== at 0x4014520: getparameter (tool_getparam.c:2862) ==90234== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90234== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90234== by 0x4003728: main (tool_main.c:186) === End of file valgrind238 test 0239...[HTTP proxy-auth NTLM and then 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/2/valgrind239 ../src/curl -q --output log/2/curl239.out --include --trace-ascii log/2/trace239 --trace-time http://127.0.0.1:38779/239 --proxy http://127.0.0.1:38779 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/2/stdout239 2> log/2/stderr239 239: 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 239 === Start of file commands.log ../libtool --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/valgrind239 ../src/curl -q --output log/2/curl239.out --include --trace-ascii log/2/trace239 --trace-time http://127.0.0.1:38779/239 --proxy http://127.0.0.1:38779 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/2/stdout239 2> log/2/stderr239 === End of file commands.log === Start of file http_server.log 17:49:20.831126 ====> Client connect 17:49:20.831158 accept_connection 3 returned 4 17:49:20.831174 accept_connection 3 returned 0 17:49:20.831188 Read 93 bytes 17:49:20.831197 Process 93 bytes request 17:49:20.831210 Got request: GET /verifiedserver HTTP/1.1 17:49:20.831219 Are-we-friendly question received 17:49:20.831243 Wrote request (93 bytes) input to log/2/server.input 17:49:20.831259 Identifying ourselves as friends 17:49:20.831315 Response sent (56 bytes) and written to log/2/server.response 17:49:20.831325 special request received, no persistency 17:49:20.831333 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 45228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === End of file http_verify.out === Start of file server.cmd Testnum 239 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76626 === End of file server.response === Start of file valgrind239 ==90192== ==90192== Process terminating with default action of signal 4 (SIGILL) ==90192== Illegal opcode at address 0x4014520 ==90192== at 0x4014520: getparameter (tool_getparam.c:2862) ==90192== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90192== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90192== by 0x4003728: main (tool_main.c:186) === End of file valgrind239 test 0243...[HTTP POST with --proxy-anyauth, picking NTLM] ../libtool --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/valgrind243 ../src/curl -q --output log/13/curl243.out --include --trace-ascii log/13/trace243 --trace-time http://127.0.0.1:43845/243 --proxy http://127.0.0.1:43845 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/13/stdout243 2> log/13/stderr243 243: 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 243 === Start of file commands.log ../libtool --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/valgrind243 ../src/curl -q --output log/13/curl243.out --include --trace-ascii log/13/trace243 --trace-time http://127.0.0.1:43845/243 --proxy http://127.0.0.1:43845 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/13/stdout243 2> log/13/stderr243 === End of file commands.log === Start of file http_server.log 17:49:21.904988 ====> Client connect 17:49:21.905025 accept_connection 3 returned 4 17:49:21.905041 accept_connection 3 returned 0 17:49:21.905062 Read 93 bytes 17:49:21.905070 Process 93 bytes request 17:49:21.905084 Got request: GET /verifiedserver HTTP/1.1 17:49:21.905093 Are-we-friendly question received 17:49:21.905121 Wrote request (93 bytes) input to log/13/server.input 17:49:21.905137 Identifying ourselves as friends 17:49:21.905196 Response sent (56 bytes) and written to log/13/server.response 17:49:21.905205 special request received, no persistency 17:49:21.905213 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 44848 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === End of file http_verify.out === Start of file server.cmd Testnum 243 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74871 === End of file server.response === Start of file valgrind243 ==90320== ==90320== Process terminating with default action of signal 4 (SIGILL) ==90320== Illegal opcode at address 0x4014520 ==90320== at 0x4014520: getparameter (tool_getparam.c:2862) ==90320== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90320== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90320== by 0x4003728: main (tool_main.c:186) === End of file valgrind243 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/23/valgrind245 ../src/curl -q --output log/23/curl245.out --include --trace-ascii log/23/trace245 --trace-time http://127.0.0.1:39173/245 -u auser:apasswd --digest -d "junkelijunk" > log/23/stdout245 2> log/23/stderr245 245: 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 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/23/valgrind245 ../src/curl -q --output log/23/curl245.out --include --trace-ascii log/23/trace245 --trace-time http://127.0.0.1:39173/245 -u auser:apasswd --digest -d "junkelijunk" > log/23/stdout245 2> log/23/stderr245 === End of file commands.log === Start of file http_server.log 17:49:21.944145 ====> Client connect 17:49:21.944176 accept_connection 3 returned 4 17:49:21.944191 accept_connection 3 returned 0 17:49:21.944204 Read 93 bytes 17:49:21.944213 Process 93 bytes request 17:49:21.944225 Got request: GET /verifiedserver HTTP/1.1 17:49:21.944233 Are-we-friendly question received 17:49:21.944256 Wrote request (93 bytes) input to log/23/server.input 17:49:21.944272 Identifying ourselves as friends 17:49:21.944324 Response sent (56 bytes) and written to log/23/server.response 17:49:21.944333 special request received, no persistency 17:49:21.944341 ====> Client disconnect 0 === End of file http_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/20/valgrind244 ../src/curl -q --output log/20/curl244.out --include --trace-ascii log/20/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:35215/fir%23t/th%69rd/244/ > log/20/stdout244 2> log/20/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/17/valgrind246 ../src/curl -q --output log/17/curl246.out --include --trace-ascii log/17/trace246 --trace-time http://127.0.0.1:44593/246 -u auser:apasswd --digest -d "junkelijunk" > log/17/stdout246 2> log/17/stderr246 ver.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 53828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind245 ==90395== ==90395== Process terminating with default action of signal 4 (SIGILL) ==90395== Illegal opcode at address 0x4014520 ==90395== at 0x4014520: getparameter (tool_getparam.c:2862) ==90395== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90395== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90395== by 0x4003728: main (tool_main.c:186) === End of file valgrind245 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/20/valgrind244 ../src/curl -q --output log/20/curl244.out --include --trace-ascii log/20/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:35215/fir%23t/th%69rd/244/ > log/20/stdout244 2> log/20/stderr244 244: 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 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/20/valgrind244 ../src/curl -q --output log/20/curl244.out --include --trace-ascii log/20/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:35215/fir%23t/th%69rd/244/ > log/20/stdout244 2> log/20/stderr244 === End of file commands.log === Start of file ftp_server.log 17:49:21.087237 ====> Client connect 17:49:21.087426 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:21.087739 < "USER anonymous" 17:49:21.087777 > "331 We are happy you popped in![CR][LF]" 17:49:21.087948 < "PASS ftp@example.com" 17:49:21.087975 > "230 Welcome you silly person[CR][LF]" 17:49:21.088115 < "PWD" 17:49:21.088145 > "257 "/" is current directory[CR][LF]" 17:49:21.088291 < "EPSV" 17:49:21.088318 ====> Passive DATA channel requested by client 17:49:21.088331 DATA sockfilt for passive data channel starting... 17:49:21.090198 DATA sockfilt for passive data channel started (pid 90352) 17:49:21.090300 DATA sockfilt for passive data channel listens on port 44051 17:49:21.090346 > "229 Entering Passive Mode (|||44051|)[CR][LF]" 17:49:21.090364 Client has been notified that DATA conn will be accepted on port 44051 17:49:21.090556 Client connects to port 44051 17:49:21.090585 ====> Client established passive DATA connection on port 44051 17:49:21.090702 < "TYPE I" 17:49:21.090734 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:21.090886 < "SIZE verifiedserver" 17:49:21.090928 > "213 17[CR][LF]" 17:49:21.091069 < "RETR verifiedserver" 17:49:21.091102 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:21.091190 =====> Closing passive DATA connection... 17:49:21.091207 Server disconnects passive DATA connection 17:49:21.091505 Server disconnected passive DATA connection 17:49:21.091537 DATA sockfilt for passive data channel quits (pid 90352) 17:49:21.091886 DATA sockfilt for passive data channel quit (pid 90352) 17:49:21.091912 =====> Closed passive DATA connection 17:49:21.091949 > "226 File transfer complete[CR][LF]" 17:49:21.134049 < "QUIT" 17:49:21.134100 > "221 bye bye baby[CR][LF]" 17:49:21.134890 MAIN sockfilt said DISC 17:49:21.134932 ====> Client disconnected 17:49:21.135063 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.933313 ====> Client connect 17:49:20.933628 Received DATA (on stdin) 17:49:20.933643 > 146 bytes data, server => client 17:49:20.933656 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.933666 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.933675 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.933754 < 16 bytes data, client => server 17:49:20.933765 'USER anonymous\r\n' 17:49:20.933968 Received DATA (on stdin) 17:49:20.933979 > 33 bytes data, server => client 17:49:20.933989 '331 We are happy you popped in!\r\n' 17:49:20.934037 < 22 bytes data, client => server 17:49:20.934047 'PASS ftp@example.com\r\n' 17:49:20.934162 Received DATA (on stdin) 17:49:20.934172 > 30 bytes data, server => client 17:49:20.934182 '230 Welcome you silly person\r\n' 17:49:20.934225 < 5 bytes data, client => server 17:49:20.934234 'PWD\r\n' 17:49:20.934331 Received DATA (on stdin) 17:49:20.934340 > 30 bytes data, server => client 17:49:20.934350 '257 "/" is current directory\r\n' 17:49:20.934402 < 6 bytes data, client => server 17:49:20.934411 'EPSV\r\n' 17:49:20.936561 Received DATA (on stdin) 17:49:20.936574 > 39 bytes data, server => client 17:49:20.936584 '229 Entering Passive Mode (|||44051|)\r\n' 17:49:20.936789 < 8 bytes data, client => server 17:49:20.936800 'TYPE I\r\n' 17:49:20.936922 Received DATA (on stdin) 17:49:20.936932 > 33 bytes data, server => client 17:49:20.936942 '200 I modify TYPE as you wanted\r\n' 17:49:20.936991 < 21 bytes data, client => server 17:49:20.937001 'SIZE verifiedserver\r\n' 17:49:20.937115 Received DATA (on stdin) 17:49:20.937125 > 8 bytes data, server => client 17:49:20.937134 '213 17\r\n' 17:49:20.937178 < 21 bytes data, client => server 17:49:20.937188 'RETR verifiedserver\r\n' 17:49:20.937396 Received DATA (on stdin) 17:49:20.937406 > 29 bytes data, server => client 17:49:20.937416 '150 Binary junk (17 bytes).\r\n' 17:49:20.938137 Received DATA (on stdin) 17:49:20.938149 > 28 bytes data, server => client 17:49:20.938158 '226 File transfer complete\r\n' 17:49:20.980072 < 6 bytes data, client => server 17:49:20.980097 'QUIT\r\n' 17:49:20.980296 Received DATA (on stdin) 17:49:20.980309 > 18 bytes data, server => client 17:49:20.980320 '221 bye bye baby\r\n' 17:49:20.981003 ====> Client disconnect 17:49:20.981147 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:21.936080 Running IPv4 version 17:49:21.936136 Listening on port 44051 17:49:21.936184 Wrote pid 90352 to log/20/server/ftp_sockdata.pid 17:49:21.936327 Received PING (on stdin) 17:49:21.936409 Received PORT (on stdin) 17:49:21.936695 ====> Client connect 17:49:21.937441 Received DATA (on stdin) 17:49:21.937453 > 17 bytes data, server => client 17:49:21.937463 'WE ROOLZ: 81259\r\n' 17:49:21.937623 Received DISC (on stdin) 17:49:21.937634 ====> Client forcibly disconnected 17:49:21.937834 Received QUIT (on stdin) 17:49:21.937847 quits 17:49:21.937927 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 244 === End of file server.cmd === Start of file valgrind244 ==90478== ==90478== Process terminating with default action of signal 4 (SIGILL) ==90478== Illegal opcode at address 0x4014520 ==90478== at 0x4014520: getparameter (tool_getparam.c:2862) ==90478== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90478== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90478== by 0x4003728: main (tool_main.c:186) === End of file valgrind244 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.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/4/valgrind248 ../src/curl -q --output log/4/curl248.out --include --trace-ascii log/4/trace248 --trace-time ftp://127.0.0.1:40307/248 -T log/4/test248.txt -z "apr 1 2005 08:00:00" > log/4/stdout248 2> log/4/stderr248 CMD (33792): ../libtool --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/valgrind247 ../src/curl -q --output log/8/curl247.out --include --trace-ascii log/8/trace247 --trace-time ftp://127.0.0.1:42799/247 -T log/8/test247.txt -z "apr 1 2005 08:00:00" > log/8/stdout247 2> log/8/stderr247 pp --num-callers=16 --log-file=log/17/valgrind246 ../src/curl -q --output log/17/curl246.out --include --trace-ascii log/17/trace246 --trace-time http://127.0.0.1:44593/246 -u auser:apasswd --digest -d "junkelijunk" > log/17/stdout246 2> log/17/stderr246 246: 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 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/17/valgrind246 ../src/curl -q --output log/17/curl246.out --include --trace-ascii log/17/trace246 --trace-time http://127.0.0.1:44593/246 -u auser:apasswd --digest -d "junkelijunk" > log/17/stdout246 2> log/17/stderr246 === End of file commands.log === Start of file http_server.log 17:49:20.977827 ====> Client connect 17:49:20.977858 accept_connection 3 returned 4 17:49:20.977875 accept_connection 3 returned 0 17:49:20.977890 Read 93 bytes 17:49:20.977899 Process 93 bytes request 17:49:20.977912 Got request: GET /verifiedserver HTTP/1.1 17:49:20.977921 Are-we-friendly question received 17:49:20.977948 Wrote request (93 bytes) input to log/17/server.input 17:49:20.977964 Identifying ourselves as friends 17:49:20.978021 Response sent (56 bytes) and written to log/17/server.response 17:49:20.978031 special request received, no persistency 17:49:20.978040 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 36876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind246 ==90488== ==90488== Process terminating with default action of signal 4 (SIGILL) ==90488== Illegal opcode at address 0x4014520 ==90488== at 0x4014520: getparameter (tool_getparam.c:2862) ==90488== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90488== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90488== by 0x4003728: main (tool_main.c:186) === End of file valgrind246 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:40307/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:40307/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 17:49:21.133262 ====> Client connect 17:49:21.133441 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:21.133719 < "USER anonymous" 17:49:21.133763 > "331 We are happy you popped in![CR][LF]" 17:49:21.133928 < "PASS ftp@example.com" 17:49:21.133956 > "230 Welcome you silly person[CR][LF]" 17:49:21.134093 < "PWD" 17:49:21.134121 > "257 "/" is current directory[CR][LF]" 17:49:21.134266 < "EPSV" 17:49:21.134295 ====> Passive DATA channel requested by client 17:49:21.134309 DATA sockfilt for passive data channel starting... 17:49:21.136277 DATA sockfilt for passive data channel started (pid 90462) 17:49:21.136398 DATA sockfilt for passive data channel listens on port 42693 17:49:21.136451 > "229 Entering Passive Mode (|||42693|)[CR][LF]" 17:49:21.136474 Client has been notified that DATA conn will be accepted on port 42693 17:49:21.136735 Client connects to port 42693 17:49:21.136768 ====> Client established passive DATA connection on port 42693 17:49:21.136857 < "TYPE I" 17:49:21.136892 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:21.137072 < "SIZE verifiedserver" 17:49:21.137117 > "213 17[CR][LF]" 17:49:21.137290 < "RETR verifiedserver" 17:49:21.137333 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:21.137436 =====> Closing passive DATA connection... 17:49:21.137458 Server disconnects passive DATA connection 17:49:21.137691 Server disconnected passive DATA connection 17:49:21.137722 DATA sockfilt for passive data channel quits (pid 90462) 17:49:21.137950 DATA sockfilt for passive data channel quit (pid 90462) 17:49:21.137982 =====> Closed passive DATA connection 17:49:21.138015 > "226 File transfer complete[CR][LF]" 17:49:21.181796 < "QUIT" 17:49:21.181851 > "221 bye bye baby[CR][LF]" 17:49:21.182576 MAIN sockfilt said DISC 17:49:21.182630 ====> Client disconnected 17:49:21.182710 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:20.979332 ====> Client connect 17:49:20.979642 Received DATA (on stdin) 17:49:20.979657 > 146 bytes data, server => client 17:49:20.979667 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:20.979677 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:20.979685 '220 \___|\___/|_| \_\_____|\r\n' 17:49:20.979759 < 16 bytes data, client => server 17:49:20.979769 'USER anonymous\r\n' 17:49:20.979952 Received DATA (on stdin) 17:49:20.979963 > 33 bytes data, server => client 17:49:20.979972 '331 We are happy you popped in!\r\n' 17:49:20.980019 < 22 bytes data, client => server 17:49:20.980027 'PASS ftp@example.com\r\n' 17:49:20.980141 Received DATA (on stdin) 17:49:20.980151 > 30 bytes data, server => client 17:49:20.980159 '230 Welcome you silly person\r\n' 17:49:20.980206 < 5 bytes data, client => server 17:49:20.980214 'PWD\r\n' 17:49:20.980305 Received DATA (on stdin) 17:49:20.980315 > 30 bytes data, server => client 17:49:20.980324 '257 "/" is current directory\r\n' 17:49:20.980373 < 6 bytes data, client => server 17:49:20.980383 'EPSV\r\n' 17:49:20.982672 Received DATA (on stdin) 17:49:20.982687 > 39 bytes data, server => client 17:49:20.982698 '229 Entering Passive Mode (|||42693|)\r\n' 17:49:20.982819 < 8 bytes data, client => server 17:49:20.982843 'TYPE I\r\n' 17:49:20.983086 Received DATA (on stdin) 17:49:20.983099 > 33 bytes data, server => client 17:49:20.983110 '200 I modify TYPE as you wanted\r\n' 17:49:20.983167 < 21 bytes data, client => server 17:49:20.983179 'SIZE verifiedserver\r\n' 17:49:20.983309 Received DATA (on stdin) 17:49:20.983321 > 8 bytes data, server => client 17:49:20.983331 '213 17\r\n' 17:49:20.983384 < 21 bytes data, client => server 17:49:20.983397 'RETR verifiedserver\r\n' 17:49:20.983651 Received DATA (on stdin) 17:49:20.983663 > 29 bytes data, server => client 17:49:20.983674 '150 Binary junk (17 bytes).\r\n' 17:49:20.984206 Received DATA (on stdin) 17:49:20.984219 > 28 bytes data, server => client 17:49:20.984230 '226 File transfer complete\r\n' 17:49:21.027822 < 6 bytes data, client => server 17:49:21.027846 'QUIT\r\n' 17:49:21.028046 Received DATA (on stdin) 17:49:21.028058 > 18 bytes data, server => client 17:49:21.028069 '221 bye bye baby\r\n' 17:49:21.028669 ====> Client disconnect 17:49:21.028931 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:21.982130 Running IPv4 version 17:49:21.982201 Listening on port 42693 17:49:21.982247 Wrote pid 90462 to log/4/server/ftp_sockdata.pid 17:49:21.982402 Received PING (on stdin) 17:49:21.982496 Received PORT (on stdin) 17:49:21.982867 ====> Client connect 17:49:21.983701 Received DATA (on stdin) 17:49:21.983714 > 17 bytes data, server => client 17:49:21.983724 'WE ROOLZ: 80996\r\n' 17:49:21.983749 Received DISC (on stdin) 17:49:21.983760 ====> Client forcibly disconnected 17:49:21.983924 Received QUIT (on stdin) 17:49:21.983936 quits 17:49:21.983998 ============> 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 ==90598== ==90598== Process terminating with default action of signal 4 (SIGILL) ==90598== Illegal opcode at address 0x4014520 ==90598== at 0x4014520: getparameter (tool_getparam.c:2862) ==90598== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90598== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90598== by 0x4003728: main (tool_main.c:186) === End of file valgrind248 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/8/valgrind247 ../src/curl -q --output log/8/curl247.out --include --trace-ascii log/8/trace247 --trace-time ftp://127.0.0.1:42799/247 -T log/8/test247.txt -z "apr 1 2005 08:00:00" > log/8/stdout247 2> log/8/stderr247 247: 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 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/8/valgrind247 ../src/curl -q --output log/8/curl247.out --include --trace-ascii log/8/trace247 --trace-time ftp://127.0.0.1:42799/247 -T log/8/test247.txt -z "apr 1 2005 08:00:00" > log/8/stdout247 2> log/8/stderr247 === End of file commands.log === Start of file ftp_server.log 17:49:21.131630 ====> Client connect 17:49:21.131797 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:21.132077 < "USER anonymous" 17:49:21.132119 > "331 We are happy you popped in![CR][LF]" 17:49:21.132296 < "PASS ftp@example.com" 17:49:21.132333 > "230 Welcome you silly person[CR][LF]" 17:49:21.132501 < "PWD" 17:49:21.132533 > "257 "/" is current directory[CR][LF]" 17:49:21.132709 < "EPSV" 17:49:21.132736 ====> Passive DATA channel requested by client 17:49:21.132750 DATA sockfilt for passive data channel starting... 17:49:21.134905 DATA sockfilt for passive data channel started (pid 90459) 17:49:21.135025 DATA sockfilt for passive data channel listens on port 42713 17:49:21.135073 > "229 Entering Passive Mode (|||42713|)[CR][LF]" 17:49:21.135092 Client has been notified that DATA conn will be accepted on port 42713 17:49:21.135340 Client connects to port 42713 17:49:21.135373 ====> Client established passive DATA connection on port 42713 17:49:21.135465 < "TYPE I" 17:49:21.135502 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:21.135658 < "SIZE verifiedserver" 17:49:21.135693 > "213 17[CR][LF]" 17:49:21.135836 < "RETR verifiedserver" 17:49:21.135868 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:21.135958 =====> Closing passive DATA connection... 17:49:21.135975 Server disconnects passive DATA connection 17:49:21.136199 Server disconnected passive DATA connection 17:49:21.136228 DATA sockfilt for passive data channel quits (pid 90459) 17:49:21.136461 DATA sockfilt for passive data channel quit (pid 90459) 17:49:21.136487 =====> Closed passive DATA connection 17:49:21.136518 > "226 File transfer complete[CR][LF]" 17:49:21.180969 < "QUIT" 17:49:21.181027 > "221 bye bye baby[CR][LF]" 17:49:21.182342 MAIN sockfilt said DISC 17:49:21.182378 ====> Client disconnected 17:49:21.182448 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:21.977700 ====> Client connect 17:49:21.977997 Received DATA (on stdin) 17:49:21.978012 > 146 bytes data, server => client 17:49:21.978024 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:21.978034 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:21.978043 '220 \___|\___/|_| \_\_____|\r\n' 17:49:21.978113 < 16 bytes data, client => server 17:49:21.978124 'USER anonymous\r\n' 17:49:21.978309 Received DATA (on stdin) 17:49:21.978320 > 33 bytes data, server => client 17:49:21.978330 '331 We are happy you popped in!\r\n' 17:49:21.978378 < 22 bytes data, client => server 17:49:21.978391 'PASS ftp@example.com\r\n' 17:49:21.978524 Received DATA (on stdin) 17:49:21.978537 > 30 bytes data, server => client 17:49:21.978547 '230 Welcome you silly person\r\n' 17:49:21.978597 < 5 bytes data, client => server 17:49:21.978607 'PWD\r\n' 17:49:21.978722 Received DATA (on stdin) 17:49:21.978733 > 30 bytes data, server => client 17:49:21.978743 '257 "/" is current directory\r\n' 17:49:21.978804 < 6 bytes data, client => server 17:49:21.978816 'EPSV\r\n' 17:49:21.981287 Received DATA (on stdin) 17:49:21.981303 > 39 bytes data, server => client 17:49:21.981313 '229 Entering Passive Mode (|||42713|)\r\n' 17:49:21.981474 < 8 bytes data, client => server 17:49:21.981484 'TYPE I\r\n' 17:49:21.981691 Received DATA (on stdin) 17:49:21.981701 > 33 bytes data, server => client 17:49:21.981711 '200 I modify TYPE as you wanted\r\n' 17:49:21.981762 < 21 bytes data, client => server 17:49:21.981772 'SIZE verifiedserver\r\n' 17:49:21.981879 Received DATA (on stdin) 17:49:21.981889 > 8 bytes data, server => client 17:49:21.981899 '213 17\r\n' 17:49:21.981944 < 21 bytes data, client => server 17:49:21.981954 'RETR verifiedserver\r\n' 17:49:21.982164 Received DATA (on stdin) 17:49:21.982180 > 29 bytes data, server => client 17:49:21.982189 '150 Binary junk (17 bytes).\r\n' 17:49:21.982710 Received DATA (on stdin) 17:49:21.982722 > 28 bytes data, server => client 17:49:21.982731 '226 File transfer complete\r\n' 17:49:22.026961 < 6 bytes data, client => server 17:49:22.026988 'QUIT\r\n' 17:49:22.027222 Received DATA (on stdin) 17:49:22.027235 > 18 bytes data, server => client 17:49:22.027245 '221 bye bye baby\r\n' 17:49:22.028475 ====> Client disconnect 17:49:22.028640 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:21.980745 Running IPv4 version 17:49:21.980814 Listening on port 42713 17:49:21.980854 Wrote pid 90459 to log/8/server/ftp_sockdata.pid 17:49:21.981038 Received PING (on stdin) 17:49:21.981120 Received PORT (on stdin) 17:49:21.981445 ====> Client connect 17:49:21.982215 Received DATA (on stdin) 17:49:21.982227 > 17 bytes data, server => client 17:49:21.982237 'WE ROOLZ: 81155\r\n' 17:49:21.982262 Received DISC (on stdin) 17:49:21.982272 ====> Client forcibly disconnected 17:49:21.982427 Received QUIT (on stdin) 17:49:21.982437 quits 17:49:21.982507 ============> 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 ==90594== ==90594== Process terminating with default action of signal 4 (SIGILL) ==90594== Illegal opcode at address 0x4014520 ==90594== at 0x4014520: getparameCMD (33792): ../libtool --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/valgrind249 ../src/curl -q --output log/12/curl249.out --include --trace-ascii log/12/trace249 --trace-time http://127.0.0.1:36641/249 -z "dec 12 12:00:00 1999 GMT" > log/12/stdout249 2> log/12/stderr249 CMD (33792): ../libtool --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/valgrind250 ../src/curl -q --output log/19/curl250.out --include --trace log/19/trace250 --trace-time ftp://127.0.0.1:40075/ > log/19/stdout250 2> log/19/stderr250 ter (tool_getparam.c:2862) ==90594== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90594== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90594== by 0x4003728: main (tool_main.c:186) === End of file valgrind247 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/12/valgrind249 ../src/curl -q --output log/12/curl249.out --include --trace-ascii log/12/trace249 --trace-time http://127.0.0.1:36641/249 -z "dec 12 12:00:00 1999 GMT" > log/12/stdout249 2> log/12/stderr249 249: 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 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/12/valgrind249 ../src/curl -q --output log/12/curl249.out --include --trace-ascii log/12/trace249 --trace-time http://127.0.0.1:36641/249 -z "dec 12 12:00:00 1999 GMT" > log/12/stdout249 2> log/12/stderr249 === End of file commands.log === Start of file http_server.log 17:49:21.158648 ====> Client connect 17:49:21.158682 accept_connection 3 returned 4 17:49:21.158698 accept_connection 3 returned 0 17:49:21.158713 Read 93 bytes 17:49:21.158723 Process 93 bytes request 17:49:21.158737 Got request: GET /verifiedserver HTTP/1.1 17:49:21.158746 Are-we-friendly question received 17:49:21.158771 Wrote request (93 bytes) input to log/12/server.input 17:49:21.158787 Identifying ourselves as friends 17:49:21.158846 Response sent (56 bytes) and written to log/12/server.response 17:49:21.158855 special request received, no persistency 17:49:21.158864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 52328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind249 ==90729== ==90729== Process terminating with default action of signal 4 (SIGILL) ==90729== Illegal opcode at address 0x4014520 ==90729== at 0x4014520: getparameter (tool_getparam.c:2862) ==90729== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90729== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90729== by 0x4003728: main (tool_main.c:186) === End of file valgrind249 test 0250...[FTP dir list PASV with 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/19/valgrind250 ../src/curl -q --output log/19/curl250.out --include --trace log/19/trace250 --trace-time ftp://127.0.0.1:40075/ > log/19/stdout250 2> log/19/stderr250 250: 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 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/19/valgrind250 ../src/curl -q --output log/19/curl250.out --include --trace log/19/trace250 --trace-time ftp://127.0.0.1:40075/ > log/19/stdout250 2> log/19/stderr250 === End of file commands.log === Start of file ftp_server.log 17:49:21.425372 ====> Client connect 17:49:21.425515 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:21.425794 < "USER anonymous" 17:49:21.425837 > "331 We are happy you popped in![CR][LF]" 17:49:21.426024 < "PASS ftp@example.com" 17:49:21.426056 > "230 Welcome you silly person[CR][LF]" 17:49:21.426216 < "PWD" 17:49:21.426244 > "257 "/" is current directory[CR][LF]" 17:49:21.426390 < "EPSV" 17:49:21.426416 ====> Passive DATA channel requested by client 17:49:21.426430 DATA sockfilt for passive data channel starting... 17:49:21.428103 DATA sockfilt for passive data channel started (pid 90801) 17:49:21.428214 DATA sockfilt for passive data channel listens on port 34603 17:49:21.428257 > "229 Entering Passive Mode (|||34603|)[CR][LF]" 17:49:21.428275 Client has been notified that DATA conn will be accepted on port 34603 17:49:21.428506 Client connects to port 34603 17:49:21.428537 ====> Client established passive DATA connection on port 34603 17:49:21.428619 < "TYPE I" 17:49:21.428648 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:21.428800 < "SIZE verifiedserver" 17:49:21.428839 > "213 17[CR][LF]" 17:49:21.428986 < "RETR verifiedserver" 17:49:21.429023 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:21.429107 =====> Closing passive DATA connection... 17:49:21.429123 Server disconnects passive DATA connection 17:49:21.429272 Server disconnected passive DATA connection 17:49:21.429345 DATA sockfilt for passive data channel quits (pid 90801) 17:49:21.429722 DATA sockfilt for passive data channel quit (pid 90801) 17:49:21.429750 =====> Closed passive DATA connection 17:49:21.429792 > "226 File transfer complete[CR][LF]" 17:49:21.472192 < "QUIT" 17:49:21.472247 > "221 bye bye baby[CR][LF]" 17:49:21.473289 MAIN sockfilt said DISC 17:49:21.473321 ====> Client disconnected 17:49:21.473421 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:21.271458 ====> Client connect 17:49:21.271713 Received DATA (on stdin) 17:49:21.271730 > 146 bytes data, server => client 17:49:21.271742 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:21.271752 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:21.271761 '220 \___|\___/|_| \_\_____|\r\n' 17:49:21.271838 < 16 bytes data, client => server 17:49:21.271850 'USER anonymous\r\n' 17:49:21.272028 Received DATA (on stdin) 17:49:21.272040 > 33 bytes data, server => client 17:49:21.272050 '331 We are happy you popped in!\r\n' 17:49:21.272104 < 22 bytes data, client => server 17:49:21.272116 'PASS ftp@example.com\r\n' 17:49:21.272245 Received DATA (on stdin) 17:49:21.272256 > 30 bytes data, server => client 17:49:21.272266 '230 Welcome you silly person\r\n' 17:49:21.272315 < 5 bytes data, client => server 17:49:21.272326 'PWD\r\n' 17:49:21.272427 Received DATA (on stdin) 17:49:21.272435 > 30 bytes data, server => client 17:49:21.272443 '257 "/" is current directory\r\n' 17:49:21.272496 < 6 bytes data, client => server 17:49:21.272508 'EPSV\r\n' 17:49:21.274469 Received DATA (on stdin) 17:49:21.274482 > 39 bytes data, server => client 17:49:21.274493 '229 Entering Passive Mode (|||34603|)\r\n' 17:49:21.274615 < 8 bytes data, client => server 17:49:21.274629 'TYPE I\r\n' 17:49:21.274835 Received DATA (on stdin) 17:49:21.274847 > 33 bytes data, server => client 17:49:21.274857 '200 I modify TYPE as you wanted\r\n' 17:49:21.274906 < 21 bytes data, client => server 17:49:21.274916 'SIZE verifiedserver\r\n' 17:49:21.275026 Received DATA (on stdin) 17:49:21.275037 > 8 bytes data, server => client 17:49:21.275046 '213 17\r\n' 17:49:21.275092 < 21 bytes data, client => server 17:49:21.275103 'RETR verifiedserver\r\n' 17:49:21.275312 Received DATA (on stdin) 17:49:21.275324 > 29 bytes data, server => client 17:49:21.275CMD (33792): ../libtool --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/valgrind251 ../src/curl -q --output log/5/curl251.out --include --trace-ascii log/5/trace251 --trace-time ftp://127.0.0.1:34559/ -P 127.0.0.1 > log/5/stdout251 2> log/5/stderr251 335 '150 Binary junk (17 bytes).\r\n' 17:49:21.276000 Received DATA (on stdin) 17:49:21.276017 > 28 bytes data, server => client 17:49:21.276028 '226 File transfer complete\r\n' 17:49:21.318184 < 6 bytes data, client => server 17:49:21.318214 'QUIT\r\n' 17:49:21.318442 Received DATA (on stdin) 17:49:21.318455 > 18 bytes data, server => client 17:49:21.318466 '221 bye bye baby\r\n' 17:49:21.319425 ====> Client disconnect 17:49:21.319616 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:21.274113 Running IPv4 version 17:49:21.274173 Listening on port 34603 17:49:21.274212 Wrote pid 90801 to log/19/server/ftp_sockdata.pid 17:49:21.274231 Received PING (on stdin) 17:49:21.274315 Received PORT (on stdin) 17:49:21.274650 ====> Client connect 17:49:21.275358 Received DATA (on stdin) 17:49:21.275370 > 17 bytes data, server => client 17:49:21.275381 'WE ROOLZ: 81054\r\n' 17:49:21.275405 Received DISC (on stdin) 17:49:21.275416 ====> Client forcibly disconnected 17:49:21.275556 Received QUIT (on stdin) 17:49:21.275576 quits 17:49:21.275670 ============> 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 ==90826== ==90826== Process terminating with default action of signal 4 (SIGILL) ==90826== Illegal opcode at address 0x4014520 ==90826== at 0x4014520: getparameter (tool_getparam.c:2862) ==90826== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90826== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90826== by 0x4003728: main (tool_main.c:186) === End of file valgrind250 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/5/valgrind251 ../src/curl -q --output log/5/curl251.out --include --trace-ascii log/5/trace251 --trace-time ftp://127.0.0.1:34559/ -P 127.0.0.1 > log/5/stdout251 2> log/5/stderr251 251: 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 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=16 --log-file=log/5/valgrind251 ../src/curl -q --output log/5/curl251.out --include --trace-ascii log/5/trace251 --trace-time ftp://127.0.0.1:34559/ -P 127.0.0.1 > log/5/stdout251 2> log/5/stderr251 === End of file commands.log === Start of file ftp_server.log 17:49:21.442303 ====> Client connect 17:49:21.442489 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:21.442774 < "USER anonymous" 17:49:21.442818 > "331 We are happy you popped in![CR][LF]" 17:49:21.443002 < "PASS ftp@example.com" 17:49:21.443036 > "230 Welcome you silly person[CR][LF]" 17:49:21.443203 < "PWD" 17:49:21.443241 > "257 "/" is current directory[CR][LF]" 17:49:21.443660 < "EPSV" 17:49:21.443692 ====> Passive DATA channel requested by client 17:49:21.443707 DATA sockfilt for passive data channel starting... 17:49:21.445559 DATA sockfilt for passive data channel started (pid 90816) 17:49:21.445674 DATA sockfilt for passive data channel listens on port 39735 17:49:21.445723 > "229 Entering Passive Mode (|||39735|)[CR][LF]" 17:49:21.445742 Client has been notified that DATA conn will be accepted on port 39735 17:49:21.445971 Client connects to port 39735 17:49:21.446002 ====> Client established passive DATA connection on port 39735 17:49:21.446079 < "TYPE I" 17:49:21.446110 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:21.446279 < "SIZE verifiedserver" 17:49:21.446321 > "213 17[CR][LF]" 17:49:21.446486 < "RETR verifiedserver" 17:49:21.446525 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:21.446629 =====> Closing passive DATA connection... 17:49:21.446651 Server disconnects passive DATA connection 17:49:21.446875 Server disconnected passive DATA connection 17:49:21.446937 DATA sockfilt for passive data channel quits (pid 90816) 17:49:21.447969 DATA sockfilt for passive data channel quit (pid 90816) 17:49:21.448006 =====> Closed passive DATA connection 17:49:21.448039 > "226 File transfer complete[CR][LF]" 17:49:21.490323 < "QUIT" 17:49:21.490375 > "221 bye bye baby[CR][LF]" 17:49:21.490781 MAIN sockfilt said DISC 17:49:21.491112 ====> Client disconnected 17:49:21.491198 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:21.288382 ====> Client connect 17:49:21.288692 Received DATA (on stdin) 17:49:21.288708 > 146 bytes data, server => client 17:49:21.288720 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:21.288730 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:21.288740 '220 \___|\___/|_| \_\_____|\r\n' 17:49:21.288816 < 16 bytes data, client => server 17:49:21.288830 'USER anonymous\r\n' 17:49:21.289011 Received DATA (on stdin) 17:49:21.289023 > 33 bytes data, server => client 17:49:21.289034 '331 We are happy you popped in!\r\n' 17:49:21.289088 < 22 bytes data, client => server 17:49:21.289101 'PASS ftp@example.com\r\n' 17:49:21.289226 Received DATA (on stdin) 17:49:21.289237 > 30 bytes data, server => client 17:49:21.289248 '230 Welcome you silly person\r\n' 17:49:21.289299 < 5 bytes data, client => server 17:49:21.289311 'PWD\r\n' 17:49:21.289431 Received DATA (on stdin) 17:49:21.289442 > 30 bytes data, server => client 17:49:21.289453 '257 "/" is current directory\r\n' 17:49:21.289524 < 6 bytes data, client => server 17:49:21.289538 'EPSV\r\n' 17:49:21.291935 Received DATA (on stdin) 17:49:21.291948 > 39 bytes data, server => client 17:49:21.291959 '229 Entering Passive Mode (|||39735|)\r\n' 17:49:21.292077 < 8 bytes data, client => server 17:49:21.292092 'TYPE I\r\n' 17:49:21.292300 Received DATA (on stdin) 17:49:21.292312 > 33 bytes data, server => client 17:49:21.292323 '200 I modify TYPE as you wanted\r\n' 17:49:21.292376 < 21 bytes data, client => server 17:49:21.292388 'SIZE verifiedserver\r\n' 17:49:21.292512 Received DATA (on stdin) 17:49:21.292524 > 8 bytes data, server => client 17:49:21.292533 '213 17\r\n' 17:49:21.292584 < 21 bytes data, client => server 17:49:21.292597 'RETR verifiedserver\r\n' 17:49:21.292872 Received DATA (on stdin) 17:49:21.292884 > 29 bytes data, server => client 17:49:21.292895 '150 Binary junk (17 bytes).\r\n' 17:49:21.294232 Received DATA (on stdin) 17:49:21.294245 > 28 bytes data, server => client 17:49:21.294256 '226 File transfer complete\r\n' 17:49:21.336351 < 6 bytes data, client => server 17:49:21.336374 'QUIT\r\n' 17:49:21.336568 Received DATA (on stdin) 17:49:21.336580 > 18 bytes data, server => client 17:49:21.336590 '221 bye bye baby\r\n' 17:49:21.336920 ====> Client disconnect 17:49:21.337293 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:21.291437 Running IPv4 version 17:49:21.291500 Listening on port 39735 17:49:21.291541 Wrote pid 90816 to log/5/server/ftp_sockdata.pid 17:49:21.291688 Received PING (on stdin) 17:49:21.291774 Received PORT (on stdin) 17:49:21.292113 ====> Client connect 17:49:21.292956 Received DATA (on stdin) 17:49:21.292971 > 17 bytes data, server => client 17:49:21.292981 'WE ROOLZ: 81078\r\n' 17:49:21.293009 Received DISC (on stdin) 17:49:21.293020 ====> Client forcibly disconnected 17:49:21.293150 Received QUIT (on stdin) 17:49:21.293170 quits 17:49:21.293267 ============> 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 ==90851== ==90851== Process terminating with default action of signal 4 (SIGILL) ==90851== Illegal opcode at address 0x4014520 ==90851== 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/21/valgrind256 ../src/curl -q --include --trace-ascii log/21/trace256 --trace-time -x http://127.0.0.1:41669 http://127.0.0.1:41669/want/256 -C - --no-include -o log/21/fewl256.txt -U daniel:stenberg > log/21/stdout256 2> log/21/stderr256 CMD (33792): ../libtool --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/valgrind257 ../src/curl -q --output log/14/curl257.out --include --trace-ascii log/14/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:37569 --netrc-optional --netrc-file log/14/netrc257 > log/14/stdout257 2> log/14/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/16/valgrind258 ../src/curl -q --output log/16/curl258.out --include --trace-ascii log/16/trace258 --trace-time -x http://127.0.0.1:40899 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/16/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/16/stdout258 2> log/16/stderr258 0x4014520: getparameter (tool_getparam.c:2862) ==90851== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90851== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90851== by 0x4003728: main (tool_main.c:186) === End of file valgrind251 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/21/valgrind256 ../src/curl -q --include --trace-ascii log/21/trace256 --trace-time -x http://127.0.0.1:41669 http://127.0.0.1:41669/want/256 -C - --no-include -o log/21/fewl256.txt -U daniel:stenberg > log/21/stdout256 2> log/21/stderr256 256: 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 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/21/valgrind256 ../src/curl -q --include --trace-ascii log/21/trace256 --trace-time -x http://127.0.0.1:41669 http://127.0.0.1:41669/want/256 -C - --no-include -o log/21/fewl256.txt -U daniel:stenberg > log/21/stdout256 2> log/21/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 17:49:21.420849 ====> Client connect 17:49:21.420876 accept_connection 3 returned 4 17:49:21.420888 accept_connection 3 returned 0 17:49:21.420900 Read 93 bytes 17:49:21.420907 Process 93 bytes request 17:49:21.420918 Got request: GET /verifiedserver HTTP/1.1 17:49:21.420925 Are-we-friendly question received 17:49:21.420945 Wrote request (93 bytes) input to log/21/server.input 17:49:21.420957 Identifying ourselves as friends 17:49:21.421000 Response sent (56 bytes) and written to log/21/server.response 17:49:21.421007 special request received, no persistency 17:49:21.421013 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 52990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind256 ==90949== ==90949== Process terminating with default action of signal 4 (SIGILL) ==90949== Illegal opcode at address 0x4014520 ==90949== at 0x4014520: getparameter (tool_getparam.c:2862) ==90949== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==90949== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==90949== by 0x4003728: main (tool_main.c:186) === 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/14/valgrind257 ../src/curl -q --output log/14/curl257.out --include --trace-ascii log/14/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:37569 --netrc-optional --netrc-file log/14/netrc257 > log/14/stdout257 2> log/14/stderr257 257: 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 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/14/valgrind257 ../src/curl -q --output log/14/curl257.out --include --trace-ascii log/14/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:37569 --netrc-optional --netrc-file log/14/netrc257 > log/14/stdout257 2> log/14/stderr257 === End of file commands.log === Start of file http_server.log 17:49:22.449520 ====> Client connect 17:49:22.449556 accept_connection 3 returned 4 17:49:22.449574 accept_connection 3 returned 0 17:49:22.449588 Read 93 bytes 17:49:22.449597 Process 93 bytes request 17:49:22.449610 Got request: GET /verifiedserver HTTP/1.1 17:49:22.449619 Are-we-friendly question received 17:49:22.449641 Wrote request (93 bytes) input to log/14/server.input 17:49:22.449657 Identifying ourselves as friends 17:49:22.449711 Response sent (56 bytes) and written to log/14/server.response 17:49:22.449720 special request received, no persistency 17:49:22.449729 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 46856 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind257 ==91013== ==91013== Process terminating with default action of signal 4 (SIGILL) ==91013== Illegal opcode at address 0x4014520 ==91013== at 0x4014520: getparameter (tool_getparam.c:2862) ==91013== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91013== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91013== by 0x4003728: main (tool_main.c:186) === End of file valgrind257 test 0258...[HTTP POST multipart without 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/16/valgrind258 ../src/curl -q --output log/16/curl258.out --include --trace-ascii log/16/trace258 --trace-time -x http://127.0.0.1:40899 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/16/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/16/stdout258 2> log/16/stderr258 258: 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 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/16/valgrind258 ../src/curl -q --output log/16/curl258.out --include --trace-ascii log/16/trace258 --trace-time -x http://127.0.0.1:40899 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/16/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/16/stdout258 2> log/16/stderr258 === End of file commands.log === Start of file http_server.log 17:49:21.544438 ====> Client connect 17:49:21.544465 accept_connection 3 returned 4 17:49:21.544479 accept_connection 3 returned 0 17:49:21.544490 Read 93 bytes 17:49:21.544497 Process 93 bytes request 17:49:21.544509 Got requCMD (33792): ../libtool --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/valgrind260 ../src/curl -q --output log/18/curl260.out --include --trace-ascii log/18/trace260 --trace-time "http://127.0.0.1:34067?260" > log/18/stdout260 2> log/18/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/1/valgrind259 ../src/curl -q --output log/1/curl259.out --include --trace-ascii log/1/trace259 --trace-time -x http://127.0.0.1:39589 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/1/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/1/stdout259 2> log/1/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/24/valgrind240 ../src/curl -q --output log/24/curl240.out --include --trace-ascii log/24/trace240 --trace-time -g "http://[::1]:39387/240" > log/24/stdout240 2> log/24/stderr240 est: GET /verifiedserver HTTP/1.1 17:49:21.544516 Are-we-friendly question received 17:49:21.544538 Wrote request (93 bytes) input to log/16/server.input 17:49:21.544551 Identifying ourselves as friends 17:49:21.544601 Response sent (56 bytes) and written to log/16/server.response 17:49:21.544609 special request received, no persistency 17:49:21.544616 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 58780 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === 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 ==91098== ==91098== Process terminating with default action of signal 4 (SIGILL) ==91098== Illegal opcode at address 0x4014520 ==91098== at 0x4014520: getparameter (tool_getparam.c:2862) ==91098== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91098== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91098== by 0x4003728: main (tool_main.c:186) === End of file valgrind258 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/18/valgrind260 ../src/curl -q --output log/18/curl260.out --include --trace-ascii log/18/trace260 --trace-time "http://127.0.0.1:34067?260" > log/18/stdout260 2> log/18/stderr260 260: 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 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/18/valgrind260 ../src/curl -q --output log/18/curl260.out --include --trace-ascii log/18/trace260 --trace-time "http://127.0.0.1:34067?260" > log/18/stdout260 2> log/18/stderr260 === End of file commands.log === Start of file http_server.log 17:49:21.651512 ====> Client connect 17:49:21.651545 accept_connection 3 returned 4 17:49:21.651560 accept_connection 3 returned 0 17:49:21.651574 Read 93 bytes 17:49:21.651583 Process 93 bytes request 17:49:21.651593 Got request: GET /verifiedserver HTTP/1.1 17:49:21.651602 Are-we-friendly question received 17:49:21.651629 Wrote request (93 bytes) input to log/18/server.input 17:49:21.651645 Identifying ourselves as friends 17:49:21.651703 Response sent (56 bytes) and written to log/18/server.response 17:49:21.651714 special request received, no persistency 17:49:21.651722 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 57466 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind260 ==91192== ==91192== Process terminating with default action of signal 4 (SIGILL) ==91192== Illegal opcode at address 0x4014520 ==91192== at 0x4014520: getparameter (tool_getparam.c:2862) ==91192== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91192== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91192== by 0x4003728: main (tool_main.c:186) === End of file valgrind260 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/1/valgrind259 ../src/curl -q --output log/1/curl259.out --include --trace-ascii log/1/trace259 --trace-time -x http://127.0.0.1:39589 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/1/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/1/stdout259 2> log/1/stderr259 259: 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 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/1/valgrind259 ../src/curl -q --output log/1/curl259.out --include --trace-ascii log/1/trace259 --trace-time -x http://127.0.0.1:39589 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/1/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/1/stdout259 2> log/1/stderr259 === End of file commands.log === Start of file http_server.log 17:49:21.649071 ====> Client connect 17:49:21.649103 accept_connection 3 returned 4 17:49:21.649120 accept_connection 3 returned 0 17:49:21.649134 Read 93 bytes 17:49:21.649144 Process 93 bytes request 17:49:21.649156 Got request: GET /verifiedserver HTTP/1.1 17:49:21.649165 Are-we-friendly question received 17:49:21.649190 Wrote request (93 bytes) input to log/1/server.input 17:49:21.649206 Identifying ourselves as friends 17:49:21.649262 Response sent (56 bytes) and written to log/1/server.response 17:49:21.649272 special request received, no persistency 17:49:21.649281 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42898 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === 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 ==91202== ==91202== Process terminating with default action of signal 4 (SIGILL) ==91202== Illegal opcode at address 0x4014520 ==91202== at 0x4014520: getparameter (tool_getparam.c:2862) ==91202== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91202== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91202== by 0x4003728: main (tool_main.c:186) === End of file valgrind259 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/24/server/http_ipv6_server.pid" --logfile "log/24/http_ipv6_server.log" --logdir "log/24" --portfile log/24/server/http_ipv6_server.port --config log/24/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PICMD (33792): ../libtool --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/valgrind261 ../src/curl -q --output log/15/curl261.out --include --trace-ascii log/15/trace261 --trace-time ftp://127.0.0.1:44375/261 > log/15/stdout261 2> log/15/stderr261 D 90172 port 39387 * pid http-ipv6 => 90172 90172 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/24/valgrind240 ../src/curl -q --output log/24/curl240.out --include --trace-ascii log/24/trace240 --trace-time -g "http://[::1]:39387/240" > log/24/stdout240 2> log/24/stderr240 240: 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 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/24/valgrind240 ../src/curl -q --output log/24/curl240.out --include --trace-ascii log/24/trace240 --trace-time -g "http://[::1]:39387/240" > log/24/stdout240 2> log/24/stderr240 === End of file commands.log === Start of file http_ipv6_server.log 17:49:20.836211 Running HTTP IPv6 version on port 39387 17:49:20.836298 Wrote pid 90172 to log/24/server/http_ipv6_server.pid 17:49:20.836324 Wrote port 39387 to log/24/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 ==91329== ==91329== Process terminating with default action of signal 4 (SIGILL) ==91329== Illegal opcode at address 0x4014520 ==91329== at 0x4014520: getparameter (tool_getparam.c:2862) ==91329== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91329== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91329== by 0x4003728: main (tool_main.c:186) === End of file valgrind240 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/15/valgrind261 ../src/curl -q --output log/15/curl261.out --include --trace-ascii log/15/trace261 --trace-time ftp://127.0.0.1:44375/261 > log/15/stdout261 2> log/15/stderr261 261: 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 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/15/valgrind261 ../src/curl -q --output log/15/curl261.out --include --trace-ascii log/15/trace261 --trace-time ftp://127.0.0.1:44375/261 > log/15/stdout261 2> log/15/stderr261 === End of file commands.log === Start of file ftp_server.log 17:49:21.932051 ====> Client connect 17:49:21.932213 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:21.932516 < "USER anonymous" 17:49:21.932547 > "331 We are happy you popped in![CR][LF]" 17:49:21.932700 < "PASS ftp@example.com" 17:49:21.932724 > "230 Welcome you silly person[CR][LF]" 17:49:21.932858 < "PWD" 17:49:21.932883 > "257 "/" is current directory[CR][LF]" 17:49:21.933026 < "EPSV" 17:49:21.933049 ====> Passive DATA channel requested by client 17:49:21.933061 DATA sockfilt for passive data channel starting... 17:49:21.934822 DATA sockfilt for passive data channel started (pid 91316) 17:49:21.934914 DATA sockfilt for passive data channel listens on port 40095 17:49:21.934952 > "229 Entering Passive Mode (|||40095|)[CR][LF]" 17:49:21.934968 Client has been notified that DATA conn will be accepted on port 40095 17:49:21.935147 Client connects to port 40095 17:49:21.935174 ====> Client established passive DATA connection on port 40095 17:49:21.935270 < "TYPE I" 17:49:21.935295 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:21.935426 < "SIZE verifiedserver" 17:49:21.935460 > "213 17[CR][LF]" 17:49:21.935596 < "RETR verifiedserver" 17:49:21.935624 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:21.935697 =====> Closing passive DATA connection... 17:49:21.935712 Server disconnects passive DATA connection 17:49:21.935906 Server disconnected passive DATA connection 17:49:21.935931 DATA sockfilt for passive data channel quits (pid 91316) 17:49:21.936110 DATA sockfilt for passive data channel quit (pid 91316) 17:49:21.936131 =====> Closed passive DATA connection 17:49:21.936153 > "226 File transfer complete[CR][LF]" 17:49:21.981499 < "QUIT" 17:49:21.981554 > "221 bye bye baby[CR][LF]" 17:49:21.982766 MAIN sockfilt said DISC 17:49:21.982806 ====> Client disconnected 17:49:21.982870 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:21.778136 ====> Client connect 17:49:21.778410 Received DATA (on stdin) 17:49:21.778424 > 146 bytes data, server => client 17:49:21.778435 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:21.778445 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:21.778454 '220 \___|\___/|_| \_\_____|\r\n' 17:49:21.778561 < 16 bytes data, client => server 17:49:21.778573 'USER anonymous\r\n' 17:49:21.778737 Received DATA (on stdin) 17:49:21.778747 > 33 bytes data, server => client 17:49:21.778757 '331 We are happy you popped in!\r\n' 17:49:21.778805 < 22 bytes data, client => server 17:49:21.778815 'PASS ftp@example.com\r\n' 17:49:21.778909 Received DATA (on stdin) 17:49:21.778919 > 30 bytes data, server => client 17:49:21.778929 '230 Welcome you silly person\r\n' 17:49:21.778972 < 5 bytes data, client => server 17:49:21.778981 'PWD\r\n' 17:49:21.779067 Received DATA (on stdin) 17:49:21.779076 > 30 bytes data, server => client 17:49:21.779086 '257 "/" is current directory\r\n' 17:49:21.779139 < 6 bytes data, client => server 17:49:21.779148 'EPSV\r\n' 17:49:21.781157 Received DATA (on stdin) 17:49:21.781169 > 39 bytes data, server => client 17:49:21.781179 '229 Entering Passive Mode (|||40095|)\r\n' 17:49:21.781371 < 8 bytes data, client => server 17:49:21.781381 'TYPE I\r\n' 17:49:21.781480 Received DATA (on stdin) 17:49:21.781489 > 33 bytes data, server => client 17:49:21.781499 '200 I modify TYPE as you wanted\r\n' 17:49:21.781541 < 21 bytes data, client => server 17:49:21.781551 'SIZE verifiedserver\r\n' 17:49:21.781644 Received DATA (on stdin) 17:49:21.781653 > 8 bytes data, server => client 17:49:21.781661 '213 17\r\n' 17:49:21.781710 < 21 bytes data, client => server 17:49:21.781720 'RETR verifiedserver\r\n' 17:49:21.781899 Received DATA (on stdin) 17:49:21.781909 > 29 bytes data, server => client 17:49:21.781918 '150 Binary junk (17 bytes).\r\n' 17:49:21.782339 Received DATA (on stdin) 17:49:21.782350 > 28 bytes data, server => client 17:49:21.782360 '226 File transfer complete\r\n' 17:49:21.827519 < 6 bytes data, client => server 17:49:21.827544 'QUIT\r\n' 17:49:21.827748 Received DATA (on stdin) 17:49:21.827760 > 18 bytes data, server => client 17:49:21.827770 '221 bye bye baby\r\n' 17:49:21.828896 ====> Client disconnect 17:49:21.829058 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:21.780738 Running IPv4 version 17:49:21.780788 Listening on port 40095 17:49:21.780822 Wrote pid 91316 to log/15/server/ftp_sockdata.pid 17:49:21.780959 Received PING (on stdin) 17:49:21.781026 Received PORT (on stdin) 17:49:21.781289 ====> Client connect 17:49:21.781940 Received DATA (on stdin) 17:49:21.781950 > 17 bytes data, server => client 17:49:21.781960 'WE ROOLZ: 81145\r\n' 17:49:21.781979 Received DISC (on stdin) 17:49:21.781988 ====> Client forcibly disconnected 17:49:21.782123 Received QUIT (on stdin) 17:49:21.782132 quits 17:49:21.782186 ============> 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 ==91355== CMD (33792): ../libtool --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/valgrind241 ../src/curl -q --output log/7/curl241.out --include --trace-ascii log/7/trace241 --trace-time -g "http://ip6-localhost:36367/241" > log/7/stdout241 2> log/7/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/11/valgrind262 ../src/curl -q --output log/11/curl262.out --include --trace-ascii log/11/trace262 --trace-time http://127.0.0.1:46439/262 > log/11/stdout262 2> log/11/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/9/valgrind242 ../src/curl -q --output log/9/curl242.out --include --trace-ascii log/9/trace242 --trace-time -g "http://foobar:barfoo@[::1]:44727/242" > log/9/stdout242 2> log/9/stderr242 CMD (33792): ../libtool --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/valgrind265 ../src/curl -q --output log/23/curl265.out --include --trace-ascii log/23/trace265 --trace-time http://test.remote.example.com.265:39173/path/2650002 --proxy http://127.0.0.1:39173 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/23/stdout265 2> log/23/stderr265 ==91355== Process terminating with default action of signal 4 (SIGILL) ==91355== Illegal opcode at address 0x4014520 ==91355== at 0x4014520: getparameter (tool_getparam.c:2862) ==91355== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91355== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91355== by 0x4003728: main (tool_main.c:186) === End of file valgrind261 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/7/server/http_ipv6_server.pid" --logfile "log/7/http_ipv6_server.log" --logdir "log/7" --portfile log/7/server/http_ipv6_server.port --config log/7/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 90198 port 36367 * pid http-ipv6 => 90198 90198 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/7/valgrind241 ../src/curl -q --output log/7/curl241.out --include --trace-ascii log/7/trace241 --trace-time -g "http://ip6-localhost:36367/241" > log/7/stdout241 2> log/7/stderr241 241: 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 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/7/valgrind241 ../src/curl -q --output log/7/curl241.out --include --trace-ascii log/7/trace241 --trace-time -g "http://ip6-localhost:36367/241" > log/7/stdout241 2> log/7/stderr241 === End of file commands.log === Start of file http_ipv6_server.log 17:49:21.868207 Running HTTP IPv6 version on port 36367 17:49:21.868288 Wrote pid 90198 to log/7/server/http_ipv6_server.pid 17:49:21.868313 Wrote port 36367 to log/7/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 ==91447== ==91447== Process terminating with default action of signal 4 (SIGILL) ==91447== Illegal opcode at address 0x4014520 ==91447== at 0x4014520: getparameter (tool_getparam.c:2862) ==91447== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91447== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91447== by 0x4003728: main (tool_main.c:186) === End of file valgrind241 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/11/valgrind262 ../src/curl -q --output log/11/curl262.out --include --trace-ascii log/11/trace262 --trace-time http://127.0.0.1:46439/262 > log/11/stdout262 2> log/11/stderr262 262: 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 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/11/valgrind262 ../src/curl -q --output log/11/curl262.out --include --trace-ascii log/11/trace262 --trace-time http://127.0.0.1:46439/262 > log/11/stdout262 2> log/11/stderr262 === End of file commands.log === Start of file http_server.log 17:49:21.836968 ====> Client connect 17:49:21.837001 accept_connection 3 returned 4 17:49:21.837017 accept_connection 3 returned 0 17:49:21.837032 Read 93 bytes 17:49:21.837041 Process 93 bytes request 17:49:21.837054 Got request: GET /verifiedserver HTTP/1.1 17:49:21.837063 Are-we-friendly question received 17:49:21.837089 Wrote request (93 bytes) input to log/11/server.input 17:49:21.837107 Identifying ourselves as friends 17:49:21.837170 Response sent (56 bytes) and written to log/11/server.response 17:49:21.837180 special request received, no persistency 17:49:21.837189 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 36190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind262 ==91378== ==91378== Process terminating with default action of signal 4 (SIGILL) ==91378== Illegal opcode at address 0x4014520 ==91378== at 0x4014520: getparameter (tool_getparam.c:2862) ==91378== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91378== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91378== by 0x4003728: main (tool_main.c:186) === End of file valgrind262 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 90218 port 44727 * pid http-ipv6 => 90218 90218 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/9/valgrind242 ../src/curl -q --output log/9/curl242.out --include --trace-ascii log/9/trace242 --trace-time -g "http://foobar:barfoo@[::1]:44727/242" > log/9/stdout242 2> log/9/stderr242 242: 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 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 --num-callers=16 --log-file=log/9/valgrind242 ../src/curl -q --output log/9/curl242.out --include --trace-ascii log/9/trace242 --trace-time -g "http://foobar:barfoo@[::1]:44727/242" > log/9/stdout242 2> log/9/stderr242 === End of file commands.log === Start of file http_ipv6_server.log 17:49:21.887230 Running HTTP IPv6 version on port 44727 17:49:21.887329 Wrote pid 90218 to log/9/server/http_ipv6_server.pid 17:49:21.887362 Wrote port 44727 to log/9/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 ==91479== ==91479== Process terminating with default action of signal 4 (SIGILL) ==91479== Illegal opcode at address 0x4014520 ==91479== at 0x4014520: getparameter (tool_getparam.c:2862) ==91479== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91479== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91479== by 0x4003728: main (tool_main.c:186) === End of file valgrind242 test 0265...[HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407] ../libtool --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/valgrind265 ../src/curl -q --output log/23/curl265.out --include --trace-ascii log/23/trace265 --trace-time http://test.remote.example.com.265:39173/path/2650CMD (33792): ../libtool --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/valgrind264 ../src/curl -q --output log/13/curl264.out --include --trace-ascii log/13/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:43845 > log/13/stdout264 2> log/13/stderr264 CMD (33792): ../libtool --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/valgrind267 ../src/curl -q --output log/17/curl267.out --include --trace-ascii log/17/trace267 --trace-time http://127.0.0.1:44593/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/17/stdout267 2> log/17/stderr267 002 --proxy http://127.0.0.1:39173 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/23/stdout265 2> log/23/stderr265 265: 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 265 === Start of file commands.log ../libtool --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/valgrind265 ../src/curl -q --output log/23/curl265.out --include --trace-ascii log/23/trace265 --trace-time http://test.remote.example.com.265:39173/path/2650002 --proxy http://127.0.0.1:39173 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/23/stdout265 2> log/23/stderr265 === End of file commands.log === Start of file http_server.log 17:49:22.921480 ====> Client connect 17:49:22.921511 accept_connection 3 returned 4 17:49:22.921527 accept_connection 3 returned 0 17:49:22.921541 Read 93 bytes 17:49:22.921550 Process 93 bytes request 17:49:22.921562 Got request: GET /verifiedserver HTTP/1.1 17:49:22.921571 Are-we-friendly question received 17:49:22.921595 Wrote request (93 bytes) input to log/23/server.input 17:49:22.921611 Identifying ourselves as friends 17:49:22.921664 Response sent (56 bytes) and written to log/23/server.response 17:49:22.921673 special request received, no persistency 17:49:22.921682 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 53830 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === End of file http_verify.out === Start of file server.cmd Testnum 265 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74812 === End of file server.response === Start of file valgrind265 ==91652== ==91652== Process terminating with default action of signal 4 (SIGILL) ==91652== Illegal opcode at address 0x4014520 ==91652== at 0x4014520: getparameter (tool_getparam.c:2862) ==91652== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91652== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91652== by 0x4003728: main (tool_main.c:186) === End of file valgrind265 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/13/valgrind264 ../src/curl -q --output log/13/curl264.out --include --trace-ascii log/13/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:43845 > log/13/stdout264 2> log/13/stderr264 264: 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 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/13/valgrind264 ../src/curl -q --output log/13/curl264.out --include --trace-ascii log/13/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:43845 > log/13/stdout264 2> log/13/stderr264 === End of file commands.log === Start of file http_server.log 17:49:22.901795 ====> Client connect 17:49:22.901832 accept_connection 3 returned 4 17:49:22.901848 accept_connection 3 returned 0 17:49:22.901862 Read 93 bytes 17:49:22.901871 Process 93 bytes request 17:49:22.901884 Got request: GET /verifiedserver HTTP/1.1 17:49:22.901892 Are-we-friendly question received 17:49:22.901919 Wrote request (93 bytes) input to log/13/server.input 17:49:22.901934 Identifying ourselves as friends 17:49:22.901990 Response sent (56 bytes) and written to log/13/server.response 17:49:22.901999 special request received, no persistency 17:49:22.902007 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 44852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind264 ==91600== ==91600== Process terminating with default action of signal 4 (SIGILL) ==91600== Illegal opcode at address 0x4014520 ==91600== at 0x4014520: getparameter (tool_getparam.c:2862) ==91600== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91600== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91600== by 0x4003728: main (tool_main.c:186) === End of file valgrind264 test 0267...[HTTP POST with NTLM authorization and added custom 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/17/valgrind267 ../src/curl -q --output log/17/curl267.out --include --trace-ascii log/17/trace267 --trace-time http://127.0.0.1:44593/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/17/stdout267 2> log/17/stderr267 267: 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 267 === Start of file commands.log ../libtool --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/valgrind267 ../src/curl -q --output log/17/curl267.out --include --trace-ascii log/17/trace267 --trace-time http://127.0.0.1:44593/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/17/stdout267 2> log/17/stderr267 === End of file commands.log === Start of file http_server.log 17:49:21.975363 ====> Client connect 17:49:21.975392 accept_connection 3 returned 4 17:49:21.975406 accept_connection 3 returned 0 17:49:21.975419 Read 93 bytes 17:49:21.975427 Process 93 bytes request 17:49:21.975437 Got request: GET /verifiedserver HTTP/1.1 17:49:21.975445 Are-we-friendly question received 17:49:21.975616 Wrote request (93 bytes) input to log/17/server.input 17:49:21.975633 Identifying ourselves as friends 17:49:21.975690 Response sent (56 bytes) and written to log/17/server.response 17:49:21.975699 special request received, no persistency 17:49:21.975707 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 36882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === End of file http_verify.out === Start of file server.cmd Testnum 267 === End of file server.cmd === 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/20/valgrind266 ../src/curl -q --output log/20/curl266.out --include --trace-ascii log/20/trace266 --trace-time http://127.0.0.1:46725/266 -D log/20/heads266 > log/20/stdout266 2> log/20/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/4/valgrind268 ../src/curl -q --output log/4/curl268.out --include --trace-ascii log/4/trace268 --trace-time http://127.0.0.1:34411/268 --variable hello@log/4/junk --expand-data {{hello:json}} > log/4/stdout268 2> log/4/stderr268 CMD (33792): ../libtool --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/valgrind269 ../src/curl -q --output log/8/curl269.out --include --trace-ascii log/8/trace269 --trace-time http://127.0.0.1:42045/269 --ignore-content-length > log/8/stdout269 2> log/8/stderr269 ver.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74818 === End of file server.response === Start of file valgrind267 ==91753== ==91753== Process terminating with default action of signal 4 (SIGILL) ==91753== Illegal opcode at address 0x4014520 ==91753== at 0x4014520: getparameter (tool_getparam.c:2862) ==91753== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91753== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91753== by 0x4003728: main (tool_main.c:186) === End of file valgrind267 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/20/valgrind266 ../src/curl -q --output log/20/curl266.out --include --trace-ascii log/20/trace266 --trace-time http://127.0.0.1:46725/266 -D log/20/heads266 > log/20/stdout266 2> log/20/stderr266 266: 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 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/20/valgrind266 ../src/curl -q --output log/20/curl266.out --include --trace-ascii log/20/trace266 --trace-time http://127.0.0.1:46725/266 -D log/20/heads266 > log/20/stdout266 2> log/20/stderr266 === End of file commands.log === Start of file http_server.log 17:49:21.973102 ====> Client connect 17:49:21.973134 accept_connection 3 returned 4 17:49:21.973150 accept_connection 3 returned 0 17:49:21.973164 Read 93 bytes 17:49:21.973174 Process 93 bytes request 17:49:21.973187 Got request: GET /verifiedserver HTTP/1.1 17:49:21.973196 Are-we-friendly question received 17:49:21.973281 Wrote request (93 bytes) input to log/20/server.input 17:49:21.973301 Identifying ourselves as friends 17:49:21.973360 Response sent (56 bytes) and written to log/20/server.response 17:49:21.973371 special request received, no persistency 17:49:21.973379 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 38548 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind266 ==91740== ==91740== Process terminating with default action of signal 4 (SIGILL) ==91740== Illegal opcode at address 0x4014520 ==91740== at 0x4014520: getparameter (tool_getparam.c:2862) ==91740== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91740== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91740== by 0x4003728: main (tool_main.c:186) === End of file valgrind266 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/4/valgrind268 ../src/curl -q --output log/4/curl268.out --include --trace-ascii log/4/trace268 --trace-time http://127.0.0.1:34411/268 --variable hello@log/4/junk --expand-data {{hello:json}} > log/4/stdout268 2> log/4/stderr268 268: 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 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/4/valgrind268 ../src/curl -q --output log/4/curl268.out --include --trace-ascii log/4/trace268 --trace-time http://127.0.0.1:34411/268 --variable hello@log/4/junk --expand-data {{hello:json}} > log/4/stdout268 2> log/4/stderr268 === End of file commands.log === Start of file http_server.log 17:49:22.052591 ====> Client connect 17:49:22.052623 accept_connection 3 returned 4 17:49:22.052637 accept_connection 3 returned 0 17:49:22.052651 Read 93 bytes 17:49:22.052659 Process 93 bytes request 17:49:22.052672 Got request: GET /verifiedserver HTTP/1.1 17:49:22.052680 Are-we-friendly question received 17:49:22.052702 Wrote request (93 bytes) input to log/4/server.input 17:49:22.052716 Identifying ourselves as friends 17:49:22.052765 Response sent (56 bytes) and written to log/4/server.response 17:49:22.052774 special request received, no persistency 17:49:22.052781 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 54672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind268 ==91880== ==91880== Process terminating with default action of signal 4 (SIGILL) ==91880== Illegal opcode at address 0x4014520 ==91880== at 0x4014520: getparameter (tool_getparam.c:2862) ==91880== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91880== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91880== by 0x4003728: main (tool_main.c:186) === End of file valgrind268 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/8/valgrind269 ../src/curl -q --output log/8/curl269.out --include --trace-ascii log/8/trace269 --trace-time http://127.0.0.1:42045/269 --ignore-content-length > log/8/stdout269 2> log/8/stderr269 269: 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 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/8/valgrind269 ../src/curl -q --output log/8/curl269.out --include --trace-ascii log/8/trace269 --trace-time http://127.0.0.1:42045/269 --ignore-content-length > log/8/stdout269 2> log/8/stderr269 === End of file commands.log === Start of file http_server.log 17:49:22.055273 ====> Client connect 17:49:22.055304 accept_connection 3 returned 4 17:49:22.055321 accept_connection 3 returned 0 17:49:22.055334 Read 93 bytes 17:49:22.055344 Process 93 bytes request 17:49:22.055355 Got request: GET /verifiedserver HTTP/1.1 17:49:22.055364 Are-we-friendly question received 17:49:22.055390 Wrote request (93 bytes) input to log/8/server.input 17:49:22.055407 Identifying ourselves as friends 17:49:22.055465 Response sent (56 bytes) and written to log/8/server.response 17:49:22.055475 special request received, no persistency 17:49:22.055484 ====> Client disconnect 0 === End of file http_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/12/valgrind270 ../src/curl -q --output log/12/curl270.out --include --trace-ascii log/12/trace270 --trace-time ftp://127.0.0.1:38035/270 --ftp-skip-pasv-ip --disable-epsv > log/12/stdout270 2> log/12/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/10/valgrind252 ../src/curl -q --output log/10/curl252.out --include --trace-ascii log/10/trace252 --trace-time -g "ftp://[::1]:34731/" > log/10/stdout252 2> log/10/stderr252 erver.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind269 ==91882== ==91882== Process terminating with default action of signal 4 (SIGILL) ==91882== Illegal opcode at address 0x4014520 ==91882== at 0x4014520: getparameter (tool_getparam.c:2862) ==91882== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==91882== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==91882== by 0x4003728: main (tool_main.c:186) === 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/12/valgrind270 ../src/curl -q --output log/12/curl270.out --include --trace-ascii log/12/trace270 --trace-time ftp://127.0.0.1:38035/270 --ftp-skip-pasv-ip --disable-epsv > log/12/stdout270 2> log/12/stderr270 270: 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 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/12/valgrind270 ../src/curl -q --output log/12/curl270.out --include --trace-ascii log/12/trace270 --trace-time ftp://127.0.0.1:38035/270 --ftp-skip-pasv-ip --disable-epsv > log/12/stdout270 2> log/12/stderr270 === End of file commands.log === Start of file ftp_server.log 17:49:22.300346 ====> Client connect 17:49:22.300481 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:22.300707 < "USER anonymous" 17:49:22.300740 > "331 We are happy you popped in![CR][LF]" 17:49:22.300874 < "PASS ftp@example.com" 17:49:22.300896 > "230 Welcome you silly person[CR][LF]" 17:49:22.301007 < "PWD" 17:49:22.301030 > "257 "/" is current directory[CR][LF]" 17:49:22.301144 < "EPSV" 17:49:22.301165 ====> Passive DATA channel requested by client 17:49:22.301175 DATA sockfilt for passive data channel starting... 17:49:22.302889 DATA sockfilt for passive data channel started (pid 91998) 17:49:22.302987 DATA sockfilt for passive data channel listens on port 40641 17:49:22.303026 > "229 Entering Passive Mode (|||40641|)[CR][LF]" 17:49:22.303042 Client has been notified that DATA conn will be accepted on port 40641 17:49:22.303251 Client connects to port 40641 17:49:22.303280 ====> Client established passive DATA connection on port 40641 17:49:22.303386 < "TYPE I" 17:49:22.303418 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:22.303573 < "SIZE verifiedserver" 17:49:22.303614 > "213 17[CR][LF]" 17:49:22.303761 < "RETR verifiedserver" 17:49:22.303795 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:22.303883 =====> Closing passive DATA connection... 17:49:22.303899 Server disconnects passive DATA connection 17:49:22.304078 Server disconnected passive DATA connection 17:49:22.304149 DATA sockfilt for passive data channel quits (pid 91998) 17:49:22.304434 DATA sockfilt for passive data channel quit (pid 91998) 17:49:22.304454 =====> Closed passive DATA connection 17:49:22.304493 > "226 File transfer complete[CR][LF]" 17:49:22.353498 < "QUIT" 17:49:22.353562 > "221 bye bye baby[CR][LF]" 17:49:22.353888 MAIN sockfilt said DISC 17:49:22.353915 ====> Client disconnected 17:49:22.354007 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:22.146438 ====> Client connect 17:49:22.146674 Received DATA (on stdin) 17:49:22.146685 > 146 bytes data, server => client 17:49:22.146694 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:22.146701 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:22.146708 '220 \___|\___/|_| \_\_____|\r\n' 17:49:22.146767 < 16 bytes data, client => server 17:49:22.146776 'USER anonymous\r\n' 17:49:22.146926 Received DATA (on stdin) 17:49:22.146935 > 33 bytes data, server => client 17:49:22.146943 '331 We are happy you popped in!\r\n' 17:49:22.146985 < 22 bytes data, client => server 17:49:22.146993 'PASS ftp@example.com\r\n' 17:49:22.147078 Received DATA (on stdin) 17:49:22.147086 > 30 bytes data, server => client 17:49:22.147094 '230 Welcome you silly person\r\n' 17:49:22.147128 < 5 bytes data, client => server 17:49:22.147135 'PWD\r\n' 17:49:22.147211 Received DATA (on stdin) 17:49:22.147219 > 30 bytes data, server => client 17:49:22.147226 '257 "/" is current directory\r\n' 17:49:22.147267 < 6 bytes data, client => server 17:49:22.147274 'EPSV\r\n' 17:49:22.149231 Received DATA (on stdin) 17:49:22.149242 > 39 bytes data, server => client 17:49:22.149251 '229 Entering Passive Mode (|||40641|)\r\n' 17:49:22.149360 < 8 bytes data, client => server 17:49:22.149373 'TYPE I\r\n' 17:49:22.149606 Received DATA (on stdin) 17:49:22.149617 > 33 bytes data, server => client 17:49:22.149627 '200 I modify TYPE as you wanted\r\n' 17:49:22.149675 < 21 bytes data, client => server 17:49:22.149685 'SIZE verifiedserver\r\n' 17:49:22.149801 Received DATA (on stdin) 17:49:22.149812 > 8 bytes data, server => client 17:49:22.149821 '213 17\r\n' 17:49:22.149869 < 21 bytes data, client => server 17:49:22.149878 'RETR verifiedserver\r\n' 17:49:22.150087 Received DATA (on stdin) 17:49:22.150098 > 29 bytes data, server => client 17:49:22.150107 '150 Binary junk (17 bytes).\r\n' 17:49:22.150694 Received DATA (on stdin) 17:49:22.150713 > 28 bytes data, server => client 17:49:22.150724 '226 File transfer complete\r\n' 17:49:22.199469 < 6 bytes data, client => server 17:49:22.199509 'QUIT\r\n' 17:49:22.199776 Received DATA (on stdin) 17:49:22.199788 > 18 bytes data, server => client 17:49:22.199799 '221 bye bye baby\r\n' 17:49:22.200027 ====> Client disconnect 17:49:22.200194 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:22.148746 Running IPv4 version 17:49:22.148810 Listening on port 40641 17:49:22.148854 Wrote pid 91998 to log/12/server/ftp_sockdata.pid 17:49:22.149019 Received PING (on stdin) 17:49:22.149097 Received PORT (on stdin) 17:49:22.149392 ====> Client connect 17:49:22.150163 Received DATA (on stdin) 17:49:22.150176 > 17 bytes data, server => client 17:49:22.150186 'WE ROOLZ: 81047\r\n' 17:49:22.150211 Received DISC (on stdin) 17:49:22.150222 ====> Client forcibly disconnected 17:49:22.150361 Received QUIT (on stdin) 17:49:22.150372 quits 17:49:22.150460 ============> 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 ==92002== ==92002== Process terminating with default action of signal 4 (SIGILL) ==92002== Illegal opcode at address 0x4014520 ==92002== at 0x4014520: getparameter (tool_getparam.c:2862) ==92002== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92002== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92002== by 0x4003728: main (tool_main.c:186) === End of file valgrind270 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/servCMD (33792): ../libtool --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/valgrind253 ../src/curl -q --output log/6/curl253.out --include --trace-ascii log/6/trace253 --trace-time -g "ftp://[::1]:39161/" -P - > log/6/stdout253 2> log/6/stderr253 CMD (33792): ../libtool --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]:40409/" --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/3/valgrind255 ../src/curl -q --output log/3/curl255.out --include --trace-ascii log/3/trace255 --trace-time -g "ftp://[::1]:43397/" -P - --disable-eprt > log/3/stdout255 2> log/3/stderr255 er/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 34731 (log/10/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90815 port 34731 * pid ftp-ipv6 => 90815 90815 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/10/valgrind252 ../src/curl -q --output log/10/curl252.out --include --trace-ascii log/10/trace252 --trace-time -g "ftp://[::1]:34731/" > log/10/stdout252 2> log/10/stderr252 252: 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 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/10/valgrind252 ../src/curl -q --output log/10/curl252.out --include --trace-ascii log/10/trace252 --trace-time -g "ftp://[::1]:34731/" > log/10/stdout252 2> log/10/stderr252 === End of file commands.log === Start of file ftp_ipv6_server.log 17:49:21.478889 FTP server listens on port IPv6/34731 17:49:21.478988 logged pid 90815 in log/10/server/ftp_ipv6_server.pid 17:49:21.479019 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 17:49:21.324632 Running IPv6 version 17:49:21.324704 Listening on port 34731 17:49:21.324750 Wrote pid 90820 to log/10/server/ftp_ipv6_sockctrl.pid 17:49:21.324782 Wrote port 34731 to log/10/server/ftp_ipv6_server.port 17:49:21.324979 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 ==92058== ==92058== Process terminating with default action of signal 4 (SIGILL) ==92058== Illegal opcode at address 0x4014520 ==92058== at 0x4014520: getparameter (tool_getparam.c:2862) ==92058== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92058== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92058== by 0x4003728: main (tool_main.c:186) === End of file valgrind252 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/ftp_ipv6_server.pid" --logfile "log/6/ftp_ipv6_server.log" --logdir "log/6" --portfile "log/6/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 39161 (log/6/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90817 port 39161 * pid ftp-ipv6 => 90817 90817 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/6/valgrind253 ../src/curl -q --output log/6/curl253.out --include --trace-ascii log/6/trace253 --trace-time -g "ftp://[::1]:39161/" -P - > log/6/stdout253 2> log/6/stderr253 253: 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 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/6/valgrind253 ../src/curl -q --output log/6/curl253.out --include --trace-ascii log/6/trace253 --trace-time -g "ftp://[::1]:39161/" -P - > log/6/stdout253 2> log/6/stderr253 === End of file commands.log === Start of file ftp_ipv6_server.log 17:49:21.491940 FTP server listens on port IPv6/39161 17:49:21.492014 logged pid 90817 in log/6/server/ftp_ipv6_server.pid 17:49:21.492036 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 17:49:21.337909 Running IPv6 version 17:49:21.337975 Listening on port 39161 17:49:21.338009 Wrote pid 90834 to log/6/server/ftp_ipv6_sockctrl.pid 17:49:21.338033 Wrote port 39161 to log/6/server/ftp_ipv6_server.port 17:49:21.338048 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 ==92080== ==92080== Process terminating with default action of signal 4 (SIGILL) ==92080== Illegal opcode at address 0x4014520 ==92080== at 0x4014520: getparameter (tool_getparam.c:2862) ==92080== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92080== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92080== by 0x4003728: main (tool_main.c:186) === End of file valgrind253 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 40409 (log/22/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90823 port 40409 * pid ftp-ipv6 => 90823 90823 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]:40409/" --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]:40409/" --disable-epsv > log/22/stdout254 2> log/22/stderr254 === End of file commands.log === Start of file ftp_ipv6_server.log 17:49:21.517479 FTP server listens on port IPv6/40409 17:49:21.517580 logged pid 90823 in log/22/server/ftp_ipv6_server.pid 17:49:21.517608 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 17:49:21.363388 Running IPv6 version 17:49:21.363474 Listening on port 40409 17:49:21.363514 Wrote pid 90891 to log/22/server/ftp_ipv6_sockctrl.pid 17:49:21.363544 Wrote port 40409 to log/22/server/ftp_ipv6_server.port 17:49:21.363565 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 ==92155== ==92155== Process terminating with default action of signal 4 (SIGILL) ==92155== Illegal opcode at address 0x4014520 ==92155== at 0x4014520: getparameter (tool_getparam.c:2862) ==92155== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92155== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92155== by 0x4003728: main (tool_main.c:186) === End of file valgrind254 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/ftp_ipv6_server.pid" --logfile "log/3/ftp_ipv6_server.log" --logdir "log/3" --portfile "log/3/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 43397 (log/3/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90925 port 43397 * pid ftp-ipv6 => 90925 90925 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/3/valgrind255 ../src/curl -q --output log/3/curl255.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/valgrind272 ../src/curl -q --output log/5/curl272.out --include --trace-ascii log/5/trace272 --trace-time ftp://127.0.0.1:34559/272 -z "2004 jan 1 12:12:12 UTC" > log/5/stdout272 2> log/5/stderr272 trace-ascii log/3/trace255 --trace-time -g "ftp://[::1]:43397/" -P - --disable-eprt > log/3/stdout255 2> log/3/stderr255 255: 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 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/3/valgrind255 ../src/curl -q --output log/3/curl255.out --include --trace-ascii log/3/trace255 --trace-time -g "ftp://[::1]:43397/" -P - --disable-eprt > log/3/stdout255 2> log/3/stderr255 === End of file commands.log === Start of file ftp_ipv6_server.log 17:49:21.577150 FTP server listens on port IPv6/43397 17:49:21.577242 logged pid 90925 in log/3/server/ftp_ipv6_server.pid 17:49:21.577272 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 17:49:21.423078 Running IPv6 version 17:49:21.423143 Listening on port 43397 17:49:21.423185 Wrote pid 90946 to log/3/server/ftp_ipv6_sockctrl.pid 17:49:21.423215 Wrote port 43397 to log/3/server/ftp_ipv6_server.port 17:49:21.423234 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 ==92231== ==92231== Process terminating with default action of signal 4 (SIGILL) ==92231== Illegal opcode at address 0x4014520 ==92231== at 0x4014520: getparameter (tool_getparam.c:2862) ==92231== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92231== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92231== by 0x4003728: main (tool_main.c:186) === End of file valgrind255 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/5/valgrind272 ../src/curl -q --output log/5/curl272.out --include --trace-ascii log/5/trace272 --trace-time ftp://127.0.0.1:34559/272 -z "2004 jan 1 12:12:12 UTC" > log/5/stdout272 2> log/5/stderr272 272: 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 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/5/valgrind272 ../src/curl -q --output log/5/curl272.out --include --trace-ascii log/5/trace272 --trace-time ftp://127.0.0.1:34559/272 -z "2004 jan 1 12:12:12 UTC" > log/5/stdout272 2> log/5/stderr272 === End of file commands.log === Start of file ftp_server.log 17:49:22.490647 ====> Client connect 17:49:22.490812 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:22.491095 < "USER anonymous" 17:49:22.491134 > "331 We are happy you popped in![CR][LF]" 17:49:22.491304 < "PASS ftp@example.com" 17:49:22.491336 > "230 Welcome you silly person[CR][LF]" 17:49:22.491496 < "PWD" 17:49:22.491532 > "257 "/" is current directory[CR][LF]" 17:49:22.491701 < "EPSV" 17:49:22.491731 ====> Passive DATA channel requested by client 17:49:22.491746 DATA sockfilt for passive data channel starting... 17:49:22.493570 DATA sockfilt for passive data channel started (pid 92152) 17:49:22.493655 DATA sockfilt for passive data channel listens on port 39203 17:49:22.493689 > "229 Entering Passive Mode (|||39203|)[CR][LF]" 17:49:22.493703 Client has been notified that DATA conn will be accepted on port 39203 17:49:22.493882 Client connects to port 39203 17:49:22.493906 ====> Client established passive DATA connection on port 39203 17:49:22.493964 < "TYPE I" 17:49:22.493985 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:22.494102 < "SIZE verifiedserver" 17:49:22.494131 > "213 17[CR][LF]" 17:49:22.494241 < "RETR verifiedserver" 17:49:22.494266 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:22.494334 =====> Closing passive DATA connection... 17:49:22.494348 Server disconnects passive DATA connection 17:49:22.494519 Server disconnected passive DATA connection 17:49:22.494572 DATA sockfilt for passive data channel quits (pid 92152) 17:49:22.494857 DATA sockfilt for passive data channel quit (pid 92152) 17:49:22.494889 =====> Closed passive DATA connection 17:49:22.494927 > "226 File transfer complete[CR][LF]" 17:49:22.540309 < "QUIT" 17:49:22.540361 > "221 bye bye baby[CR][LF]" 17:49:22.541268 MAIN sockfilt said DISC 17:49:22.541295 ====> Client disconnected 17:49:22.541373 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:22.336710 ====> Client connect 17:49:22.337015 Received DATA (on stdin) 17:49:22.337030 > 146 bytes data, server => client 17:49:22.337042 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:22.337053 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:22.337062 '220 \___|\___/|_| \_\_____|\r\n' 17:49:22.337138 < 16 bytes data, client => server 17:49:22.337151 'USER anonymous\r\n' 17:49:22.337327 Received DATA (on stdin) 17:49:22.337339 > 33 bytes data, server => client 17:49:22.337349 '331 We are happy you popped in!\r\n' 17:49:22.337402 < 22 bytes data, client => server 17:49:22.337413 'PASS ftp@example.com\r\n' 17:49:22.337526 Received DATA (on stdin) 17:49:22.337538 > 30 bytes data, server => client 17:49:22.337548 '230 Welcome you silly person\r\n' 17:49:22.337598 < 5 bytes data, client => server 17:49:22.337608 'PWD\r\n' 17:49:22.337721 Received DATA (on stdin) 17:49:22.337732 > 30 bytes data, server => client 17:49:22.337743 '257 "/" is current directory\r\n' 17:49:22.337802 < 6 bytes data, client => server 17:49:22.337814 'EPSV\r\n' 17:49:22.339889 Received DATA (on stdin) 17:49:22.339899 > 39 bytes data, server => client 17:49:22.339908 '229 Entering Passive Mode (|||39203|)\r\n' 17:49:22.340023 < 8 bytes data, client => server 17:49:22.340032 'TYPE I\r\n' 17:49:22.340168 Received DATA (on stdin) 17:49:22.340176 > 33 bytes data, server => client 17:49:22.340185 '200 I modify TYPE as you wanted\r\n' 17:49:22.340223 < 21 bytes data, client => server 17:49:22.340231 'SIZE verifiedserver\r\n' 17:49:22.340313 Received DATA (on stdin) 17:49:22.340321 > 8 bytes data, server => client 17:49:22.340328 '213 17\r\n' 17:49:22.340364 < 21 bytes data, client => server 17:49:22.340371 'RETR verifiedserver\r\n' 17:49:22.340532 Received DATA (on stdin) 17:49:22.340541 > 29 bytes data, server => client 17:49:22.340549 '150 Binary junk (17 bytes).\r\n' 17:49:22.341130 Received DATA (on stdin) 17:49:22.341147 > 28 bytes data, server => client 17:49:22.341158 '226 File transfer complete\r\n' 17:49:22.386306 < 6 bytes data, client => server 17:49:22.386333 'QUIT\r\n' 17:49:22.386552 Received DATA (on stdin) 17:49:22.386562 > 18 bytes data, server => client 17:49:22.386572 '221 bye bye baby\r\n' 17:49:22.387408 ====> Client disconnect 17:49:22.387558 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:22.339418 Running IPv4 version 17:49:22.339484 Listening on port 39203 17:49:22.339540 Wrote pid 92152 to log/5/server/ftp_sockdata.pid 17:49:22.339699 Received PING (on stdin) 17:49:22.339773 Received PORT (on stdin) 17:49:22.340002 ====> Client connect 17:49:22.340568 Received DATA (on stdin) 17:49:22.340578 > 17 bytes data, server => client 17:49:22.340589 'WE ROOLZ: 81078\r\n' 17:49:22.340608 Received DISC (on stdin) 17:49:22.340617 ====> Client forcibly disconnected 17:49:22.340780 Received QUIT (on stdin) 17:49:22.340799 quits 17:49:22.340878 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 272 === End of file server.cmd === Start of file valgrind272CMD (33792): ../libtool --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/valgrind273 ../src/curl -q --output log/21/curl273.out --include --trace-ascii log/21/trace273 --trace-time http://127.0.0.1:41669/273 -u testuser:testpass --digest > log/21/stdout273 2> log/21/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/14/valgrind274 ../src/curl -q --output log/14/curl274.out --include --trace-ascii log/14/trace274 --trace-time http://127.0.0.1:37569/want/274 -L --max-redirs 0 > log/14/stdout274 2> log/14/stderr274 CMD (33792): ../libtool --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/valgrind276 ../src/curl -q --output log/18/curl276.out --include --trace-ascii log/18/trace276 --trace-time "http://127.0.0.1:34067/want?uri=http://anything/276?secondq/276" -L > log/18/stdout276 2> log/18/stderr276 ==92228== ==92228== Process terminating with default action of signal 4 (SIGILL) ==92228== Illegal opcode at address 0x4014520 ==92228== at 0x4014520: getparameter (tool_getparam.c:2862) ==92228== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92228== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92228== by 0x4003728: main (tool_main.c:186) === End of file valgrind272 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/21/valgrind273 ../src/curl -q --output log/21/curl273.out --include --trace-ascii log/21/trace273 --trace-time http://127.0.0.1:41669/273 -u testuser:testpass --digest > log/21/stdout273 2> log/21/stderr273 273: 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 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/21/valgrind273 ../src/curl -q --output log/21/curl273.out --include --trace-ascii log/21/trace273 --trace-time http://127.0.0.1:41669/273 -u testuser:testpass --digest > log/21/stdout273 2> log/21/stderr273 === End of file commands.log === Start of file http_server.log 17:49:22.459351 ====> Client connect 17:49:22.459395 accept_connection 3 returned 4 17:49:22.459413 accept_connection 3 returned 0 17:49:22.459429 Read 93 bytes 17:49:22.459440 Process 93 bytes request 17:49:22.459458 Got request: GET /verifiedserver HTTP/1.1 17:49:22.459467 Are-we-friendly question received 17:49:22.459524 Wrote request (93 bytes) input to log/21/server.input 17:49:22.459541 Identifying ourselves as friends 17:49:22.459596 Response sent (56 bytes) and written to log/21/server.response 17:49:22.459605 special request received, no persistency 17:49:22.459613 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 53006 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind273 ==92362== ==92362== Process terminating with default action of signal 4 (SIGILL) ==92362== Illegal opcode at address 0x4014520 ==92362== at 0x4014520: getparameter (tool_getparam.c:2862) ==92362== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92362== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92362== by 0x4003728: main (tool_main.c:186) === End of file valgrind273 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/14/valgrind274 ../src/curl -q --output log/14/curl274.out --include --trace-ascii log/14/trace274 --trace-time http://127.0.0.1:37569/want/274 -L --max-redirs 0 > log/14/stdout274 2> log/14/stderr274 274: 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 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/14/valgrind274 ../src/curl -q --output log/14/curl274.out --include --trace-ascii log/14/trace274 --trace-time http://127.0.0.1:37569/want/274 -L --max-redirs 0 > log/14/stdout274 2> log/14/stderr274 === End of file commands.log === Start of file http_server.log 17:49:23.471950 ====> Client connect 17:49:23.471993 accept_connection 3 returned 4 17:49:23.472014 accept_connection 3 returned 0 17:49:23.472030 Read 93 bytes 17:49:23.472041 Process 93 bytes request 17:49:23.472060 Got request: GET /verifiedserver HTTP/1.1 17:49:23.472069 Are-we-friendly question received 17:49:23.472103 Wrote request (93 bytes) input to log/14/server.input 17:49:23.472123 Identifying ourselves as friends 17:49:23.472237 Response sent (56 bytes) and written to log/14/server.response 17:49:23.472261 special request received, no persistency 17:49:23.472272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 46864 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind274 ==92380== ==92380== Process terminating with default action of signal 4 (SIGILL) ==92380== Illegal opcode at address 0x4014520 ==92380== at 0x4014520: getparameter (tool_getparam.c:2862) ==92380== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92380== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92380== by 0x4003728: main (tool_main.c:186) === End of file valgrind274 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/18/valgrind276 ../src/curl -q --output log/18/curl276.out --include --trace-ascii log/18/trace276 --trace-time "http://127.0.0.1:34067/want?uri=http://anything/276?secondq/276" -L > log/18/stdout276 2> log/18/stderr276 276: 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 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/18/valgrind276 ../src/curl -q --output log/18/curl276.out --include --trace-ascii log/18/trace276 --trace-time "http://127.0.0.1:34067/want?uri=http://anything/276?secondq/276" -L > log/18/stdout276 2> log/18/stderr276 === End of file commands.log === Start of file http_server.log 17:49:22.678681 ====> Client connect 17:49:22.678716 accept_connection 3 returned 4 17:49:22.678733 accept_connection 3 returned 0 17:49:22.678748 Read 93 bytes 17:49:22.678757 Process 93 bytes request 17:49:22.678771 Got request: GET /verifiedserver HTTP/1.1 17:49:22.678780 Are-we-friendly question received 17:49:22.678808 Wrote request (93 bytes) input to log/18/server.input 17:49:22.678825 Identifying ourselves as friends 17:49:22.678886 Response sent (56 bytes) and written to log/18/server.response 17:49:22.678897 special request received, no persistency 17:49:22.678906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.CMD (33792): ../libtool --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/valgrind277 ../src/curl -q --output log/1/curl277.out --include --trace-ascii log/1/trace277 --trace-time http://127.0.0.1:39589/want/277 -F name=daniel -H "Content-Type: text/info" > log/1/stdout277 2> log/1/stderr277 CMD (33792): ../libtool --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/valgrind263 ../src/curl -q --output log/2/curl263.out --include --trace-ascii log/2/trace263 --trace-time -g -x "http://[::1]:45741" http://veryveryremotesite.com/263 > log/2/stdout263 2> log/2/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/24/valgrind278 ../src/curl -q --output log/24/curl278.out --include --trace-ascii log/24/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:39649 > log/24/stdout278 2> log/24/stderr278 0.0.1 port 57470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind276 ==92524== ==92524== Process terminating with default action of signal 4 (SIGILL) ==92524== Illegal opcode at address 0x4014520 ==92524== at 0x4014520: getparameter (tool_getparam.c:2862) ==92524== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92524== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92524== by 0x4003728: main (tool_main.c:186) === 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/1/valgrind277 ../src/curl -q --output log/1/curl277.out --include --trace-ascii log/1/trace277 --trace-time http://127.0.0.1:39589/want/277 -F name=daniel -H "Content-Type: text/info" > log/1/stdout277 2> log/1/stderr277 277: 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 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/1/valgrind277 ../src/curl -q --output log/1/curl277.out --include --trace-ascii log/1/trace277 --trace-time http://127.0.0.1:39589/want/277 -F name=daniel -H "Content-Type: text/info" > log/1/stdout277 2> log/1/stderr277 === End of file commands.log === Start of file http_server.log 17:49:22.700741 ====> Client connect 17:49:22.700773 accept_connection 3 returned 4 17:49:22.700789 accept_connection 3 returned 0 17:49:22.700803 Read 93 bytes 17:49:22.700812 Process 93 bytes request 17:49:22.700824 Got request: GET /verifiedserver HTTP/1.1 17:49:22.700833 Are-we-friendly question received 17:49:22.700858 Wrote request (93 bytes) input to log/1/server.input 17:49:22.700873 Identifying ourselves as friends 17:49:22.700928 Response sent (56 bytes) and written to log/1/server.response 17:49:22.700937 special request received, no persistency 17:49:22.700946 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind277 ==92555== ==92555== Process terminating with default action of signal 4 (SIGILL) ==92555== Illegal opcode at address 0x4014520 ==92555== at 0x4014520: getparameter (tool_getparam.c:2862) ==92555== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92555== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92555== by 0x4003728: main (tool_main.c:186) === End of file valgrind277 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/2/server/http_ipv6_server.pid" --logfile "log/2/http_ipv6_server.log" --logdir "log/2" --portfile log/2/server/http_ipv6_server.port --config log/2/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 91337 port 45741 * pid http-ipv6 => 91337 91337 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/2/valgrind263 ../src/curl -q --output log/2/curl263.out --include --trace-ascii log/2/trace263 --trace-time -g -x "http://[::1]:45741" http://veryveryremotesite.com/263 > log/2/stdout263 2> log/2/stderr263 263: 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 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/2/valgrind263 ../src/curl -q --output log/2/curl263.out --include --trace-ascii log/2/trace263 --trace-time -g -x "http://[::1]:45741" http://veryveryremotesite.com/263 > log/2/stdout263 2> log/2/stderr263 === End of file commands.log === Start of file http_ipv6_server.log 17:49:21.846112 Running HTTP IPv6 version on port 45741 17:49:21.846218 Wrote pid 91337 to log/2/server/http_ipv6_server.pid 17:49:21.846249 Wrote port 45741 to log/2/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 ==92637== ==92637== Process terminating with default action of signal 4 (SIGILL) ==92637== Illegal opcode at address 0x4014520 ==92637== at 0x4014520: getparameter (tool_getparam.c:2862) ==92637== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92637== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92637== by 0x4003728: main (tool_main.c:186) === End of file valgrind263 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/24/valgrind278 ../src/curl -q --output log/24/curl278.out --include --trace-ascii log/24/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:39649 > log/24/stdout278 2> log/24/stderr278 278: 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 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/24/valgrind278 ../src/curl -q --output log/24/curl278.out --include --trace-ascii log/24/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:39649 > log/24/stdout278 2> log/24/stderr278 === End of file commands.log === Start of file http_server.log 17:49:22.896251 ====> Client connect 17:49:22.896291 accept_connection 3 returned 4 17:49:22.896311 accept_connection 3 returned 0 17:49:22.896328 Read 93 bytes 17:49:22.896339 Process 93 bytes request 17:49:22.896354 Got request: GET /verifiedserver HTTP/1.1 17:49:22.896363 Are-we-friendly question received 17:49:22.896440 Wrote request (93 bytes) input to log/24/server.input 17:49:22.896461 Identifying ourselves as friends 17:49:22.896529 Response sent (56 bytes) and written to log/24/server.response 17:49:22.896539 special request received, no persistency 17:49:22.896548 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.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/11/valgrind281 ../src/curl -q --output log/11/curl281.out --include --trace-ascii log/11/trace281 --trace-time http://127.0.0.1:46439/we/want/281 -f -T log/11/test281.txt > log/11/stdout281 2> log/11/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/9/valgrind282 ../src/curl -q --output log/9/curl282.out --include --trace-ascii log/9/trace282 --trace-time http://127.0.0.1:37413/282 > log/9/stdout282 2> log/9/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/15/valgrind279 ../src/curl -q --output log/15/curl279.out --include --trace-ascii log/15/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:41057 > log/15/stdout279 2> log/15/stderr279 (127.0.0.1 port 39649) from 127.0.0.1 port 52016 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind278 ==92723== ==92723== Process terminating with default action of signal 4 (SIGILL) ==92723== Illegal opcode at address 0x4014520 ==92723== at 0x4014520: getparameter (tool_getparam.c:2862) ==92723== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92723== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92723== by 0x4003728: main (tool_main.c:186) === End of file valgrind278 test 0300 SKIPPED: no stunnel test 0301 SKIPPED: no stunnel test 0302 SKIPPED: no stunnel 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/11/valgrind281 ../src/curl -q --output log/11/curl281.out --include --trace-ascii log/11/trace281 --trace-time http://127.0.0.1:46439/we/want/281 -f -T log/11/test281.txt > log/11/stdout281 2> log/11/stderr281 281: 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 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/11/valgrind281 ../src/curl -q --output log/11/curl281.out --include --trace-ascii log/11/trace281 --trace-time http://127.0.0.1:46439/we/want/281 -f -T log/11/test281.txt > log/11/stdout281 2> log/11/stderr281 === End of file commands.log === Start of file http_server.log 17:49:22.928196 ====> Client connect 17:49:22.928239 accept_connection 3 returned 4 17:49:22.928257 accept_connection 3 returned 0 17:49:22.928272 Read 93 bytes 17:49:22.928282 Process 93 bytes request 17:49:22.928296 Got request: GET /verifiedserver HTTP/1.1 17:49:22.928305 Are-we-friendly question received 17:49:22.928333 Wrote request (93 bytes) input to log/11/server.input 17:49:22.928350 Identifying ourselves as friends 17:49:22.928430 Response sent (56 bytes) and written to log/11/server.response 17:49:22.928442 special request received, no persistency 17:49:22.928451 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 36198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file test281.txt Weird file to upload === End of file test281.txt === Start of file valgrind281 ==92826== ==92826== Process terminating with default action of signal 4 (SIGILL) ==92826== Illegal opcode at address 0x4014520 ==92826== at 0x4014520: getparameter (tool_getparam.c:2862) ==92826== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92826== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92826== by 0x4003728: main (tool_main.c:186) === End of file valgrind281 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/9/valgrind282 ../src/curl -q --output log/9/curl282.out --include --trace-ascii log/9/trace282 --trace-time http://127.0.0.1:37413/282 > log/9/stdout282 2> log/9/stderr282 282: 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 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/9/valgrind282 ../src/curl -q --output log/9/curl282.out --include --trace-ascii log/9/trace282 --trace-time http://127.0.0.1:37413/282 > log/9/stdout282 2> log/9/stderr282 === End of file commands.log === Start of file http_server.log 17:49:22.935120 ====> Client connect 17:49:22.935162 accept_connection 3 returned 4 17:49:22.935178 accept_connection 3 returned 0 17:49:22.935193 Read 93 bytes 17:49:22.935203 Process 93 bytes request 17:49:22.935215 Got request: GET /verifiedserver HTTP/1.1 17:49:22.935224 Are-we-friendly question received 17:49:22.935251 Wrote request (93 bytes) input to log/9/server.input 17:49:22.935267 Identifying ourselves as friends 17:49:22.935331 Response sent (56 bytes) and written to log/9/server.response 17:49:22.935340 special request received, no persistency 17:49:22.935349 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 45646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind282 ==92848== ==92848== Process terminating with default action of signal 4 (SIGILL) ==92848== Illegal opcode at address 0x4014520 ==92848== at 0x4014520: getparameter (tool_getparam.c:2862) ==92848== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92848== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92848== by 0x4003728: main (tool_main.c:186) === End of file valgrind282 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/15/valgrind279 ../src/curl -q --output log/15/curl279.out --include --trace-ascii log/15/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:41057 > log/15/stdout279 2> log/15/stderr279 279: 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 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/15/valgrind279 ../src/curl -q --output log/15/curl279.out --include --trace-ascii log/15/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:41057 > log/15/stdout279 2> log/15/stderr279 === End of file commands.log === Start of file httpCMD (33792): ../libtool --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/valgrind280 ../src/curl -q --output log/7/curl280.out --include --trace-ascii log/7/trace280 --trace-time ftp://127.0.0.1:42667/280/ --ftp-alternative-to-user "USER replacement" > log/7/stdout280 2> log/7/stderr280 _server.log 17:49:22.907622 ====> Client connect 17:49:22.907659 accept_connection 3 returned 4 17:49:22.907673 accept_connection 3 returned 0 17:49:22.907686 Read 93 bytes 17:49:22.907693 Process 93 bytes request 17:49:22.907703 Got request: GET /verifiedserver HTTP/1.1 17:49:22.907710 Are-we-friendly question received 17:49:22.907730 Wrote request (93 bytes) input to log/15/server.input 17:49:22.907744 Identifying ourselves as friends 17:49:22.907790 Response sent (56 bytes) and written to log/15/server.response 17:49:22.907797 special request received, no persistency 17:49:22.907805 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 57494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind279 ==92772== ==92772== Process terminating with default action of signal 4 (SIGILL) ==92772== Illegal opcode at address 0x4014520 ==92772== at 0x4014520: getparameter (tool_getparam.c:2862) ==92772== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92772== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92772== by 0x4003728: main (tool_main.c:186) === 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/7/valgrind280 ../src/curl -q --output log/7/curl280.out --include --trace-ascii log/7/trace280 --trace-time ftp://127.0.0.1:42667/280/ --ftp-alternative-to-user "USER replacement" > log/7/stdout280 2> log/7/stderr280 280: 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 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/7/valgrind280 ../src/curl -q --output log/7/curl280.out --include --trace-ascii log/7/trace280 --trace-time ftp://127.0.0.1:42667/280/ --ftp-alternative-to-user "USER replacement" > log/7/stdout280 2> log/7/stderr280 === End of file commands.log === Start of file ftp_server.log 17:49:23.080717 ====> Client connect 17:49:23.080904 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:23.081207 < "USER anonymous" 17:49:23.081253 > "331 We are happy you popped in![CR][LF]" 17:49:23.081437 < "PASS ftp@example.com" 17:49:23.081468 > "230 Welcome you silly person[CR][LF]" 17:49:23.081633 < "PWD" 17:49:23.081664 > "257 "/" is current directory[CR][LF]" 17:49:23.081829 < "EPSV" 17:49:23.081857 ====> Passive DATA channel requested by client 17:49:23.081871 DATA sockfilt for passive data channel starting... 17:49:23.083736 DATA sockfilt for passive data channel started (pid 92800) 17:49:23.083852 DATA sockfilt for passive data channel listens on port 44363 17:49:23.083896 > "229 Entering Passive Mode (|||44363|)[CR][LF]" 17:49:23.083914 Client has been notified that DATA conn will be accepted on port 44363 17:49:23.084137 Client connects to port 44363 17:49:23.084167 ====> Client established passive DATA connection on port 44363 17:49:23.084241 < "TYPE I" 17:49:23.084269 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:23.084431 < "SIZE verifiedserver" 17:49:23.084466 > "213 17[CR][LF]" 17:49:23.084616 < "RETR verifiedserver" 17:49:23.084649 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:23.084737 =====> Closing passive DATA connection... 17:49:23.084753 Server disconnects passive DATA connection 17:49:23.084966 Server disconnected passive DATA connection 17:49:23.084996 DATA sockfilt for passive data channel quits (pid 92800) 17:49:23.085938 DATA sockfilt for passive data channel quit (pid 92800) 17:49:23.085967 =====> Closed passive DATA connection 17:49:23.085996 > "226 File transfer complete[CR][LF]" 17:49:23.127043 < "QUIT" 17:49:23.127105 > "221 bye bye baby[CR][LF]" 17:49:23.127482 MAIN sockfilt said DISC 17:49:23.127538 ====> Client disconnected 17:49:23.127625 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:23.926716 ====> Client connect 17:49:23.927106 Received DATA (on stdin) 17:49:23.927122 > 146 bytes data, server => client 17:49:23.927134 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:23.927145 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:23.927154 '220 \___|\___/|_| \_\_____|\r\n' 17:49:23.927238 < 16 bytes data, client => server 17:49:23.927250 'USER anonymous\r\n' 17:49:23.927448 Received DATA (on stdin) 17:49:23.927460 > 33 bytes data, server => client 17:49:23.927471 '331 We are happy you popped in!\r\n' 17:49:23.927525 < 22 bytes data, client => server 17:49:23.927537 'PASS ftp@example.com\r\n' 17:49:23.927657 Received DATA (on stdin) 17:49:23.927668 > 30 bytes data, server => client 17:49:23.927678 '230 Welcome you silly person\r\n' 17:49:23.927728 < 5 bytes data, client => server 17:49:23.927740 'PWD\r\n' 17:49:23.927851 Received DATA (on stdin) 17:49:23.927862 > 30 bytes data, server => client 17:49:23.927872 '257 "/" is current directory\r\n' 17:49:23.927934 < 6 bytes data, client => server 17:49:23.927944 'EPSV\r\n' 17:49:23.930108 Received DATA (on stdin) 17:49:23.930121 > 39 bytes data, server => client 17:49:23.930131 '229 Entering Passive Mode (|||44363|)\r\n' 17:49:23.930273 < 8 bytes data, client => server 17:49:23.930285 'TYPE I\r\n' 17:49:23.930457 Received DATA (on stdin) 17:49:23.930468 > 33 bytes data, server => client 17:49:23.930479 '200 I modify TYPE as you wanted\r\n' 17:49:23.930534 < 21 bytes data, client => server 17:49:23.930546 'SIZE verifiedserver\r\n' 17:49:23.930653 Received DATA (on stdin) 17:49:23.930665 > 8 bytes data, server => client 17:49:23.930674 '213 17\r\n' 17:49:23.930723 < 21 bytes data, client => server 17:49:23.930733 'RETR verifiedserver\r\n' 17:49:23.930944 Received DATA (on stdin) 17:49:23.930954 > 29 bytes data, server => client 17:49:23.930964 '150 Binary junk (17 bytes).\r\n' 17:49:23.932166 Received DATA (on stdin) 17:49:23.932185 > 28 bytes data, server => client 17:49:23.932200 '226 File transfer complete\r\n' 17:49:23.973053 < 6 bytes data, client => server 17:49:23.973085 'QUIT\r\n' 17:49:23.973302 Received DATA (on stdin) 17:49:23.973315 > 18 bytes data, server => client 17:49:23.973327 '221 bye bye baby\r\n' 17:49:23.973585 ====> Client disconnect 17:49:23.976178 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:23.929742 Running IPv4 version 17:49:23.929805 Listening on port 44363 17:49:23.929844 Wrote pid 92800 to log/7/server/ftp_sockdata.pid 17:49:23.929864 Received PING (on stdin) 17:49:23.929951 Received PORT (on stdin) 17:49:23.930241 ====> Client connect 17:49:23.930989 Received DATA (on stdin) 17:49:23.931000 > 17 bytes data, server => client 17:49:23.931010 'WE ROOLZ: 81153\r\n' 17:49:23.931029 Received DISC (on stdin) 17:49:23.931040 ====> Client forcibly disconnected 17:49:23.931191 Received QUIT (on stdin) 17:49:23.931202 quits 17:49:23.931360 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY USER 530 We don't like USER CMD (33792): ../libtool --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/valgrind288 ../src/curl -q --output log/8/curl288.out --trace-ascii log/8/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test288.txt > log/8/stdout288 2> log/8/stderr288 commands COUNT USER 1 Testnum 280 === End of file server.cmd === Start of file valgrind280 ==92969== ==92969== Process terminating with default action of signal 4 (SIGILL) ==92969== Illegal opcode at address 0x4014520 ==92969== at 0x4014520: getparameter (tool_getparam.c:2862) ==92969== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==92969== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==92969== by 0x4003728: main (tool_main.c:186) === End of file valgrind280 CMD (33792): ../libtool --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/valgrind287 ../src/curl -q --include --trace-ascii log/4/trace287 --trace-time http://test.remote.example.com.287:34411/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:34411 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/4/stdout287 2> log/4/stderr287 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/8/valgrind288 ../src/curl -q --output log/8/curl288.out --trace-ascii log/8/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test288.txt > log/8/stdout288 2> log/8/stderr288 288: data FAILED: --- log/8/check-expected 2026-01-28 17:49:24.243222106 +0000 +++ log/8/check-generated 2026-01-28 17:49:24.243222106 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/8/ 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/8/valgrind288 ../src/curl -q --output log/8/curl288.out --trace-ascii log/8/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test288.txt > log/8/stdout288 2> log/8/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 ==93044== ==93044== Process terminating with default action of signal 4 (SIGILL) ==93044== Illegal opcode at address 0x4014520 ==93044== at 0x4014520: getparameter (tool_getparam.c:2862) ==93044== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93044== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93044== by 0x4003728: main (tool_main.c:186) === End of file valgrind288 CMD (33792): ../libtool --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/valgrind271 ../src/curl -q --output log/19/curl271.out --include --trace-ascii log/19/trace271 --trace-time tftp://127.0.0.1:53618//271 > log/19/stdout271 2> log/19/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/12/valgrind289 ../src/curl -q --output log/12/curl289.out --include --trace-ascii log/12/trace289 --trace-time ftp://127.0.0.1:38035/289 -T log/12/illegal-nonexistent-file -C - > log/12/stdout289 2> log/12/stderr289 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/4/valgrind287 ../src/curl -q --include --trace-ascii log/4/trace287 --trace-time http://test.remote.example.com.287:34411/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:34411 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/4/stdout287 2> log/4/stderr287 287: stdout FAILED: --- log/4/check-expected 2026-01-28 17:49:24.253222106 +0000 +++ log/4/check-generated 2026-01-28 17:49:24.253222106 +0000 @@ -1,2 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] == Contents of files in the log/4/ 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/4/valgrind287 ../src/curl -q --include --trace-ascii log/4/trace287 --trace-time http://test.remote.example.com.287:34411/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:34411 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/4/stdout287 2> log/4/stderr287 === End of file commands.log === Start of file http_server.log 17:49:23.116485 ====> Client connect 17:49:23.116514 accept_connection 3 returned 4 17:49:23.116529 accept_connection 3 returned 0 17:49:23.116542 Read 93 bytes 17:49:23.116550 Process 93 bytes request 17:49:23.116561 Got request: GET /verifiedserver HTTP/1.1 17:49:23.116569 Are-we-friendly question received 17:49:23.116591 Wrote request (93 bytes) input to log/4/server.input 17:49:23.116606 Identifying ourselves as friends 17:49:23.116665 Response sent (56 bytes) and written to log/4/server.response 17:49:23.116674 special request received, no persistency 17:49:23.116682 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 54686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind287 ==93076== ==93076== Process terminating with default action of signal 4 (SIGILL) ==93076== Illegal opcode at address 0x4014520 ==93076== at 0x4014520: getparameter (tool_getparam.c:2862) ==93076== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93076== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93076== by 0x4003728: main (tool_main.c:186) === End of file valgrind287 test 0320 SKIPPED: no gnutls-serv (with SRP support) test 0321 SKIPPED: no gnutls-serv (with SRP support) test 0322 SKIPPED: no gnutls-serv (with SRP support) startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/19/server/tftp_server.pid" --portfile "log/19/server/tftp_server.port" --logfile "log/19/tftp_server.log" --logdir "log/19" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92037 port 53618 * pid tftp => 92037 92037 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/19/valgrind271 ../src/curl -q --output log/19/curl271.out --include --trace-ascii log/19/trace271 --trace-time tftp://127.0.0.1:53618//271 > log/19/stdout271 2> log/19/stderr271 271: 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 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/19/valgrind271 ../src/curl -q --output log/19/curl271.out --include --trace-ascii log/19/trace271 --trace-time tftp://127.0.0.1:53618//271 > log/19/stdout271 2> log/19/stderr271 === End of file commands.log === Start of file server.cmd Testnum 271 === End of file server.cmd === Start of file tftp_server.log 17:49:22.258408 Wrote pid 92037 to log/19/server/tftp_server.pid 17:49:22.258473 Wrote port 53618 to log/19/server/tftp_server.port 17:49:22.258485 Running IPv4 version on port UDP/53618 === End of file tftp_server.log === Start of file valgrind271 ==93165== ==93165== Process terminating with default action of signal 4 (SIGILL) ==93165== Illegal opcode at address 0x4014520 ==93165== at 0x4014520: getparameter (tool_getparam.c:2862) ==93165== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93165== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93165== by 0x4003728: main (tool_main.c:186) === End of file valgrind271 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/12/valgrind289 ../src/curl -q --output log/12/curl289.out --include --trace-ascii log/12/trace289 --trace-time ftp://127.0.0.1:38035/289 -T log/12/illegal-nonexistent-file -C - > log/12/stdout289 2> log/12/stderr289 curl returned 132, when expecting 26 289: exit FAILED == Contents of files in the log/12/ 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/12/valgrind289 ../src/curl -q --output log/12/curl289.out --include --trace-ascii log/12/trace289 --trace-time ftp://127.0.0.1:38035/289 -T log/12/illegal-nonexistent-file -C - > log/12/stdout289 2> log/12/stderr289 === End of file commands.log === Start of file ftp_server.log 17:49:23.410520 ====> Client connect 17:49:23.410674 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:23.410929 < "USER anonymous" 17:49:23.410959 > "331 We are happy you popped in![CR][LF]" 17:49:23.411110 < "PASS ftp@example.com" 17:49:23.411134 > "230 Welcome you silly person[CR][LF]" 17:49:23.411277 < "PWD" 17:49:23.411304 > "257 "/" is current directory[CR][LF]" 17:49:23.411453 < "EPSV" 17:49:23.411478 ====> Passive DATA channel requested by client 17:49:23.411492 DATA sockfilt for passive data channel starting... 17:49:23.413368 DATA sockfilt for passive data channel started (pid 93179) 17:49:23.413499 DATA sockfilt for passive data channel listens on port 38499 17:49:23.413545 > "229 Entering Passive Mode (|||38499|)[CR][LF]" 17:49:23.413562 Client has been notified that DATA conn will be accepted on port 38499 17:49:23.413822 Client connects to port 38499 17:49:23.413849 ====> Client established passive DATA connection on port 38499 17:49:23.413937 < "TYPE I" 17:49:23.413967 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:23.414120 < "SIZE verifiedserver" 17:49:23.414160 > "213 17[CR][LF]" 17:49:23.414298 < "RETR verifiedserver" 17:49:23.414329 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:23.414411 =====> Closing passive DATA connection... 17:49:23.414426 Server disconnects passive DATA connection 17:49:23.414532 Server disconnected passive DATA connection 17:49:23.414553 DATA sockfilt forCMD (33792): ../libtool --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/valgrind292 ../src/curl -q --output log/22/curl292.out --include --trace-ascii log/22/trace292 --trace-time http://127.0.0.1:42933/292 --max-filesize 1000 > log/22/stdout292 2> log/22/stderr292 CMD (33792): ../libtool --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/valgrind290 ../src/curl -q --output log/10/curl290.out --include --trace-ascii log/10/trace290 --trace-time ftp://127.0.0.1:41693/290 --max-filesize 30 > log/10/stdout290 2> log/10/stderr290 CMD (33792): ../libtool --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/valgrind291 ../src/curl -q --output log/6/curl291.out --include --trace-ascii log/6/trace291 --trace-time ftp://127.0.0.1:36757/291 --max-filesize 100 > log/6/stdout291 2> log/6/stderr291 passive data channel quits (pid 93179) 17:49:23.414768 DATA sockfilt for passive data channel quit (pid 93179) 17:49:23.414789 =====> Closed passive DATA connection 17:49:23.414818 > "226 File transfer complete[CR][LF]" 17:49:23.457669 < "QUIT" 17:49:23.457724 > "221 bye bye baby[CR][LF]" 17:49:23.458804 MAIN sockfilt said DISC 17:49:23.458836 ====> Client disconnected 17:49:23.458911 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:23.256597 ====> Client connect 17:49:23.256872 Received DATA (on stdin) 17:49:23.256885 > 146 bytes data, server => client 17:49:23.256897 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:23.256907 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:23.256917 '220 \___|\___/|_| \_\_____|\r\n' 17:49:23.256985 < 16 bytes data, client => server 17:49:23.256995 'USER anonymous\r\n' 17:49:23.257147 Received DATA (on stdin) 17:49:23.257158 > 33 bytes data, server => client 17:49:23.257169 '331 We are happy you popped in!\r\n' 17:49:23.257217 < 22 bytes data, client => server 17:49:23.257227 'PASS ftp@example.com\r\n' 17:49:23.257319 Received DATA (on stdin) 17:49:23.257329 > 30 bytes data, server => client 17:49:23.257340 '230 Welcome you silly person\r\n' 17:49:23.257384 < 5 bytes data, client => server 17:49:23.257394 'PWD\r\n' 17:49:23.257489 Received DATA (on stdin) 17:49:23.257500 > 30 bytes data, server => client 17:49:23.257510 '257 "/" is current directory\r\n' 17:49:23.257564 < 6 bytes data, client => server 17:49:23.257574 'EPSV\r\n' 17:49:23.259756 Received DATA (on stdin) 17:49:23.259772 > 39 bytes data, server => client 17:49:23.259783 '229 Entering Passive Mode (|||38499|)\r\n' 17:49:23.259959 < 8 bytes data, client => server 17:49:23.259969 'TYPE I\r\n' 17:49:23.260155 Received DATA (on stdin) 17:49:23.260166 > 33 bytes data, server => client 17:49:23.260176 '200 I modify TYPE as you wanted\r\n' 17:49:23.260228 < 21 bytes data, client => server 17:49:23.260238 'SIZE verifiedserver\r\n' 17:49:23.260345 Received DATA (on stdin) 17:49:23.260357 > 8 bytes data, server => client 17:49:23.260366 '213 17\r\n' 17:49:23.260410 < 21 bytes data, client => server 17:49:23.260420 'RETR verifiedserver\r\n' 17:49:23.260583 Received DATA (on stdin) 17:49:23.260604 > 29 bytes data, server => client 17:49:23.260616 '150 Binary junk (17 bytes).\r\n' 17:49:23.261007 Received DATA (on stdin) 17:49:23.261020 > 28 bytes data, server => client 17:49:23.261031 '226 File transfer complete\r\n' 17:49:23.303680 < 6 bytes data, client => server 17:49:23.303705 'QUIT\r\n' 17:49:23.303915 Received DATA (on stdin) 17:49:23.303927 > 18 bytes data, server => client 17:49:23.303937 '221 bye bye baby\r\n' 17:49:23.304941 ====> Client disconnect 17:49:23.305097 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:23.259352 Running IPv4 version 17:49:23.259420 Listening on port 38499 17:49:23.259461 Wrote pid 93179 to log/12/server/ftp_sockdata.pid 17:49:23.259481 Received PING (on stdin) 17:49:23.259595 Received PORT (on stdin) 17:49:23.259934 ====> Client connect 17:49:23.260616 Received DATA (on stdin) 17:49:23.260628 > 17 bytes data, server => client 17:49:23.260638 'WE ROOLZ: 81047\r\n' 17:49:23.260661 Received DISC (on stdin) 17:49:23.260672 ====> Client forcibly disconnected 17:49:23.260746 Received QUIT (on stdin) 17:49:23.260755 quits 17:49:23.260809 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 289 === End of file server.cmd === Start of file valgrind289 ==93254== ==93254== Process terminating with default action of signal 4 (SIGILL) ==93254== Illegal opcode at address 0x4014520 ==93254== at 0x4014520: getparameter (tool_getparam.c:2862) ==93254== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93254== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93254== by 0x4003728: main (tool_main.c:186) === End of file valgrind289 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/10/valgrind290 ../src/curl -q --output log/10/curl290.out --include --trace-ascii log/10/trace290 --trace-time ftp://127.0.0.1:41693/290 --max-filesize 30 > log/10/stdout290 2> log/10/stderr290 290: 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 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/10/valgrind290 ../src/curl -q --output log/10/curl290.out --include --trace-ascii log/10/trace290 --trace-time ftp://127.0.0.1:41693/290 --max-filesize 30 > log/10/stdout290 2> log/10/stderr290 === End of file commands.log === Start of file ftp_server.log 17:49:23.435916 ====> Client connect 17:49:23.436055 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:23.436271 < "USER anonymous" 17:49:23.436298 > "331 We are happy you popped in![CR][LF]" 17:49:23.436726 < "PASS ftp@example.com" 17:49:23.436751 > "230 Welcome you silly person[CR][LF]" 17:49:23.437223 < "PWD" 17:49:23.437254 > "257 "/" is current directory[CR][LF]" 17:49:23.437395 < "EPSV" 17:49:23.437417 ====> Passive DATA channel requested by client 17:49:23.437430 DATA sockfilt for passive data channel starting... 17:49:23.443552 DATA sockfilt for passive data channel started (pid 93236) 17:49:23.443690 DATA sockfilt for passive data channel listens on port 46387 17:49:23.443744 > "229 Entering Passive Mode (|||46387|)[CR][LF]" 17:49:23.443763 Client has been notified that DATA conn will be accepted on port 46387 17:49:23.444042 Client connects to port 46387 17:49:23.444073 ====> Client established passive DATA connection on port 46387 17:49:23.444162 < "TYPE I" 17:49:23.444194 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:23.444368 < "SIZE verifiedserver" 17:49:23.444407 > "213 17[CR][LF]" 17:49:23.444581 < "RETR verifiedserver" 17:49:23.444626 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:23.444738 =====> Closing passive DATA connection... 17:49:23.444763 Server disconnects passive DATA connection 17:49:23.445006 Server disconnected passive DATA connection 17:49:23.445036 DATA sockfilt for passive data channel quits (pid 93236) 17:49:23.445275 DATA sockfilt for passive data channel quit (pid 93236) 17:49:23.445305 =====> Closed passive DATA connection 17:49:23.445340 > "226 File transfer complete[CR][LF]" 17:49:23.490349 < "QUIT" 17:49:23.490415 > "221 bye bye baby[CR][LF]" 17:49:23.490671 MAIN sockfilt said DISC 17:49:23.490725 ====> Client disconnected 17:49:23.490802 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:23.281993 ====> Client connect 17:49:23.282246 Received DATA (on stdin) 17:49:23.282257 > 146 bytes data, server => client 17:49:23.282267 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:23.282275 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:23.282282 '220 \___|\___/|_| \_\_____|\r\n' 17:49:23.282344 < 16 bytes data, client => server 17:49:23.282353 'USER anonymous\r\n' 17:49:23.282482 Received DATA (on stdin) 17:49:23.282491 > 33 bytes data, server => client 17:49:23.282499 '331 We are happy you popped in!\r\n' 17:49:23.282539 < 22 bytes data, client => server 17:49:23.282547 'PASS ftp@example.com\r\n' 17:49:23.283208 Received DATA (on stdin) 17:49:23.283227 > 30 bytes data, server => client 17:49:23.283238 '230 Welcome you silly person\r\n' 17:49:23.283326 < 5 bytes data, client => server 17:49:23.283336 'PWD\r\n' 17:49:23.283440 Received DATA (on stdin) 17:49:23.283449 > 30 bytes data, server => client 17:49:23.283458 '257 "/" is current directory\r\n' 17:49:23.283507 < 6 bytes data, client => server 17:49:23.283517 'EPSV\r\n' 17:49:23.289959 Received DATA (on stdin) 17:49:23.289974 > 39 bytes data, server => client 17:49:23.289984 '229 Entering Passive Mode (|||46387|)\r\n' 17:49:23.290178 < 8 bytes data, client => server 17:49:23.290190 'TYPE I\r\n' 17:49:23.290383 Received DATA (on stdin) 17:49:23.290396 > 33 bytes data, server => client 17:49:23.290407 '200 I modify TYPE as you wanted\r\n' 17:49:23.290462 < 21 bytes data, client => server 17:49:23.290475 'SIZE verifiedserver\r\n' 17:49:23.290600 Received DATA (on stdin) 17:49:23.290611 > 8 bytes data, server => client 17:49:23.290622 '213 17\r\n' 17:49:23.290672 < 21 bytes data, client => server 17:49:23.290686 'RETR verifiedserver\r\n' 17:49:23.291049 Received DATA (on stdin) 17:49:23.291062 > 29 bytes data, server => client 17:49:23.291073 '150 Binary junk (17 bytes).\r\n' 17:49:23.291535 Received DATA (on stdin) 17:49:23.291548 > 28 bytes data, server => client 17:49:23.291559 '226 File transfer complete\r\n' 17:49:23.336335 < 6 bytes data, client => server 17:49:23.336366 'QUIT\r\n' 17:49:23.336612 Received DATA (on stdin) 17:49:23.336625 > 18 bytes data, server => client 17:49:23.336635 '221 bye bye baby\r\n' 17:49:23.336790 ====> Client disconnect 17:49:23.336991 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:23.284833 Running IPv4 version 17:49:23.284880 Listening on port 46387 17:49:23.284913 Wrote pid 93236 to log/10/server/ftp_sockdata.pid 17:49:23.289663 Received PING (on stdin) 17:49:23.289779 Received PORT (on stdin) 17:49:23.290150 ====> Client connect 17:49:23.290959 Received DATA (on stdin) 17:49:23.290973 > 17 bytes data, server => client 17:49:23.290984 'WE ROOLZ: 81055\r\n' 17:49:23.291011 Received DISC (on stdin) 17:49:23.291024 ====> Client forcibly disconnected 17:49:23.291234 Received QUIT (on stdin) 17:49:23.291247 quits 17:49:23.291313 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 290 === End of file server.cmd === Start of file valgrind290 ==93303== ==93303== Process terminating with default action of signal 4 (SIGILL) ==93303== Illegal opcode at address 0x4014520 ==93303== at 0x4014520: getparameter (tool_getparam.c:2862) ==93303== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93303== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93303== by 0x4003728: main (tool_main.c:186) === End of file valgrind290 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/22/valgrind292 ../src/curl -q --output log/22/curl292.out --include --trace-ascii log/22/trace292 --trace-time http://127.0.0.1:42933/292 --max-filesize 1000 > log/22/stdout292 2> log/22/stderr292 292: 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 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/22/valgrind292 ../src/curl -q --output log/22/curl292.out --include --trace-ascii log/22/trace292 --trace-time http://127.0.0.1:42933/292 --max-filesize 1000 > log/22/stdout292 2> log/22/stderr292 === End of file commands.log === Start of file http_server.log 17:49:23.374863 ====> Client connect 17:49:23.374895 accept_connection 3 returned 4 17:49:23.374911 accept_connection 3 returned 0 17:49:23.374924 Read 93 bytes 17:49:23.374933 Process 93 bytes request 17:49:23.374946 Got request: GET /verifiedserver HTTP/1.1 17:49:23.374954 Are-we-friendly question received 17:49:23.374980 Wrote request (93 bytes) input to log/22/server.input 17:49:23.374997 Identifying ourselves as friends 17:49:23.375056 Response sent (56 bytes) and written to log/22/server.response 17:49:23.375066 special request received, no persistency 17:49:23.375074 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 33046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind292 ==93382== ==93382== Process terminating with default action of signal 4 (SIGILL) ==93382== Illegal opcode at address 0x4014520 ==93382== at 0x4014520: getparameter (tool_getparam.c:2862) ==93382== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93382== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93382== by 0x4003728: main (tool_main.c:186) === End of file valgrind292 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/6/valgrind291 ../src/curl -q --output log/6/curl291.out --include --trace-ascii log/6/trace291 --trace-time ftp://127.0.0.1:36757/291 --max-filesize 100 > log/6/stdout291 2> log/6/stderr291 291: 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 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/6/valgrind291 ../src/curl -q --output log/6/curl291.out --include --trace-ascii log/6/trace291 --trace-time ftp://127.0.0.1:36757/291 --max-filesize 100 > log/6/stdout291 2> log/6/stderr291 === End of file commands.log === Start of file ftp_server.log 17:49:23.471460 ====> Client connect 17:49:23.471606 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:23.471867 < "USER anonymous" 17:49:23.471903 > "331 We are happy you popped in![CR][LF]" 17:49:23.472054 < "PASS ftp@example.com" 17:49:23.472079 > "230 Welcome you silly person[CR][LF]" 17:49:23.472216 < "PWD" 17:49:23.472243 > "257 "/" is current directory[CR][LF]" 17:49:23.472384 < "EPSV" 17:49:23.472409 ====> Passive DATA channel requested by client 17:49:23.472422 DATA sockfilt for passive data channel starting... 17:49:23.474021 DATA sockfilt for passive data channel started (pid 93265) 17:49:23.474130 DATA sockfilt for passive data channel listens on port 37505 17:49:23.474173 > "229 Entering Passive Mode (|||37505|)[CR][LF]" 17:49:23.474190 Client has been notified that DATA conn will be accepted on port 37505 17:49:23.474401 Client connects to port 37505 17:49:23.474430 ====> Client established passive DATA connection on port 37505 17:49:23.474504 < "TYPE I" 17:49:23.474531 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:23.474672 < "SIZE verifiedserver" 17:49:23.474708 > "213 17[CR][LF]" 17:49:23.474851 < "RETR verifiedserver" 17:49:23.474885 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:23.474966 =====> Closing passive DATA connection... 17:49:23.474982 Server disconnects passive DATA connection 17:49:23.475194 Server disconnected passive DATA connection 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/3/valgrind293 ../src/curl -q --output log/3/curl293.out --include --trace-ascii log/3/trace293 --trace-time http://127.0.0.1:45927/293 --max-filesize 2 > log/3/stdout293 2> log/3/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/5/valgrind294 ../src/curl -q --output log/5/curl294.out --include --trace-ascii log/5/trace294 --trace-time ftp://127.0.0.1:34559/294/ --ftp-account "data for acct" > log/5/stdout294 2> log/5/stderr294 CMD (33792): ../libtool --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/valgrind275 ../src/curl -q --output log/16/curl275.out --include --trace-ascii log/16/trace275 --trace-time http://remotesite.com.275:40899/we/want/that/page/275 -p -x 127.0.0.1:34577 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:40899/we/want/that/page/275 > log/16/stdout275 2> log/16/stderr275 7:49:23.475220 DATA sockfilt for passive data channel quits (pid 93265) 17:49:23.475417 DATA sockfilt for passive data channel quit (pid 93265) 17:49:23.475449 =====> Closed passive DATA connection 17:49:23.475477 > "226 File transfer complete[CR][LF]" 17:49:23.520364 < "QUIT" 17:49:23.520419 > "221 bye bye baby[CR][LF]" 17:49:23.521525 MAIN sockfilt said DISC 17:49:23.521554 ====> Client disconnected 17:49:23.521634 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:23.317544 ====> Client connect 17:49:23.317803 Received DATA (on stdin) 17:49:23.317817 > 146 bytes data, server => client 17:49:23.317829 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:23.317839 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:23.317848 '220 \___|\___/|_| \_\_____|\r\n' 17:49:23.317919 < 16 bytes data, client => server 17:49:23.317930 'USER anonymous\r\n' 17:49:23.318090 Received DATA (on stdin) 17:49:23.318102 > 33 bytes data, server => client 17:49:23.318112 '331 We are happy you popped in!\r\n' 17:49:23.318158 < 22 bytes data, client => server 17:49:23.318168 'PASS ftp@example.com\r\n' 17:49:23.318265 Received DATA (on stdin) 17:49:23.318275 > 30 bytes data, server => client 17:49:23.318284 '230 Welcome you silly person\r\n' 17:49:23.318327 < 5 bytes data, client => server 17:49:23.318336 'PWD\r\n' 17:49:23.318427 Received DATA (on stdin) 17:49:23.318437 > 30 bytes data, server => client 17:49:23.318447 '257 "/" is current directory\r\n' 17:49:23.318497 < 6 bytes data, client => server 17:49:23.318507 'EPSV\r\n' 17:49:23.320383 Received DATA (on stdin) 17:49:23.320395 > 39 bytes data, server => client 17:49:23.320406 '229 Entering Passive Mode (|||37505|)\r\n' 17:49:23.320516 < 8 bytes data, client => server 17:49:23.320529 'TYPE I\r\n' 17:49:23.320717 Received DATA (on stdin) 17:49:23.320728 > 33 bytes data, server => client 17:49:23.320738 '200 I modify TYPE as you wanted\r\n' 17:49:23.320783 < 21 bytes data, client => server 17:49:23.320793 'SIZE verifiedserver\r\n' 17:49:23.320894 Received DATA (on stdin) 17:49:23.320906 > 8 bytes data, server => client 17:49:23.320915 '213 17\r\n' 17:49:23.320961 < 21 bytes data, client => server 17:49:23.320971 'RETR verifiedserver\r\n' 17:49:23.321251 Received DATA (on stdin) 17:49:23.321261 > 29 bytes data, server => client 17:49:23.321271 '150 Binary junk (17 bytes).\r\n' 17:49:23.321667 Received DATA (on stdin) 17:49:23.321681 > 28 bytes data, server => client 17:49:23.321692 '226 File transfer complete\r\n' 17:49:23.366356 < 6 bytes data, client => server 17:49:23.366390 'QUIT\r\n' 17:49:23.366609 Received DATA (on stdin) 17:49:23.366620 > 18 bytes data, server => client 17:49:23.366631 '221 bye bye baby\r\n' 17:49:23.367665 ====> Client disconnect 17:49:23.367821 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:23.320036 Running IPv4 version 17:49:23.320092 Listening on port 37505 17:49:23.320131 Wrote pid 93265 to log/6/server/ftp_sockdata.pid 17:49:23.320151 Received PING (on stdin) 17:49:23.320233 Received PORT (on stdin) 17:49:23.320546 ====> Client connect 17:49:23.321172 Received DATA (on stdin) 17:49:23.321183 > 17 bytes data, server => client 17:49:23.321194 'WE ROOLZ: 81072\r\n' 17:49:23.321218 Received DISC (on stdin) 17:49:23.321229 ====> Client forcibly disconnected 17:49:23.321414 Received QUIT (on stdin) 17:49:23.321425 quits 17:49:23.321483 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 291 === End of file server.cmd === Start of file valgrind291 ==93354== ==93354== Process terminating with default action of signal 4 (SIGILL) ==93354== Illegal opcode at address 0x4014520 ==93354== at 0x4014520: getparameter (tool_getparam.c:2862) ==93354== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93354== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93354== by 0x4003728: main (tool_main.c:186) === End of file valgrind291 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/3/valgrind293 ../src/curl -q --output log/3/curl293.out --include --trace-ascii log/3/trace293 --trace-time http://127.0.0.1:45927/293 --max-filesize 2 > log/3/stdout293 2> log/3/stderr293 293: 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 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/3/valgrind293 ../src/curl -q --output log/3/curl293.out --include --trace-ascii log/3/trace293 --trace-time http://127.0.0.1:45927/293 --max-filesize 2 > log/3/stdout293 2> log/3/stderr293 === End of file commands.log === Start of file http_server.log 17:49:23.456219 ====> Client connect 17:49:23.456247 accept_connection 3 returned 4 17:49:23.456260 accept_connection 3 returned 0 17:49:23.456271 Read 93 bytes 17:49:23.456278 Process 93 bytes request 17:49:23.456289 Got request: GET /verifiedserver HTTP/1.1 17:49:23.456296 Are-we-friendly question received 17:49:23.456316 Wrote request (93 bytes) input to log/3/server.input 17:49:23.456328 Identifying ourselves as friends 17:49:23.456383 Response sent (56 bytes) and written to log/3/server.response 17:49:23.456394 special request received, no persistency 17:49:23.456402 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 54748 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind293 ==93511== ==93511== Process terminating with default action of signal 4 (SIGILL) ==93511== Illegal opcode at address 0x4014520 ==93511== at 0x4014520: getparameter (tool_getparam.c:2862) ==93511== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93511== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93511== by 0x4003728: main (tool_main.c:186) === End of file valgrind293 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/5/valgrind294 ../src/curl -q --output log/5/curl294.out --include --trace-ascii log/5/trace294 --trace-time ftp://127.0.0.1:34559/294/ --ftp-account "data for acct" > log/5/stdout294 2> log/5/stderr294 294: 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 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/5/valgrind294 ../src/curl -q --output log/5/curl294.out --include --trace-ascii log/5/trace294 --trace-time ftp://127.0.0.1:34559/294/ --ftp-account "data for acct" > log/5/stdout294 2> log/5/stderr294 === End of file commands.log === Start of file ftp_server.log 17:49:23.606780 ====> Client connect 17:49:23.606951 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:23.607219 < "USER anonymous" 17:49:23.607251 > "331 We are happy you popped in![CR][LF]" 17:49:23.607395 < "PASS ftp@example.com" 17:49:23.607419 > "230 Welcome you silly person[CR][LF]" 17:49:23.607550 < "PWD" 17:49:23.607578 > "257 "/" is current directory[CR][LF]" 17:49:23.607719 < "EPSV" 17:49:23.607745 ====> Passive DATA channel requested by client 17:49:23.607759 DATA sockfilt for passive data channel starting... 17:49:23.609344 DATA sockfilt for passive data channel started (pid 93506) 17:49:23.609461 DATA sockfilt for passive data channel listens on port 37393 17:49:23.609510 > "229 Entering Passive Mode (|||37393|)[CR][LF]" 17:49:23.609530 Client has been notified that DATA conn will be accepted on port 37393 17:49:23.609757 Client connects to port 37393 17:49:23.609788 ====> Client established passive DATA connection on port 37393 17:49:23.609863 < "TYPE I" 17:49:23.609894 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:23.610077 < "SIZE verifiedserver" 17:49:23.610118 > "213 17[CR][LF]" 17:49:23.610645 < "RETR verifiedserver" 17:49:23.610684 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:23.610780 =====> Closing passive DATA connection... 17:49:23.610799 Server disconnects passive DATA connection 17:49:23.611038 Server disconnected passive DATA connection 17:49:23.611104 DATA sockfilt for passive data channel quits (pid 93506) 17:49:23.611414 DATA sockfilt for passive data channel quit (pid 93506) 17:49:23.611438 =====> Closed passive DATA connection 17:49:23.611475 > "226 File transfer complete[CR][LF]" 17:49:23.657078 < "QUIT" 17:49:23.657139 > "221 bye bye baby[CR][LF]" 17:49:23.657596 MAIN sockfilt said DISC 17:49:23.657625 ====> Client disconnected 17:49:23.657708 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:23.452751 ====> Client connect 17:49:23.453150 Received DATA (on stdin) 17:49:23.453164 > 146 bytes data, server => client 17:49:23.453175 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:23.453185 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:23.453193 '220 \___|\___/|_| \_\_____|\r\n' 17:49:23.453267 < 16 bytes data, client => server 17:49:23.453278 'USER anonymous\r\n' 17:49:23.453438 Received DATA (on stdin) 17:49:23.453449 > 33 bytes data, server => client 17:49:23.453458 '331 We are happy you popped in!\r\n' 17:49:23.453504 < 22 bytes data, client => server 17:49:23.453513 'PASS ftp@example.com\r\n' 17:49:23.453603 Received DATA (on stdin) 17:49:23.453613 > 30 bytes data, server => client 17:49:23.453622 '230 Welcome you silly person\r\n' 17:49:23.453664 < 5 bytes data, client => server 17:49:23.453672 'PWD\r\n' 17:49:23.453762 Received DATA (on stdin) 17:49:23.453772 > 30 bytes data, server => client 17:49:23.453781 '257 "/" is current directory\r\n' 17:49:23.453832 < 6 bytes data, client => server 17:49:23.453842 'EPSV\r\n' 17:49:23.455726 Received DATA (on stdin) 17:49:23.455739 > 39 bytes data, server => client 17:49:23.455750 '229 Entering Passive Mode (|||37393|)\r\n' 17:49:23.455893 < 8 bytes data, client => server 17:49:23.455904 'TYPE I\r\n' 17:49:23.456084 Received DATA (on stdin) 17:49:23.456096 > 33 bytes data, server => client 17:49:23.456107 '200 I modify TYPE as you wanted\r\n' 17:49:23.456159 < 21 bytes data, client => server 17:49:23.456179 'SIZE verifiedserver\r\n' 17:49:23.456660 Received DATA (on stdin) 17:49:23.456679 > 8 bytes data, server => client 17:49:23.456687 '213 17\r\n' 17:49:23.456740 < 21 bytes data, client => server 17:49:23.456753 'RETR verifiedserver\r\n' 17:49:23.456990 Received DATA (on stdin) 17:49:23.457004 > 29 bytes data, server => client 17:49:23.457015 '150 Binary junk (17 bytes).\r\n' 17:49:23.457675 Received DATA (on stdin) 17:49:23.457692 > 28 bytes data, server => client 17:49:23.457703 '226 File transfer complete\r\n' 17:49:23.503055 < 6 bytes data, client => server 17:49:23.503087 'QUIT\r\n' 17:49:23.503316 Received DATA (on stdin) 17:49:23.503339 > 18 bytes data, server => client 17:49:23.503350 '221 bye bye baby\r\n' 17:49:23.503734 ====> Client disconnect 17:49:23.503899 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:23.455355 Running IPv4 version 17:49:23.455413 Listening on port 37393 17:49:23.455455 Wrote pid 93506 to log/5/server/ftp_sockdata.pid 17:49:23.455474 Received PING (on stdin) 17:49:23.455563 Received PORT (on stdin) 17:49:23.455865 ====> Client connect 17:49:23.457051 Received DATA (on stdin) 17:49:23.457064 > 17 bytes data, server => client 17:49:23.457074 'WE ROOLZ: 81078\r\n' 17:49:23.457097 Received DISC (on stdin) 17:49:23.457108 ====> Client forcibly disconnected 17:49:23.457314 Received QUIT (on stdin) 17:49:23.457335 quits 17:49:23.457411 ============> 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 ==93590== ==93590== Process terminating with default action of signal 4 (SIGILL) ==93590== Illegal opcode at address 0x4014520 ==93590== at 0x4014520: getparameter (tool_getparam.c:2862) ==93590== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93590== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93590== by 0x4003728: main (tool_main.c:186) === End of file valgrind294 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 92469 port 34577 * pid http-proxy => 92469 92469 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/16/valgrind275 ../src/curl -q --output log/16/curl275.out --include --trace-ascii log/16/trace275 --trace-time http://remotesite.com.275:40899/we/want/that/page/275 -p -x 127.0.0.1:34577 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:40899/we/want/that/page/275 > log/16/stdout275 2> log/16/stderr275 275: 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 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/16/valgrind275 ../src/curl -q --output log/16/curl275.out --include --trace-ascii log/16/trace275 --trace-time http://remotesite.com.275:40899/we/want/that/page/275 -p -x 127.0.0.1:34577 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:40899/we/want/that/page/275 > log/16/stdout275 2> log/16/stderr275 === End of file commands.log === Start of file http2_server.log 17:49:22.543570 Run as proxy, CONNECT to host 127.0.0.1 17:49:22.543737 Running HTTP IPv4 version on port 34577 17:49:22.543800 Wrote pid 92469 to log/16/server/http2_server.pid 17:49:22.543835 Wrote port 34577 to log/16/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:49:22.519841 ====> Client connect 17:49:22.519959 accept_connection 3 returned 4 17:49:22.519972 accept_connection 3 returned 0 17:49:22.519985 Read 93 bytes 17:49:22.519992 Process 93 bytes request 17:49:22.520004 Got request: GET /verifiedserver HTTP/1.1 17:49:22.520011 Are-we-friendly question received 17:49:22.520034 Wrote request (93 bytes) input to log/16/server.input 17:49:22.520047 IdentifyinCMD (33792): ../libtool --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/valgrind296 ../src/curl -q --output log/14/curl296.out --include --trace-ascii log/14/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:38643/first/second/third/296 > log/14/stdout296 2> log/14/stderr296 g ourselves as friends 17:49:22.520094 Response sent (56 bytes) and written to log/16/server.response 17:49:22.520101 special request received, no persistency 17:49:22.520108 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 58784 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind275 ==93617== ==93617== Process terminating with default action of signal 4 (SIGILL) ==93617== Illegal opcode at address 0x4014520 ==93617== at 0x4014520: getparameter (tool_getparam.c:2862) ==93617== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93617== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93617== by 0x4003728: main (tool_main.c:186) === End of file valgrind275 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/14/valgrind296 ../src/curl -q --output log/14/curl296.out --include --trace-ascii log/14/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:38643/first/second/third/296 > log/14/stdout296 2> log/14/stderr296 296: 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 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/14/valgrind296 ../src/curl -q --output log/14/curl296.out --include --trace-ascii log/14/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:38643/first/second/third/296 > log/14/stdout296 2> log/14/stderr296 === End of file commands.log === Start of file ftp_server.log 17:49:23.656956 ====> Client connect 17:49:23.657183 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:23.657487 < "USER anonymous" 17:49:23.657526 > "331 We are happy you popped in![CR][LF]" 17:49:23.657703 < "PASS ftp@example.com" 17:49:23.657735 > "230 Welcome you silly person[CR][LF]" 17:49:23.657882 < "PWD" 17:49:23.657909 > "257 "/" is current directory[CR][LF]" 17:49:23.658060 < "EPSV" 17:49:23.658082 ====> Passive DATA channel requested by client 17:49:23.658095 DATA sockfilt for passive data channel starting... 17:49:23.659726 DATA sockfilt for passive data channel started (pid 93584) 17:49:23.659835 DATA sockfilt for passive data channel listens on port 42697 17:49:23.659883 > "229 Entering Passive Mode (|||42697|)[CR][LF]" 17:49:23.659905 Client has been notified that DATA conn will be accepted on port 42697 17:49:23.660132 Client connects to port 42697 17:49:23.660163 ====> Client established passive DATA connection on port 42697 17:49:23.660238 < "TYPE I" 17:49:23.660266 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:23.660432 < "SIZE verifiedserver" 17:49:23.660469 > "213 17[CR][LF]" 17:49:23.660632 < "RETR verifiedserver" 17:49:23.660668 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:23.660757 =====> Closing passive DATA connection... 17:49:23.660777 Server disconnects passive DATA connection 17:49:23.660999 Server disconnected passive DATA connection 17:49:23.661030 DATA sockfilt for passive data channel quits (pid 93584) 17:49:23.661229 DATA sockfilt for passive data channel quit (pid 93584) 17:49:23.661255 =====> Closed passive DATA connection 17:49:23.661283 > "226 File transfer complete[CR][LF]" 17:49:23.704221 < "QUIT" 17:49:23.704276 > "221 bye bye baby[CR][LF]" 17:49:23.704566 MAIN sockfilt said DISC 17:49:23.704618 ====> Client disconnected 17:49:23.704696 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:23.503014 ====> Client connect 17:49:23.503397 Received DATA (on stdin) 17:49:23.503419 > 146 bytes data, server => client 17:49:23.503431 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:23.503442 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:23.503453 '220 \___|\___/|_| \_\_____|\r\n' 17:49:23.503532 < 16 bytes data, client => server 17:49:23.503545 'USER anonymous\r\n' 17:49:23.503697 Received DATA (on stdin) 17:49:23.503716 > 33 bytes data, server => client 17:49:23.503727 '331 We are happy you popped in!\r\n' 17:49:23.503784 < 22 bytes data, client => server 17:49:23.503794 'PASS ftp@example.com\r\n' 17:49:23.503923 Received DATA (on stdin) 17:49:23.503934 > 30 bytes data, server => client 17:49:23.503944 '230 Welcome you silly person\r\n' 17:49:23.503990 < 5 bytes data, client => server 17:49:23.504000 'PWD\r\n' 17:49:23.504095 Received DATA (on stdin) 17:49:23.504105 > 30 bytes data, server => client 17:49:23.504116 '257 "/" is current directory\r\n' 17:49:23.504171 < 6 bytes data, client => server 17:49:23.504181 'EPSV\r\n' 17:49:23.506098 Received DATA (on stdin) 17:49:23.506111 > 39 bytes data, server => client 17:49:23.506121 '229 Entering Passive Mode (|||42697|)\r\n' 17:49:23.506268 < 8 bytes data, client => server 17:49:23.506278 'TYPE I\r\n' 17:49:23.506455 Received DATA (on stdin) 17:49:23.506466 > 33 bytes data, server => client 17:49:23.506477 '200 I modify TYPE as you wanted\r\n' 17:49:23.506530 < 21 bytes data, client => server 17:49:23.506543 'SIZE verifiedserver\r\n' 17:49:23.506660 Received DATA (on stdin) 17:49:23.506671 > 8 bytes data, server => client 17:49:23.506681 '213 17\r\n' 17:49:23.506731 < 21 bytes data, client => server 17:49:23.506744 'RETR verifiedserver\r\n' 17:49:23.506968 Received DATA (on stdin) 17:49:23.506979 > 29 bytes data, server => client 17:49:23.506990 '150 Binary junk (17 bytes).\r\n' 17:49:23.507473 Received DATA (on stdin) 17:49:23.507485 > 28 bytes data, server => client 17:49:23.507496 '226 File transfer complete\r\n' 17:49:23.550213 < 6 bytes data, client => server 17:49:23.550243 'QUIT\r\n' 17:49:23.550467 Received DATA (on stdin) 17:49:23.550479 > 18 bytes data, server => client 17:49:23.550488 '221 bye bye baby\r\n' 17:49:23.550685 ====> Client disconnect 17:49:23.550840 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:23.505741 Running IPv4 version 17:49:23.505794 Listening on port 42697 17:49:23.505834 Wrote pid 93584 to log/14/server/ftp_sockdata.pid 17:49:23.505855 Received PING (on stdin) 17:49:23.505940 Received PORT (on stdin) 17:49:23.506241 ====> Client connect 17:49:23.507016 Received DATA (on stdin) 17:49:23.507029 > 17 bytes data, server => client 17:49:23.507039 'WE ROOLZ: 81129\r\n' 17:49:23.507061 Received DISC (on stdin) 17:49:23.507072 ====> Client forcibly disconnected 17:49:23.507227 Received QUIT (on stdin) 17:49:23.507239 quits 17:49:23.507292 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 296 === End of file server.cmd === Start of file valgrind296 ==93694== ==93694== Process terminating with default action of signal 4 (SIGILL) ==93694== Illegal opcode at address 0x4014520 ==93694== at 0x4014520: getparameter (tool_getparam.c:2862) ==93694== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93694== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93694== by 0x4003728: main (tool_main.c:186) === 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/21/valgrind295 ../src/curl -q --output log/21/curl295.out --include --trace-ascii log/21/trace295 --trace-time ftp://127.0.0.1:37113/295/ > log/21/stdout295 2> log/21/stderr295 CMD (33792): ../libtool --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/valgrind297 ../src/curl -q --output log/18/curl297.out --include --trace-ascii log/18/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:36869/first/second/third/297 > log/18/stdout297 2> log/18/stderr297 valgrind296 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/21/valgrind295 ../src/curl -q --output log/21/curl295.out --include --trace-ascii log/21/trace295 --trace-time ftp://127.0.0.1:37113/295/ > log/21/stdout295 2> log/21/stderr295 295: 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 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/21/valgrind295 ../src/curl -q --output log/21/curl295.out --include --trace-ascii log/21/trace295 --trace-time ftp://127.0.0.1:37113/295/ > log/21/stdout295 2> log/21/stderr295 === End of file commands.log === Start of file ftp_server.log 17:49:23.638712 ====> Client connect 17:49:23.638882 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:23.639192 < "USER anonymous" 17:49:23.639232 > "331 We are happy you popped in![CR][LF]" 17:49:23.639455 < "PASS ftp@example.com" 17:49:23.639479 > "230 Welcome you silly person[CR][LF]" 17:49:23.639632 < "PWD" 17:49:23.639666 > "257 "/" is current directory[CR][LF]" 17:49:23.639836 < "EPSV" 17:49:23.639863 ====> Passive DATA channel requested by client 17:49:23.639878 DATA sockfilt for passive data channel starting... 17:49:23.641466 DATA sockfilt for passive data channel started (pid 93544) 17:49:23.641570 DATA sockfilt for passive data channel listens on port 33255 17:49:23.641614 > "229 Entering Passive Mode (|||33255|)[CR][LF]" 17:49:23.641631 Client has been notified that DATA conn will be accepted on port 33255 17:49:23.641848 Client connects to port 33255 17:49:23.641879 ====> Client established passive DATA connection on port 33255 17:49:23.641954 < "TYPE I" 17:49:23.641984 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:23.642150 < "SIZE verifiedserver" 17:49:23.642187 > "213 17[CR][LF]" 17:49:23.642346 < "RETR verifiedserver" 17:49:23.642383 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:23.642469 =====> Closing passive DATA connection... 17:49:23.642488 Server disconnects passive DATA connection 17:49:23.642718 Server disconnected passive DATA connection 17:49:23.642749 DATA sockfilt for passive data channel quits (pid 93544) 17:49:23.642958 DATA sockfilt for passive data channel quit (pid 93544) 17:49:23.642985 =====> Closed passive DATA connection 17:49:23.643012 > "226 File transfer complete[CR][LF]" 17:49:23.690088 < "QUIT" 17:49:23.690139 > "221 bye bye baby[CR][LF]" 17:49:23.691462 MAIN sockfilt said DISC 17:49:23.691495 ====> Client disconnected 17:49:23.691570 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:23.484780 ====> Client connect 17:49:23.485081 Received DATA (on stdin) 17:49:23.485095 > 146 bytes data, server => client 17:49:23.485107 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:23.485117 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:23.485127 '220 \___|\___/|_| \_\_____|\r\n' 17:49:23.485220 < 16 bytes data, client => server 17:49:23.485247 'USER anonymous\r\n' 17:49:23.485433 Received DATA (on stdin) 17:49:23.485448 > 33 bytes data, server => client 17:49:23.485459 '331 We are happy you popped in!\r\n' 17:49:23.485548 < 22 bytes data, client => server 17:49:23.485562 'PASS ftp@example.com\r\n' 17:49:23.485665 Received DATA (on stdin) 17:49:23.485675 > 30 bytes data, server => client 17:49:23.485685 '230 Welcome you silly person\r\n' 17:49:23.485737 < 5 bytes data, client => server 17:49:23.485748 'PWD\r\n' 17:49:23.485854 Received DATA (on stdin) 17:49:23.485865 > 30 bytes data, server => client 17:49:23.485876 '257 "/" is current directory\r\n' 17:49:23.485937 < 6 bytes data, client => server 17:49:23.485949 'EPSV\r\n' 17:49:23.487822 Received DATA (on stdin) 17:49:23.487834 > 39 bytes data, server => client 17:49:23.487845 '229 Entering Passive Mode (|||33255|)\r\n' 17:49:23.487986 < 8 bytes data, client => server 17:49:23.487997 'TYPE I\r\n' 17:49:23.488174 Received DATA (on stdin) 17:49:23.488186 > 33 bytes data, server => client 17:49:23.488196 '200 I modify TYPE as you wanted\r\n' 17:49:23.488248 < 21 bytes data, client => server 17:49:23.488262 'SIZE verifiedserver\r\n' 17:49:23.488375 Received DATA (on stdin) 17:49:23.488387 > 8 bytes data, server => client 17:49:23.488397 '213 17\r\n' 17:49:23.488447 < 21 bytes data, client => server 17:49:23.488459 'RETR verifiedserver\r\n' 17:49:23.488678 Received DATA (on stdin) 17:49:23.488690 > 29 bytes data, server => client 17:49:23.488701 '150 Binary junk (17 bytes).\r\n' 17:49:23.489202 Received DATA (on stdin) 17:49:23.489214 > 28 bytes data, server => client 17:49:23.489225 '226 File transfer complete\r\n' 17:49:23.536100 < 6 bytes data, client => server 17:49:23.536125 'QUIT\r\n' 17:49:23.536329 Received DATA (on stdin) 17:49:23.536339 > 18 bytes data, server => client 17:49:23.536348 '221 bye bye baby\r\n' 17:49:23.537401 ====> Client disconnect 17:49:23.537755 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:23.487483 Running IPv4 version 17:49:23.487542 Listening on port 33255 17:49:23.487578 Wrote pid 93544 to log/21/server/ftp_sockdata.pid 17:49:23.487597 Received PING (on stdin) 17:49:23.487678 Received PORT (on stdin) 17:49:23.487958 ====> Client connect 17:49:23.488727 Received DATA (on stdin) 17:49:23.488739 > 17 bytes data, server => client 17:49:23.488749 'WE ROOLZ: 81123\r\n' 17:49:23.488772 Received DISC (on stdin) 17:49:23.488783 ====> Client forcibly disconnected 17:49:23.488947 Received QUIT (on stdin) 17:49:23.488959 quits 17:49:23.489017 ============> 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 ==93645== ==93645== Process terminating with default action of signal 4 (SIGILL) ==93645== Illegal opcode at address 0x4014520 ==93645== at 0x4014520: getparameter (tool_getparam.c:2862) ==93645== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93645== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93645== by 0x4003728: main (tool_main.c:186) === End of file valgrind295 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/18/valgrind297 ../src/curl -q --output log/18/curl297.out --include --trace-ascii log/18/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:36869/first/second/third/297 > log/18/stdout297 2> log/18/stderr297 297: 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 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/18/valgrind297 ../src/curl -q --output log/18/curl297.out --include --trace-ascii log/18/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:36869/first/second/third/297 > log/18/stdout297 2> log/18/stderr297 === End of file commands.log === Start of file ftp_server.log 17:49:23.821972 ====> Client connect 17:49:23.822155 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:23.822475 < "USER anonymoCMD (33792): ../libtool --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/valgrind298 ../src/curl -q --output log/1/curl298.out --include --trace-ascii log/1/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:39965/first/second/th%69rd/298 > log/1/stdout298 2> log/1/stderr298 CMD (33792): ../libtool --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/valgrind299 ../src/curl -q --output log/2/curl299.out --include --trace-ascii log/2/trace299 --trace-time -x http://127.0.0.1:38779 -u michal:aybabtu ftp://host.com/we/want/299 > log/2/stdout299 2> log/2/stderr299 us" 17:49:23.822515 > "331 We are happy you popped in![CR][LF]" 17:49:23.822693 < "PASS ftp@example.com" 17:49:23.822722 > "230 Welcome you silly person[CR][LF]" 17:49:23.822886 < "PWD" 17:49:23.822919 > "257 "/" is current directory[CR][LF]" 17:49:23.823095 < "EPSV" 17:49:23.823121 ====> Passive DATA channel requested by client 17:49:23.823136 DATA sockfilt for passive data channel starting... 17:49:23.824796 DATA sockfilt for passive data channel started (pid 93812) 17:49:23.824906 DATA sockfilt for passive data channel listens on port 41205 17:49:23.824950 > "229 Entering Passive Mode (|||41205|)[CR][LF]" 17:49:23.824971 Client has been notified that DATA conn will be accepted on port 41205 17:49:23.825196 Client connects to port 41205 17:49:23.825227 ====> Client established passive DATA connection on port 41205 17:49:23.825295 < "TYPE I" 17:49:23.825323 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:23.825477 < "SIZE verifiedserver" 17:49:23.825513 > "213 17[CR][LF]" 17:49:23.825659 < "RETR verifiedserver" 17:49:23.825697 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:23.825783 =====> Closing passive DATA connection... 17:49:23.825799 Server disconnects passive DATA connection 17:49:23.826016 Server disconnected passive DATA connection 17:49:23.826043 DATA sockfilt for passive data channel quits (pid 93812) 17:49:23.826271 DATA sockfilt for passive data channel quit (pid 93812) 17:49:23.826294 =====> Closed passive DATA connection 17:49:23.826320 > "226 File transfer complete[CR][LF]" 17:49:23.867043 < "QUIT" 17:49:23.867100 > "221 bye bye baby[CR][LF]" 17:49:23.867544 MAIN sockfilt said DISC 17:49:23.867572 ====> Client disconnected 17:49:23.867659 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:24.668035 ====> Client connect 17:49:24.668372 Received DATA (on stdin) 17:49:24.668391 > 146 bytes data, server => client 17:49:24.668404 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:24.668414 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:24.668424 '220 \___|\___/|_| \_\_____|\r\n' 17:49:24.668508 < 16 bytes data, client => server 17:49:24.668522 'USER anonymous\r\n' 17:49:24.668710 Received DATA (on stdin) 17:49:24.668723 > 33 bytes data, server => client 17:49:24.668734 '331 We are happy you popped in!\r\n' 17:49:24.668787 < 22 bytes data, client => server 17:49:24.668800 'PASS ftp@example.com\r\n' 17:49:24.668911 Received DATA (on stdin) 17:49:24.668923 > 30 bytes data, server => client 17:49:24.668933 '230 Welcome you silly person\r\n' 17:49:24.668984 < 5 bytes data, client => server 17:49:24.668996 'PWD\r\n' 17:49:24.669109 Received DATA (on stdin) 17:49:24.669122 > 30 bytes data, server => client 17:49:24.669132 '257 "/" is current directory\r\n' 17:49:24.669193 < 6 bytes data, client => server 17:49:24.669207 'EPSV\r\n' 17:49:24.671163 Received DATA (on stdin) 17:49:24.671175 > 39 bytes data, server => client 17:49:24.671186 '229 Entering Passive Mode (|||41205|)\r\n' 17:49:24.671332 < 8 bytes data, client => server 17:49:24.671343 'TYPE I\r\n' 17:49:24.671513 Received DATA (on stdin) 17:49:24.671524 > 33 bytes data, server => client 17:49:24.671534 '200 I modify TYPE as you wanted\r\n' 17:49:24.671583 < 21 bytes data, client => server 17:49:24.671594 'SIZE verifiedserver\r\n' 17:49:24.671701 Received DATA (on stdin) 17:49:24.671712 > 8 bytes data, server => client 17:49:24.671722 '213 17\r\n' 17:49:24.671767 < 21 bytes data, client => server 17:49:24.671778 'RETR verifiedserver\r\n' 17:49:24.671988 Received DATA (on stdin) 17:49:24.671999 > 29 bytes data, server => client 17:49:24.672010 '150 Binary junk (17 bytes).\r\n' 17:49:24.672508 Received DATA (on stdin) 17:49:24.672520 > 28 bytes data, server => client 17:49:24.672530 '226 File transfer complete\r\n' 17:49:24.712995 < 6 bytes data, client => server 17:49:24.713033 'QUIT\r\n' 17:49:24.713295 Received DATA (on stdin) 17:49:24.713307 > 18 bytes data, server => client 17:49:24.713317 '221 bye bye baby\r\n' 17:49:24.713682 ====> Client disconnect 17:49:24.713845 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:23.670808 Running IPv4 version 17:49:23.670868 Listening on port 41205 17:49:23.670904 Wrote pid 93812 to log/18/server/ftp_sockdata.pid 17:49:23.670922 Received PING (on stdin) 17:49:23.671010 Received PORT (on stdin) 17:49:23.671305 ====> Client connect 17:49:23.672033 Received DATA (on stdin) 17:49:23.672045 > 17 bytes data, server => client 17:49:23.672056 'WE ROOLZ: 82094\r\n' 17:49:23.672078 Received DISC (on stdin) 17:49:23.672089 ====> Client forcibly disconnected 17:49:23.672239 Received QUIT (on stdin) 17:49:23.672249 quits 17:49:23.672306 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 297 === End of file server.cmd === Start of file valgrind297 ==93840== ==93840== Process terminating with default action of signal 4 (SIGILL) ==93840== Illegal opcode at address 0x4014520 ==93840== at 0x4014520: getparameter (tool_getparam.c:2862) ==93840== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93840== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93840== by 0x4003728: main (tool_main.c:186) === End of file valgrind297 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/1/valgrind298 ../src/curl -q --output log/1/curl298.out --include --trace-ascii log/1/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:39965/first/second/th%69rd/298 > log/1/stdout298 2> log/1/stderr298 298: 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 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/1/valgrind298 ../src/curl -q --output log/1/curl298.out --include --trace-ascii log/1/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:39965/first/second/th%69rd/298 > log/1/stdout298 2> log/1/stderr298 === End of file commands.log === Start of file ftp_server.log 17:49:23.850338 ====> Client connect 17:49:23.850538 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:23.850815 < "USER anonymous" 17:49:23.850853 > "331 We are happy you popped in![CR][LF]" 17:49:23.851023 < "PASS ftp@example.com" 17:49:23.851051 > "230 Welcome you silly person[CR][LF]" 17:49:23.851207 < "PWD" 17:49:23.851240 > "257 "/" is current directory[CR][LF]" 17:49:23.851412 < "EPSV" 17:49:23.851439 ====> Passive DATA channel requested by client 17:49:23.851453 DATA sockfilt for passive data channel starting... 17:49:23.853147 DATA sockfilt for passive data channel started (pid 93830) 17:49:23.853258 DATA sockfilt for passive data channel listens on port 37915 17:49:23.853305 > "229 Entering Passive Mode (|||37915|)[CR][LF]" 17:49:23.853325 Client has been notified that DATA conn will be accepted on port 37915 17:49:23.853567 Client connects to port 37915 17:49:23.853596 ====> Client established passive DATA connection on port 37915 17:49:23.853676 < "TYPE I" 17:49:23.853706 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:23.853871 < "SIZE verifiedserver" 17:49:23.853909 > "213 17[CR][LF]" 17:49:23.854072 < "RETR verifiedserver" 17:49:23.854109 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:23.854198 =====> Closing passive DATA connection... 17:49:23.854217 Server disconnects passive DATA connection 17:49:23.854383 Server disconnected passive DATA connection 17:49:23.854410 DATA sockfilt for passive data channel quits (pid 93830) 17:49:23.854629 DATA sockfilt for passive data chCMD (33792): ../libtool --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:55797// --connect-timeout 549 --max-time 599 > log/17/stdout285 2> log/17/stderr285 annel quit (pid 93830) 17:49:23.854657 =====> Closed passive DATA connection 17:49:23.854686 > "226 File transfer complete[CR][LF]" 17:49:23.898446 < "QUIT" 17:49:23.898504 > "221 bye bye baby[CR][LF]" 17:49:23.899915 MAIN sockfilt said DISC 17:49:23.899948 ====> Client disconnected 17:49:23.900052 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:23.696411 ====> Client connect 17:49:23.696740 Received DATA (on stdin) 17:49:23.696755 > 146 bytes data, server => client 17:49:23.696766 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:23.696777 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:23.696786 '220 \___|\___/|_| \_\_____|\r\n' 17:49:23.696859 < 16 bytes data, client => server 17:49:23.696873 'USER anonymous\r\n' 17:49:23.697045 Received DATA (on stdin) 17:49:23.697057 > 33 bytes data, server => client 17:49:23.697068 '331 We are happy you popped in!\r\n' 17:49:23.697119 < 22 bytes data, client => server 17:49:23.697132 'PASS ftp@example.com\r\n' 17:49:23.697238 Received DATA (on stdin) 17:49:23.697249 > 30 bytes data, server => client 17:49:23.697259 '230 Welcome you silly person\r\n' 17:49:23.697308 < 5 bytes data, client => server 17:49:23.697319 'PWD\r\n' 17:49:23.697429 Received DATA (on stdin) 17:49:23.697441 > 30 bytes data, server => client 17:49:23.697451 '257 "/" is current directory\r\n' 17:49:23.697511 < 6 bytes data, client => server 17:49:23.697524 'EPSV\r\n' 17:49:23.699526 Received DATA (on stdin) 17:49:23.699539 > 39 bytes data, server => client 17:49:23.699550 '229 Entering Passive Mode (|||37915|)\r\n' 17:49:23.699701 < 8 bytes data, client => server 17:49:23.699712 'TYPE I\r\n' 17:49:23.699896 Received DATA (on stdin) 17:49:23.699908 > 33 bytes data, server => client 17:49:23.699919 '200 I modify TYPE as you wanted\r\n' 17:49:23.699970 < 21 bytes data, client => server 17:49:23.699983 'SIZE verifiedserver\r\n' 17:49:23.700101 Received DATA (on stdin) 17:49:23.700112 > 8 bytes data, server => client 17:49:23.700122 '213 17\r\n' 17:49:23.700172 < 21 bytes data, client => server 17:49:23.700184 'RETR verifiedserver\r\n' 17:49:23.700410 Received DATA (on stdin) 17:49:23.700422 > 29 bytes data, server => client 17:49:23.700432 '150 Binary junk (17 bytes).\r\n' 17:49:23.700875 Received DATA (on stdin) 17:49:23.700888 > 28 bytes data, server => client 17:49:23.700898 '226 File transfer complete\r\n' 17:49:23.744415 < 6 bytes data, client => server 17:49:23.744445 'QUIT\r\n' 17:49:23.744700 Received DATA (on stdin) 17:49:23.744713 > 18 bytes data, server => client 17:49:23.744723 '221 bye bye baby\r\n' 17:49:23.746048 ====> Client disconnect 17:49:23.746248 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:23.699156 Running IPv4 version 17:49:23.699210 Listening on port 37915 17:49:23.699254 Wrote pid 93830 to log/1/server/ftp_sockdata.pid 17:49:23.699278 Received PING (on stdin) 17:49:23.699361 Received PORT (on stdin) 17:49:23.699673 ====> Client connect 17:49:23.700458 Received DATA (on stdin) 17:49:23.700470 > 17 bytes data, server => client 17:49:23.700480 'WE ROOLZ: 81139\r\n' 17:49:23.700508 Received DISC (on stdin) 17:49:23.700520 ====> Client forcibly disconnected 17:49:23.700606 Received QUIT (on stdin) 17:49:23.700617 quits 17:49:23.700687 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 298 === End of file server.cmd === Start of file valgrind298 ==93886== ==93886== Process terminating with default action of signal 4 (SIGILL) ==93886== Illegal opcode at address 0x4014520 ==93886== at 0x4014520: getparameter (tool_getparam.c:2862) ==93886== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93886== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93886== by 0x4003728: main (tool_main.c:186) === End of file valgrind298 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/2/valgrind299 ../src/curl -q --output log/2/curl299.out --include --trace-ascii log/2/trace299 --trace-time -x http://127.0.0.1:38779 -u michal:aybabtu ftp://host.com/we/want/299 > log/2/stdout299 2> log/2/stderr299 299: 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 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/2/valgrind299 ../src/curl -q --output log/2/curl299.out --include --trace-ascii log/2/trace299 --trace-time -x http://127.0.0.1:38779 -u michal:aybabtu ftp://host.com/we/want/299 > log/2/stdout299 2> log/2/stderr299 === End of file commands.log === Start of file http_server.log 17:49:23.805849 ====> Client connect 17:49:23.805887 accept_connection 3 returned 4 17:49:23.805906 accept_connection 3 returned 0 17:49:23.805921 Read 93 bytes 17:49:23.805931 Process 93 bytes request 17:49:23.805947 Got request: GET /verifiedserver HTTP/1.1 17:49:23.805957 Are-we-friendly question received 17:49:23.805984 Wrote request (93 bytes) input to log/2/server.input 17:49:23.806003 Identifying ourselves as friends 17:49:23.806067 Response sent (56 bytes) and written to log/2/server.response 17:49:23.806077 special request received, no persistency 17:49:23.806086 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 45242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind299 ==93957== ==93957== Process terminating with default action of signal 4 (SIGILL) ==93957== Illegal opcode at address 0x4014520 ==93957== at 0x4014520: getparameter (tool_getparam.c:2862) ==93957== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==93957== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==93957== by 0x4003728: main (tool_main.c:186) === End of file valgrind299 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 92980 port 55797 * pid tftp => 92980 92980 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:55797// --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 --incCMD (33792): ../libtool --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/valgrind316 ../src/curl -q --output log/9/curl316.out --include --trace-ascii log/9/trace316 --trace-time http://127.0.0.1:37413/316 --compressed > log/9/stdout316 2> log/9/stderr316 CMD (33792): ../libtool --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/valgrind317 ../src/curl -q --output log/15/curl317.out --include --trace-ascii log/15/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:41057 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/15/stdout317 2> log/15/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/23/valgrind283 ../src/curl -q --output log/23/curl283.out --include --trace-ascii log/23/trace283 --trace-time tftp://127.0.0.1:45430//invalid-file --tftp-blksize 1024 > log/23/stdout283 2> log/23/stderr283 lude --trace-ascii log/17/trace285 --trace-time -T log/17/test285.txt tftp://127.0.0.1:55797// --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 17:49:23.014468 Wrote pid 92980 to log/17/server/tftp_server.pid 17:49:23.014548 Wrote port 55797 to log/17/server/tftp_server.port 17:49:23.014560 Running IPv4 version on port UDP/55797 === End of file tftp_server.log === Start of file valgrind285 ==94374== ==94374== Process terminating with default action of signal 4 (SIGILL) ==94374== Illegal opcode at address 0x4014520 ==94374== at 0x4014520: getparameter (tool_getparam.c:2862) ==94374== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94374== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94374== by 0x4003728: main (tool_main.c:186) === End of file valgrind285 test 0316...[HTTP GET 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/9/valgrind316 ../src/curl -q --output log/9/curl316.out --include --trace-ascii log/9/trace316 --trace-time http://127.0.0.1:37413/316 --compressed > log/9/stdout316 2> log/9/stderr316 316: 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 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/9/valgrind316 ../src/curl -q --output log/9/curl316.out --include --trace-ascii log/9/trace316 --trace-time http://127.0.0.1:37413/316 --compressed > log/9/stdout316 2> log/9/stderr316 === End of file commands.log === Start of file http_server.log 17:49:23.945073 ====> Client connect 17:49:23.945109 accept_connection 3 returned 4 17:49:23.945126 accept_connection 3 returned 0 17:49:23.945141 Read 93 bytes 17:49:23.945151 Process 93 bytes request 17:49:23.945165 Got request: GET /verifiedserver HTTP/1.1 17:49:23.945174 Are-we-friendly question received 17:49:23.945202 Wrote request (93 bytes) input to log/9/server.input 17:49:23.945219 Identifying ourselves as friends 17:49:23.945288 Response sent (56 bytes) and written to log/9/server.response 17:49:23.945298 special request received, no persistency 17:49:23.945307 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 45654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind316 ==94158== ==94158== Process terminating with default action of signal 4 (SIGILL) ==94158== Illegal opcode at address 0x4014520 ==94158== at 0x4014520: getparameter (tool_getparam.c:2862) ==94158== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94158== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94158== by 0x4003728: main (tool_main.c:186) === End of file valgrind316 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/15/valgrind317 ../src/curl -q --output log/15/curl317.out --include --trace-ascii log/15/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:41057 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/15/stdout317 2> log/15/stderr317 317: 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 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/15/valgrind317 ../src/curl -q --output log/15/curl317.out --include --trace-ascii log/15/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:41057 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/15/stdout317 2> log/15/stderr317 === End of file commands.log === Start of file http_server.log 17:49:23.954334 ====> Client connect 17:49:23.954367 accept_connection 3 returned 4 17:49:23.954384 accept_connection 3 returned 0 17:49:23.954398 Read 93 bytes 17:49:23.954408 Process 93 bytes request 17:49:23.954421 Got request: GET /verifiedserver HTTP/1.1 17:49:23.954430 Are-we-friendly question received 17:49:23.954458 Wrote request (93 bytes) input to log/15/server.input 17:49:23.954475 Identifying ourselves as friends 17:49:23.954532 Response sent (56 bytes) and written to log/15/server.response 17:49:23.954542 special request received, no persistency 17:49:23.954551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 57508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind317 ==94207== ==94207== Process terminating with default action of signal 4 (SIGILL) ==94207== Illegal opcode at address 0x4014520 ==94207== at 0x4014520: getparameter (tool_getparam.c:2862) ==94207== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94207== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94207== by 0x4003728: main (tool_main.c:186) === End of file valgrind317 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 92754 port 45430 * pid tftp => 92754 92754 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/23/valgrind283 ../src/curl -q --output log/23/curl283.out --include --trace-ascii log/23/trace283 --trace-time tftp://127.0.0.1:45430//invalid-file --tftp-blksize 1024 > log/23/stdout283 2> log/23/stderr283 283: 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 283 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrindCMD (33792): ../libtool --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/valgrind314 ../src/curl -q --output log/24/curl314.out --include --trace-ascii log/24/trace314 --trace-time http://127.0.0.1:39649/314 --compressed > log/24/stdout314 2> log/24/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/11/valgrind315 ../src/curl -q --output log/11/curl315.out --include --trace-ascii log/11/trace315 --trace-time http://127.0.0.1:46439/315 --compressed > log/11/stdout315 2> log/11/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/13/valgrind284 ../src/curl -q --output log/13/curl284.out --include --trace-ascii log/13/trace284 --trace-time tftp://127.0.0.1:53907//284 > log/13/stdout284 2> log/13/stderr284 .supp --num-callers=16 --log-file=log/23/valgrind283 ../src/curl -q --output log/23/curl283.out --include --trace-ascii log/23/trace283 --trace-time tftp://127.0.0.1:45430//invalid-file --tftp-blksize 1024 > log/23/stdout283 2> log/23/stderr283 === End of file commands.log === Start of file server.cmd Testnum 283 === End of file server.cmd === Start of file tftp_server.log 17:49:23.936422 Wrote pid 92754 to log/23/server/tftp_server.pid 17:49:23.936483 Wrote port 45430 to log/23/server/tftp_server.port 17:49:23.936493 Running IPv4 version on port UDP/45430 === End of file tftp_server.log === Start of file valgrind283 ==94049== ==94049== Process terminating with default action of signal 4 (SIGILL) ==94049== Illegal opcode at address 0x4014520 ==94049== at 0x4014520: getparameter (tool_getparam.c:2862) ==94049== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94049== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94049== by 0x4003728: main (tool_main.c:186) === End of file valgrind283 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/24/valgrind314 ../src/curl -q --output log/24/curl314.out --include --trace-ascii log/24/trace314 --trace-time http://127.0.0.1:39649/314 --compressed > log/24/stdout314 2> log/24/stderr314 314: 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 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/24/valgrind314 ../src/curl -q --output log/24/curl314.out --include --trace-ascii log/24/trace314 --trace-time http://127.0.0.1:39649/314 --compressed > log/24/stdout314 2> log/24/stderr314 === End of file commands.log === Start of file http_server.log 17:49:23.921358 ====> Client connect 17:49:23.921397 accept_connection 3 returned 4 17:49:23.921413 accept_connection 3 returned 0 17:49:23.921426 Read 93 bytes 17:49:23.921436 Process 93 bytes request 17:49:23.921448 Got request: GET /verifiedserver HTTP/1.1 17:49:23.921456 Are-we-friendly question received 17:49:23.921481 Wrote request (93 bytes) input to log/24/server.input 17:49:23.921497 Identifying ourselves as friends 17:49:23.921558 Response sent (56 bytes) and written to log/24/server.response 17:49:23.921567 special request received, no persistency 17:49:23.921575 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 52038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind314 ==94083== ==94083== Process terminating with default action of signal 4 (SIGILL) ==94083== Illegal opcode at address 0x4014520 ==94083== at 0x4014520: getparameter (tool_getparam.c:2862) ==94083== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94083== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94083== by 0x4003728: main (tool_main.c:186) === 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/11/valgrind315 ../src/curl -q --output log/11/curl315.out --include --trace-ascii log/11/trace315 --trace-time http://127.0.0.1:46439/315 --compressed > log/11/stdout315 2> log/11/stderr315 315: 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 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/11/valgrind315 ../src/curl -q --output log/11/curl315.out --include --trace-ascii log/11/trace315 --trace-time http://127.0.0.1:46439/315 --compressed > log/11/stdout315 2> log/11/stderr315 === End of file commands.log === Start of file http_server.log 17:49:23.945814 ====> Client connect 17:49:23.945850 accept_connection 3 returned 4 17:49:23.945866 accept_connection 3 returned 0 17:49:23.945880 Read 93 bytes 17:49:23.945889 Process 93 bytes request 17:49:23.945901 Got request: GET /verifiedserver HTTP/1.1 17:49:23.945910 Are-we-friendly question received 17:49:23.945935 Wrote request (93 bytes) input to log/11/server.input 17:49:23.945951 Identifying ourselves as friends 17:49:23.946008 Response sent (56 bytes) and written to log/11/server.response 17:49:23.946017 special request received, no persistency 17:49:23.946026 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 36202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind315 ==94156== ==94156== Process terminating with default action of signal 4 (SIGILL) ==94156== Illegal opcode at address 0x4014520 ==94156== at 0x4014520: getparameter (tool_getparam.c:2862) ==94156== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94156== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94156== by 0x4003728: main (tool_main.c:186) === End of file valgrind315 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 92920 port 53907 * pid tftp => 92920 92920 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/13/valgrind284 ../src/curl -q --output log/13/curl284.out --include --trace-ascii log/13/trace284 --trace-time tftp://127.0.0.1:53907//284 > log/13/stdout284 2> log/13/stderr284 284: 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 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/13/valgrind284 ../src/curl -q --output log/13/curl284.out --include --trace-ascii log/13/trace284 --trace-time tftp://127.0.0.1:53907//284 > log/13/stdout284 2> log/13/stderr284 === End of file commaCMD (33792): ../libtool --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/valgrind318 ../src/curl -q --output log/7/curl318.out --include --trace-ascii log/7/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:35671 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/7/stdout318 2> log/7/stderr318 CMD (33792): ../libtool --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/valgrind286 ../src/curl -q --output log/20/curl286.out --include --trace-ascii log/20/trace286 --trace-time -T log/20/test286.txt tftp://127.0.0.1:49032// > log/20/stdout286 2> log/20/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/4/valgrind326 ../src/curl -q --output log/4/curl326.out --trace-ascii log/4/trace326 --trace-time http://127.0.0.1:34411/326 --raw > log/4/stdout326 2> log/4/stderr326 nds.log === Start of file server.cmd Testnum 284 === End of file server.cmd === Start of file tftp_server.log 17:49:23.985548 Wrote pid 92920 to log/13/server/tftp_server.pid 17:49:23.985607 Wrote port 53907 to log/13/server/tftp_server.port 17:49:23.985618 Running IPv4 version on port UDP/53907 === End of file tftp_server.log === Start of file valgrind284 ==94242== ==94242== Process terminating with default action of signal 4 (SIGILL) ==94242== Illegal opcode at address 0x4014520 ==94242== at 0x4014520: getparameter (tool_getparam.c:2862) ==94242== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94242== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94242== by 0x4003728: main (tool_main.c:186) === End of file valgrind284 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/7/valgrind318 ../src/curl -q --output log/7/curl318.out --include --trace-ascii log/7/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:35671 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/7/stdout318 2> log/7/stderr318 318: 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 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/7/valgrind318 ../src/curl -q --output log/7/curl318.out --include --trace-ascii log/7/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:35671 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/7/stdout318 2> log/7/stderr318 === End of file commands.log === Start of file http_server.log 17:49:23.993062 ====> Client connect 17:49:23.993102 accept_connection 3 returned 4 17:49:23.993121 accept_connection 3 returned 0 17:49:23.993137 Read 93 bytes 17:49:23.993148 Process 93 bytes request 17:49:23.993165 Got request: GET /verifiedserver HTTP/1.1 17:49:23.993175 Are-we-friendly question received 17:49:23.993206 Wrote request (93 bytes) input to log/7/server.input 17:49:23.993225 Identifying ourselves as friends 17:49:23.993296 Response sent (56 bytes) and written to log/7/server.response 17:49:23.993307 special request received, no persistency 17:49:23.993317 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 41382 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind318 ==94377== ==94377== Process terminating with default action of signal 4 (SIGILL) ==94377== Illegal opcode at address 0x4014520 ==94377== at 0x4014520: getparameter (tool_getparam.c:2862) ==94377== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94377== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94377== by 0x4003728: main (tool_main.c:186) === End of file valgrind318 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/20/server/tftp_server.pid" --portfile "log/20/server/tftp_server.port" --logfile "log/20/tftp_server.log" --logdir "log/20" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92985 port 49032 * pid tftp => 92985 92985 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/20/valgrind286 ../src/curl -q --output log/20/curl286.out --include --trace-ascii log/20/trace286 --trace-time -T log/20/test286.txt tftp://127.0.0.1:49032// > log/20/stdout286 2> log/20/stderr286 286: 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 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/20/valgrind286 ../src/curl -q --output log/20/curl286.out --include --trace-ascii log/20/trace286 --trace-time -T log/20/test286.txt tftp://127.0.0.1:49032// > log/20/stdout286 2> log/20/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 17:49:23.017063 Wrote pid 92985 to log/20/server/tftp_server.pid 17:49:23.017112 Wrote port 49032 to log/20/server/tftp_server.port 17:49:23.017121 Running IPv4 version on port UDP/49032 === End of file tftp_server.log === Start of file valgrind286 ==94427== ==94427== Process terminating with default action of signal 4 (SIGILL) ==94427== Illegal opcode at address 0x4014520 ==94427== at 0x4014520: getparameter (tool_getparam.c:2862) ==94427== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94427== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94427== by 0x4003728: main (tool_main.c:186) === End of file valgrind286 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/4/valgrind326 ../src/curl -q --output log/4/curl326.out --trace-ascii log/4/trace326 --trace-time http://127.0.0.1:34411/326 --raw > log/4/stdout326 2> log/4/stderr326 326: 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 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/4/valgrind326 ../src/curl -q --output log/4/curl326.out --trace-ascii log/4/trace326 --trace-time http://127.0.0.1:34411/326 --raw > log/4/stdout326 2> log/4/stderr326 === End of file commands.log === Start of file http_server.log 17:49:24.146043 ====> Client connect 17:49:24.146077 accept_connection 3 returned 4 17:49:24.146093 accept_connection 3 returned 0 17:49:24.146108 Read 93 bytes 17:49:24.146118 Process 93 bytes request 17:49:24.146133 Got request: GET /verifiedserver HTTP/1.1 17:49:24.146141 Are-we-friendly question received 17:49:24.146179 Wrote request (93 bytes) input to log/4/server.input 17:49:24.146196 Identifying ourselves as friends 17:49:24.146259 Response sent (56 bytes) and written to log/4/server.response 17:49:24.146269 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/8/valgrind319 ../src/curl -q --output log/8/curl319.out --trace-ascii log/8/trace319 --trace-time http://127.0.0.1:42045/319 --raw > log/8/stdout319 2> log/8/stderr319 CMD (33792): ../libtool --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/valgrind328 ../src/curl -q --output log/12/curl328.out --include --trace-ascii log/12/trace328 --trace-time http://127.0.0.1:36641/hello/328 --compressed > log/12/stdout328 2> log/12/stderr328 CMD (33792): ../libtool --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/valgrind327 ../src/curl -q --output log/19/curl327.out --include --trace-ascii log/19/trace327 --trace-time http://127.0.0.1:36987/we/want/327 -b none -c log/19/cookies327 http://127.0.0.1:36987/we/want/3270002 > log/19/stdout327 2> log/19/stderr327 ecial request received, no persistency 17:49:24.146278 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 54700 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind326 ==94607== ==94607== Process terminating with default action of signal 4 (SIGILL) ==94607== Illegal opcode at address 0x4014520 ==94607== at 0x4014520: getparameter (tool_getparam.c:2862) ==94607== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94607== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94607== by 0x4003728: main (tool_main.c:186) === End of file valgrind326 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/8/valgrind319 ../src/curl -q --output log/8/curl319.out --trace-ascii log/8/trace319 --trace-time http://127.0.0.1:42045/319 --raw > log/8/stdout319 2> log/8/stderr319 319: 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 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/8/valgrind319 ../src/curl -q --output log/8/curl319.out --trace-ascii log/8/trace319 --trace-time http://127.0.0.1:42045/319 --raw > log/8/stdout319 2> log/8/stderr319 === End of file commands.log === Start of file http_server.log 17:49:24.146288 ====> Client connect 17:49:24.146338 accept_connection 3 returned 4 17:49:24.146359 accept_connection 3 returned 0 17:49:24.146375 Read 93 bytes 17:49:24.146386 Process 93 bytes request 17:49:24.146400 Got request: GET /verifiedserver HTTP/1.1 17:49:24.146410 Are-we-friendly question received 17:49:24.146442 Wrote request (93 bytes) input to log/8/server.input 17:49:24.146461 Identifying ourselves as friends 17:49:24.146539 Response sent (56 bytes) and written to log/8/server.response 17:49:24.146550 special request received, no persistency 17:49:24.146558 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind319 ==94606== ==94606== Process terminating with default action of signal 4 (SIGILL) ==94606== Illegal opcode at address 0x4014520 ==94606== at 0x4014520: getparameter (tool_getparam.c:2862) ==94606== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94606== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94606== by 0x4003728: main (tool_main.c:186) === End of file valgrind319 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/12/valgrind328 ../src/curl -q --output log/12/curl328.out --include --trace-ascii log/12/trace328 --trace-time http://127.0.0.1:36641/hello/328 --compressed > log/12/stdout328 2> log/12/stderr328 328: 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 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/12/valgrind328 ../src/curl -q --output log/12/curl328.out --include --trace-ascii log/12/trace328 --trace-time http://127.0.0.1:36641/hello/328 --compressed > log/12/stdout328 2> log/12/stderr328 === End of file commands.log === Start of file http_server.log 17:49:24.339235 ====> Client connect 17:49:24.339270 accept_connection 3 returned 4 17:49:24.339286 accept_connection 3 returned 0 17:49:24.339301 Read 93 bytes 17:49:24.339310 Process 93 bytes request 17:49:24.339324 Got request: GET /verifiedserver HTTP/1.1 17:49:24.339333 Are-we-friendly question received 17:49:24.339358 Wrote request (93 bytes) input to log/12/server.input 17:49:24.339374 Identifying ourselves as friends 17:49:24.339428 Response sent (56 bytes) and written to log/12/server.response 17:49:24.339438 special request received, no persistency 17:49:24.339446 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 52338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind328 ==94748== ==94748== Process terminating with default action of signal 4 (SIGILL) ==94748== Illegal opcode at address 0x4014520 ==94748== at 0x4014520: getparameter (tool_getparam.c:2862) ==94748== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94748== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94748== by 0x4003728: main (tool_main.c:186) === End of file valgrind328 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/19/valgrind327 ../src/curl -q --output log/19/curl327.out --include --trace-ascii log/19/trace327 --trace-time http://127.0.0.1:36987/we/want/327 -b none -c log/19/cookies327 http://127.0.0.1:36987/we/want/3270002 > log/19/stdout327 2> log/19/stderr327 327: 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 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/19/valgrind327 ../src/curl -q --output log/19/curl327.out --include --trace-ascii log/19/trace327 --trace-time http://127.0.0.1:36987/we/want/327 -b none -c log/19/cookies327 http://127.0.0.1:36987/we/want/3270002 > log/19/stdout327 2> log/19/stderr327 === End of file commaCMD (33792): ../libtool --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/valgrind330 ../src/curl -q --output log/6/curl330.out --include --trace-ascii log/6/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:42747 -H "Cookie: test=yes" --location > log/6/stdout330 2> log/6/stderr330 CMD (33792): ../libtool --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/valgrind329 ../src/curl -q --output log/22/curl329.out --include --trace-ascii log/22/trace329 --trace-time http://127.0.0.1:42933/we/want/329 -b log/22/jar329.txt -b log/22/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:42933/we/want/3290002 > log/22/stdout329 2> log/22/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/10/valgrind331 ../src/curl -q --output log/10/curl331.out --include --trace-ascii log/10/trace331 --trace-time -x http://127.0.0.1:32889 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/10/stdout331 2> log/10/stderr331 nds.log === Start of file http_server.log 17:49:24.332840 ====> Client connect 17:49:24.332872 accept_connection 3 returned 4 17:49:24.332887 accept_connection 3 returned 0 17:49:24.332901 Read 93 bytes 17:49:24.332911 Process 93 bytes request 17:49:24.332923 Got request: GET /verifiedserver HTTP/1.1 17:49:24.332932 Are-we-friendly question received 17:49:24.332956 Wrote request (93 bytes) input to log/19/server.input 17:49:24.332972 Identifying ourselves as friends 17:49:24.333025 Response sent (56 bytes) and written to log/19/server.response 17:49:24.333034 special request received, no persistency 17:49:24.333042 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 35170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind327 ==94744== ==94744== Process terminating with default action of signal 4 (SIGILL) ==94744== Illegal opcode at address 0x4014520 ==94744== at 0x4014520: getparameter (tool_getparam.c:2862) ==94744== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94744== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94744== by 0x4003728: main (tool_main.c:186) === End of file valgrind327 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/6/valgrind330 ../src/curl -q --output log/6/curl330.out --include --trace-ascii log/6/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:42747 -H "Cookie: test=yes" --location > log/6/stdout330 2> log/6/stderr330 330: 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 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/6/valgrind330 ../src/curl -q --output log/6/curl330.out --include --trace-ascii log/6/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:42747 -H "Cookie: test=yes" --location > log/6/stdout330 2> log/6/stderr330 === End of file commands.log === Start of file http_server.log 17:49:24.437257 ====> Client connect 17:49:24.437294 accept_connection 3 returned 4 17:49:24.437312 accept_connection 3 returned 0 17:49:24.437328 Read 93 bytes 17:49:24.437338 Process 93 bytes request 17:49:24.437351 Got request: GET /verifiedserver HTTP/1.1 17:49:24.437361 Are-we-friendly question received 17:49:24.437390 Wrote request (93 bytes) input to log/6/server.input 17:49:24.437409 Identifying ourselves as friends 17:49:24.437470 Response sent (56 bytes) and written to log/6/server.response 17:49:24.437480 special request received, no persistency 17:49:24.437489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 51150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind330 ==94886== ==94886== Process terminating with default action of signal 4 (SIGILL) ==94886== Illegal opcode at address 0x4014520 ==94886== at 0x4014520: getparameter (tool_getparam.c:2862) ==94886== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94886== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94886== by 0x4003728: main (tool_main.c:186) === End of file valgrind330 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/22/valgrind329 ../src/curl -q --output log/22/curl329.out --include --trace-ascii log/22/trace329 --trace-time http://127.0.0.1:42933/we/want/329 -b log/22/jar329.txt -b log/22/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:42933/we/want/3290002 > log/22/stdout329 2> log/22/stderr329 329: 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 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/22/valgrind329 ../src/curl -q --output log/22/curl329.out --include --trace-ascii log/22/trace329 --trace-time http://127.0.0.1:42933/we/want/329 -b log/22/jar329.txt -b log/22/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:42933/we/want/3290002 > log/22/stdout329 2> log/22/stderr329 === End of file commands.log === Start of file http_server.log 17:49:24.436989 ====> Client connect 17:49:24.437029 accept_connection 3 returned 4 17:49:24.437050 accept_connection 3 returned 0 17:49:24.437065 Read 93 bytes 17:49:24.437075 Process 93 bytes request 17:49:24.437087 Got request: GET /verifiedserver HTTP/1.1 17:49:24.437096 Are-we-friendly question received 17:49:24.437126 Wrote request (93 bytes) input to log/22/server.input 17:49:24.437144 Identifying ourselves as friends 17:49:24.437209 Response sent (56 bytes) and written to log/22/server.response 17:49:24.437221 special request received, no persistency 17:49:24.437230 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 33050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind329 ==94884== ==94884== Process terminating with default action of signal 4 (SIGILL) ==94884== Illegal opcode at address 0x4014520 ==94884== at 0x4014520: getparameter (tool_getparam.c:2862) ==94884== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94884== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94884== by 0x4003728: main (tool_main.c:186) === End of file valgrind329 test 0331...[HTTP with cookie using hostname 'moo'] ../libtoCMD (33792): ../libtool --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/valgrind333 ../src/curl -q --output log/5/curl333.out --include --trace-ascii log/5/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/5/stdout333 2> log/5/stderr333 CMD (33792): ../libtool --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/valgrind334 ../src/curl -q --output log/16/curl334.out --include --trace-ascii log/16/trace334 --trace-time http://127.0.0.1:40899/want/334 > log/16/stdout334 2> log/16/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/14/valgrind335 ../src/curl -q --output log/14/curl335.out --include --trace-ascii log/14/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:37569 --proxy-digest --digest > log/14/stdout335 2> log/14/stderr335 ol --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/valgrind331 ../src/curl -q --output log/10/curl331.out --include --trace-ascii log/10/trace331 --trace-time -x http://127.0.0.1:32889 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/10/stdout331 2> log/10/stderr331 331: 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 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/10/valgrind331 ../src/curl -q --output log/10/curl331.out --include --trace-ascii log/10/trace331 --trace-time -x http://127.0.0.1:32889 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/10/stdout331 2> log/10/stderr331 === End of file commands.log === Start of file http_server.log 17:49:24.479575 ====> Client connect 17:49:24.479612 accept_connection 3 returned 4 17:49:24.479631 accept_connection 3 returned 0 17:49:24.479647 Read 93 bytes 17:49:24.479657 Process 93 bytes request 17:49:24.479671 Got request: GET /verifiedserver HTTP/1.1 17:49:24.479680 Are-we-friendly question received 17:49:24.479705 Wrote request (93 bytes) input to log/10/server.input 17:49:24.479722 Identifying ourselves as friends 17:49:24.479794 Response sent (56 bytes) and written to log/10/server.response 17:49:24.479804 special request received, no persistency 17:49:24.479813 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 33008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind331 ==94956== ==94956== Process terminating with default action of signal 4 (SIGILL) ==94956== Illegal opcode at address 0x4014520 ==94956== at 0x4014520: getparameter (tool_getparam.c:2862) ==94956== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==94956== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==94956== by 0x4003728: main (tool_main.c:186) === End of file valgrind331 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/5/valgrind333 ../src/curl -q --output log/5/curl333.out --include --trace-ascii log/5/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/5/stdout333 2> log/5/stderr333 curl returned 132, when expecting 2 333: exit FAILED == Contents of files in the log/5/ directory after test 333 === Start of file commands.log ../libtool --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/valgrind333 ../src/curl -q --output log/5/curl333.out --include --trace-ascii log/5/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/5/stdout333 2> log/5/stderr333 === End of file commands.log === Start of file server.cmd Testnum 333 === End of file server.cmd === Start of file valgrind333 ==95083== ==95083== Process terminating with default action of signal 4 (SIGILL) ==95083== Illegal opcode at address 0x4014520 ==95083== at 0x4014520: getparameter (tool_getparam.c:2862) ==95083== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95083== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95083== by 0x4003728: main (tool_main.c:186) === End of file valgrind333 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/16/valgrind334 ../src/curl -q --output log/16/curl334.out --include --trace-ascii log/16/trace334 --trace-time http://127.0.0.1:40899/want/334 > log/16/stdout334 2> log/16/stderr334 334: 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 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/16/valgrind334 ../src/curl -q --output log/16/curl334.out --include --trace-ascii log/16/trace334 --trace-time http://127.0.0.1:40899/want/334 > log/16/stdout334 2> log/16/stderr334 === End of file commands.log === Start of file http_server.log 17:49:24.682462 ====> Client connect 17:49:24.682496 accept_connection 3 returned 4 17:49:24.682514 accept_connection 3 returned 0 17:49:24.682529 Read 93 bytes 17:49:24.682540 Process 93 bytes request 17:49:24.682553 Got request: GET /verifiedserver HTTP/1.1 17:49:24.682563 Are-we-friendly question received 17:49:24.682592 Wrote request (93 bytes) input to log/16/server.input 17:49:24.682609 Identifying ourselves as friends 17:49:24.682668 Response sent (56 bytes) and written to log/16/server.response 17:49:24.682677 special request received, no persistency 17:49:24.682685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 58800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind334 ==95162== ==95162== Process terminating with default action of signal 4 (SIGILL) ==95162== Illegal opcode at address 0x4014520 ==95162== at 0x4014520: getparameter (tool_getparam.c:2862) ==95162== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95162== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95162== by 0x4003728: main (tool_main.c:186) === End of file valgrind334 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/14/valgrind335 ../src/curl -q --output log/14/curl335.out --include --trace-ascii log/14/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:37569 --proxy-digest --digest > log/14/stdout335 2> log/14/stderr335 335: 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 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/14/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/21/valgrind336 ../src/curl -q --output log/21/curl336.out --include --trace-ascii log/21/trace336 --trace-time ftp://127.0.0.1:37113/336 --range 3-6 > log/21/stdout336 2> log/21/stderr336 d335 ../src/curl -q --output log/14/curl335.out --include --trace-ascii log/14/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:37569 --proxy-digest --digest > log/14/stdout335 2> log/14/stderr335 === End of file commands.log === Start of file http_server.log 17:49:25.696511 ====> Client connect 17:49:25.696546 accept_connection 3 returned 4 17:49:25.696562 accept_connection 3 returned 0 17:49:25.696578 Read 93 bytes 17:49:25.696588 Process 93 bytes request 17:49:25.696603 Got request: GET /verifiedserver HTTP/1.1 17:49:25.696612 Are-we-friendly question received 17:49:25.696639 Wrote request (93 bytes) input to log/14/server.input 17:49:25.696656 Identifying ourselves as friends 17:49:25.696722 Response sent (56 bytes) and written to log/14/server.response 17:49:25.696733 special request received, no persistency 17:49:25.696742 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 46880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind335 ==95201== ==95201== Process terminating with default action of signal 4 (SIGILL) ==95201== Illegal opcode at address 0x4014520 ==95201== at 0x4014520: getparameter (tool_getparam.c:2862) ==95201== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95201== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95201== by 0x4003728: main (tool_main.c:186) === End of file valgrind335 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/21/valgrind336 ../src/curl -q --output log/21/curl336.out --include --trace-ascii log/21/trace336 --trace-time ftp://127.0.0.1:37113/336 --range 3-6 > log/21/stdout336 2> log/21/stderr336 336: 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 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/21/valgrind336 ../src/curl -q --output log/21/curl336.out --include --trace-ascii log/21/trace336 --trace-time ftp://127.0.0.1:37113/336 --range 3-6 > log/21/stdout336 2> log/21/stderr336 === End of file commands.log === Start of file ftp_server.log 17:49:24.852587 ====> Client connect 17:49:24.852778 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:24.853056 < "USER anonymous" 17:49:24.853093 > "331 We are happy you popped in![CR][LF]" 17:49:24.853250 < "PASS ftp@example.com" 17:49:24.853275 > "230 Welcome you silly person[CR][LF]" 17:49:24.853549 < "PWD" 17:49:24.853609 > "257 "/" is current directory[CR][LF]" 17:49:24.853827 < "EPSV" 17:49:24.853861 ====> Passive DATA channel requested by client 17:49:24.853875 DATA sockfilt for passive data channel starting... 17:49:24.855575 DATA sockfilt for passive data channel started (pid 95170) 17:49:24.855675 DATA sockfilt for passive data channel listens on port 38635 17:49:24.855715 > "229 Entering Passive Mode (|||38635|)[CR][LF]" 17:49:24.855729 Client has been notified that DATA conn will be accepted on port 38635 17:49:24.855934 Client connects to port 38635 17:49:24.855959 ====> Client established passive DATA connection on port 38635 17:49:24.856034 < "TYPE I" 17:49:24.856068 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:24.856237 < "SIZE verifiedserver" 17:49:24.856276 > "213 17[CR][LF]" 17:49:24.856438 < "RETR verifiedserver" 17:49:24.856474 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:24.856558 =====> Closing passive DATA connection... 17:49:24.856575 Server disconnects passive DATA connection 17:49:24.856811 Server disconnected passive DATA connection 17:49:24.856842 DATA sockfilt for passive data channel quits (pid 95170) 17:49:24.857058 DATA sockfilt for passive data channel quit (pid 95170) 17:49:24.857084 =====> Closed passive DATA connection 17:49:24.857112 > "226 File transfer complete[CR][LF]" 17:49:24.904180 < "QUIT" 17:49:24.904256 > "221 bye bye baby[CR][LF]" 17:49:24.905207 MAIN sockfilt said DISC 17:49:24.905254 ====> Client disconnected 17:49:24.905338 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:24.698650 ====> Client connect 17:49:24.698978 Received DATA (on stdin) 17:49:24.698991 > 146 bytes data, server => client 17:49:24.699003 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:24.699014 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:24.699023 '220 \___|\___/|_| \_\_____|\r\n' 17:49:24.699097 < 16 bytes data, client => server 17:49:24.699109 'USER anonymous\r\n' 17:49:24.699282 Received DATA (on stdin) 17:49:24.699293 > 33 bytes data, server => client 17:49:24.699303 '331 We are happy you popped in!\r\n' 17:49:24.699357 < 22 bytes data, client => server 17:49:24.699367 'PASS ftp@example.com\r\n' 17:49:24.699461 Received DATA (on stdin) 17:49:24.699471 > 30 bytes data, server => client 17:49:24.699481 '230 Welcome you silly person\r\n' 17:49:24.699585 < 5 bytes data, client => server 17:49:24.699609 'PWD\r\n' 17:49:24.699807 Received DATA (on stdin) 17:49:24.699821 > 30 bytes data, server => client 17:49:24.699832 '257 "/" is current directory\r\n' 17:49:24.699906 < 6 bytes data, client => server 17:49:24.699918 'EPSV\r\n' 17:49:24.701917 Received DATA (on stdin) 17:49:24.701929 > 39 bytes data, server => client 17:49:24.701938 '229 Entering Passive Mode (|||38635|)\r\n' 17:49:24.702051 < 8 bytes data, client => server 17:49:24.702062 'TYPE I\r\n' 17:49:24.702257 Received DATA (on stdin) 17:49:24.702269 > 33 bytes data, server => client 17:49:24.702280 '200 I modify TYPE as you wanted\r\n' 17:49:24.702335 < 21 bytes data, client => server 17:49:24.702348 'SIZE verifiedserver\r\n' 17:49:24.702466 Received DATA (on stdin) 17:49:24.702478 > 8 bytes data, server => client 17:49:24.702488 '213 17\r\n' 17:49:24.702538 < 21 bytes data, client => server 17:49:24.702550 'RETR verifiedserver\r\n' 17:49:24.702856 Received DATA (on stdin) 17:49:24.702868 > 29 bytes data, server => client 17:49:24.702879 '150 Binary junk (17 bytes).\r\n' 17:49:24.703302 Received DATA (on stdin) 17:49:24.703320 > 28 bytes data, server => client 17:49:24.703331 '226 File transfer complete\r\n' 17:49:24.750081 < 6 bytes data, client => server 17:49:24.750146 'QUIT\r\n' 17:49:24.750454 Received DATA (on stdin) 17:49:24.750468 > 18 bytes data, server => client 17:49:24.750479 '221 bye bye baby\r\n' 17:49:24.751050 ====> Client disconnect 17:49:24.751530 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:24.701583 Running IPv4 version 17:49:24.701647 Listening on port 38635 17:49:24.701687 Wrote pid 95170 to log/21/server/ftp_sockdata.pid 17:49:24.701708 Received PING (on stdin) 17:49:24.701782 Received PORT (on stdin) 17:49:24.702078 ====> Client connect 17:49:24.702766 Received DATA (on stdin) 17:49:24.702779 > 17 bytes data, server => client 17:49:24.702789 'WE ROOLZ: 81123\r\n' 17:49:24.702815 Received DISC (on 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/valgrind338 ../src/curl -q --output log/1/curl338.out --include --trace-ascii log/1/trace338 --trace-time http://127.0.0.1:39589/338 --next http://127.0.0.1:39589/338 --anyauth -u foo:moo > log/1/stdout338 2> log/1/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/2/valgrind339 ../src/curl -q --output log/2/curl339.out --include --trace-ascii log/2/trace339 --trace-time http://127.0.0.1:38779/339 --etag-save log/2/etag339 > log/2/stdout339 2> log/2/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/18/valgrind337 ../src/curl -q --output log/18/curl337.out --include --trace-ascii log/18/trace337 --trace-time ftp://127.0.0.1:36869/337 --range 3-6 > log/18/stdout337 2> log/18/stderr337 tdin) 17:49:24.702826 ====> Client forcibly disconnected 17:49:24.703042 Received QUIT (on stdin) 17:49:24.703054 quits 17:49:24.703116 ============> 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 ==95273== ==95273== Process terminating with default action of signal 4 (SIGILL) ==95273== Illegal opcode at address 0x4014520 ==95273== at 0x4014520: getparameter (tool_getparam.c:2862) ==95273== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95273== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95273== by 0x4003728: main (tool_main.c:186) === 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/1/valgrind338 ../src/curl -q --output log/1/curl338.out --include --trace-ascii log/1/trace338 --trace-time http://127.0.0.1:39589/338 --next http://127.0.0.1:39589/338 --anyauth -u foo:moo > log/1/stdout338 2> log/1/stderr338 338: 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 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/1/valgrind338 ../src/curl -q --output log/1/curl338.out --include --trace-ascii log/1/trace338 --trace-time http://127.0.0.1:39589/338 --next http://127.0.0.1:39589/338 --anyauth -u foo:moo > log/1/stdout338 2> log/1/stderr338 === End of file commands.log === Start of file http_server.log 17:49:24.886085 ====> Client connect 17:49:24.886115 accept_connection 3 returned 4 17:49:24.886131 accept_connection 3 returned 0 17:49:24.886263 Read 93 bytes 17:49:24.886276 Process 93 bytes request 17:49:24.886288 Got request: GET /verifiedserver HTTP/1.1 17:49:24.886297 Are-we-friendly question received 17:49:24.886326 Wrote request (93 bytes) input to log/1/server.input 17:49:24.886343 Identifying ourselves as friends 17:49:24.886394 Response sent (56 bytes) and written to log/1/server.response 17:49:24.886404 special request received, no persistency 17:49:24.886412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind338 ==95410== ==95410== Process terminating with default action of signal 4 (SIGILL) ==95410== Illegal opcode at address 0x4014520 ==95410== at 0x4014520: getparameter (tool_getparam.c:2862) ==95410== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95410== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95410== by 0x4003728: main (tool_main.c:186) === End of file valgrind338 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/2/valgrind339 ../src/curl -q --output log/2/curl339.out --include --trace-ascii log/2/trace339 --trace-time http://127.0.0.1:38779/339 --etag-save log/2/etag339 > log/2/stdout339 2> log/2/stderr339 339: 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 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/2/valgrind339 ../src/curl -q --output log/2/curl339.out --include --trace-ascii log/2/trace339 --trace-time http://127.0.0.1:38779/339 --etag-save log/2/etag339 > log/2/stdout339 2> log/2/stderr339 === End of file commands.log === Start of file http_server.log 17:49:24.886246 ====> Client connect 17:49:24.886285 accept_connection 3 returned 4 17:49:24.886303 accept_connection 3 returned 0 17:49:24.886320 Read 93 bytes 17:49:24.886329 Process 93 bytes request 17:49:24.886342 Got request: GET /verifiedserver HTTP/1.1 17:49:24.886353 Are-we-friendly question received 17:49:24.886381 Wrote request (93 bytes) input to log/2/server.input 17:49:24.886399 Identifying ourselves as friends 17:49:24.886480 Response sent (56 bytes) and written to log/2/server.response 17:49:24.886492 special request received, no persistency 17:49:24.886502 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 45252 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind339 ==95412== ==95412== Process terminating with default action of signal 4 (SIGILL) ==95412== Illegal opcode at address 0x4014520 ==95412== at 0x4014520: getparameter (tool_getparam.c:2862) ==95412== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95412== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95412== by 0x4003728: main (tool_main.c:186) === End of file valgrind339 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/18/valgrind337 ../src/curl -q --output log/18/curl337.out --include --trace-ascii log/18/trace337 --trace-time ftp://127.0.0.1:36869/337 --range 3-6 > log/18/stdout337 2> log/18/stderr337 337: 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 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/18/valgrind337 ../src/curl -q --output log/18/curl337.out --include --trace-ascii log/18/trace337 --trace-time ftp://127.0.0.1:36869/337 --range 3-6 > log/18/stdout337 2> log/18/stderr337 === End of file commands.log === Start of file ftp_server.log 17:49:24.959199 ====> Client connect 17:49:24.959361 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:24.959652 < "USER anonymous" 17:49:24.959695 > "331 We are happy you popped in![CR][LF]" 17:49:24.960147 < "PASS ftp@example.com" 17:49:24.960180 > "230 Welcome you silly person[CR][LF]" 17:4CMD (33792): ../libtool --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/valgrind341 ../src/curl -q --output log/9/curl341.out --include --trace-ascii log/9/trace341 --trace-time http://127.0.0.1:37413/341 --etag-compare log/9/etag341 > log/9/stdout341 2> log/9/stderr341 9:24.960335 < "PWD" 17:49:24.960372 > "257 "/" is current directory[CR][LF]" 17:49:24.960544 < "EPSV" 17:49:24.960569 ====> Passive DATA channel requested by client 17:49:24.960584 DATA sockfilt for passive data channel starting... 17:49:24.962621 DATA sockfilt for passive data channel started (pid 95340) 17:49:24.962733 DATA sockfilt for passive data channel listens on port 38189 17:49:24.962774 > "229 Entering Passive Mode (|||38189|)[CR][LF]" 17:49:24.962792 Client has been notified that DATA conn will be accepted on port 38189 17:49:24.962990 Client connects to port 38189 17:49:24.963017 ====> Client established passive DATA connection on port 38189 17:49:24.963612 < "TYPE I" 17:49:24.963663 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:24.966675 < "SIZE verifiedserver" 17:49:24.966934 > "213 17[CR][LF]" 17:49:24.967128 < "RETR verifiedserver" 17:49:24.967165 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:24.967259 =====> Closing passive DATA connection... 17:49:24.967277 Server disconnects passive DATA connection 17:49:24.967506 Server disconnected passive DATA connection 17:49:24.967534 DATA sockfilt for passive data channel quits (pid 95340) 17:49:24.967795 DATA sockfilt for passive data channel quit (pid 95340) 17:49:24.967820 =====> Closed passive DATA connection 17:49:24.967849 > "226 File transfer complete[CR][LF]" 17:49:25.010384 < "QUIT" 17:49:25.010440 > "221 bye bye baby[CR][LF]" 17:49:25.010702 MAIN sockfilt said DISC 17:49:25.010732 ====> Client disconnected 17:49:25.010814 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:25.805270 ====> Client connect 17:49:25.805562 Received DATA (on stdin) 17:49:25.805577 > 146 bytes data, server => client 17:49:25.805588 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:25.805599 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:25.805608 '220 \___|\___/|_| \_\_____|\r\n' 17:49:25.805684 < 16 bytes data, client => server 17:49:25.805697 'USER anonymous\r\n' 17:49:25.805887 Received DATA (on stdin) 17:49:25.805899 > 33 bytes data, server => client 17:49:25.805910 '331 We are happy you popped in!\r\n' 17:49:25.806213 < 22 bytes data, client => server 17:49:25.806228 'PASS ftp@example.com\r\n' 17:49:25.806367 Received DATA (on stdin) 17:49:25.806378 > 30 bytes data, server => client 17:49:25.806388 '230 Welcome you silly person\r\n' 17:49:25.806437 < 5 bytes data, client => server 17:49:25.806447 'PWD\r\n' 17:49:25.806559 Received DATA (on stdin) 17:49:25.806570 > 30 bytes data, server => client 17:49:25.806581 '257 "/" is current directory\r\n' 17:49:25.806638 < 6 bytes data, client => server 17:49:25.806651 'EPSV\r\n' 17:49:25.808982 Received DATA (on stdin) 17:49:25.808994 > 39 bytes data, server => client 17:49:25.809004 '229 Entering Passive Mode (|||38189|)\r\n' 17:49:25.809374 < 8 bytes data, client => server 17:49:25.809407 'TYPE I\r\n' 17:49:25.810674 Received DATA (on stdin) 17:49:25.810907 > 33 bytes data, server => client 17:49:25.810920 '200 I modify TYPE as you wanted\r\n' 17:49:25.811216 < 21 bytes data, client => server 17:49:25.812694 'SIZE verifiedserver\r\n' 17:49:25.813138 Received DATA (on stdin) 17:49:25.813152 > 8 bytes data, server => client 17:49:25.813162 '213 17\r\n' 17:49:25.813227 < 21 bytes data, client => server 17:49:25.813239 'RETR verifiedserver\r\n' 17:49:25.813466 Received DATA (on stdin) 17:49:25.813478 > 29 bytes data, server => client 17:49:25.813489 '150 Binary junk (17 bytes).\r\n' 17:49:25.814038 Received DATA (on stdin) 17:49:25.814050 > 28 bytes data, server => client 17:49:25.814060 '226 File transfer complete\r\n' 17:49:25.856364 < 6 bytes data, client => server 17:49:25.856397 'QUIT\r\n' 17:49:25.856637 Received DATA (on stdin) 17:49:25.856649 > 18 bytes data, server => client 17:49:25.856659 '221 bye bye baby\r\n' 17:49:25.856842 ====> Client disconnect 17:49:25.857000 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:24.808639 Running IPv4 version 17:49:24.808696 Listening on port 38189 17:49:24.808732 Wrote pid 95340 to log/18/server/ftp_sockdata.pid 17:49:24.808750 Received PING (on stdin) 17:49:24.808837 Received PORT (on stdin) 17:49:24.809126 ====> Client connect 17:49:24.813516 Received DATA (on stdin) 17:49:24.813529 > 17 bytes data, server => client 17:49:24.813539 'WE ROOLZ: 82094\r\n' 17:49:24.813562 Received DISC (on stdin) 17:49:24.813572 ====> Client forcibly disconnected 17:49:24.813729 Received QUIT (on stdin) 17:49:24.813740 quits 17:49:24.813800 ============> 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 ==95360== ==95360== Process terminating with default action of signal 4 (SIGILL) ==95360== Illegal opcode at address 0x4014520 ==95360== at 0x4014520: getparameter (tool_getparam.c:2862) ==95360== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95360== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95360== by 0x4003728: main (tool_main.c:186) === End of file valgrind337 test 0341...[A non existing file with --etag-compare is just 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/9/valgrind341 ../src/curl -q --output log/9/curl341.out --include --trace-ascii log/9/trace341 --trace-time http://127.0.0.1:37413/341 --etag-compare log/9/etag341 > log/9/stdout341 2> log/9/stderr341 341: 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 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/9/valgrind341 ../src/curl -q --output log/9/curl341.out --include --trace-ascii log/9/trace341 --trace-time http://127.0.0.1:37413/341 --etag-compare log/9/etag341 > log/9/stdout341 2> log/9/stderr341 === End of file commands.log === Start of file http_server.log 17:49:25.111834 ====> Client connect 17:49:25.111866 accept_connection 3 returned 4 17:49:25.111881 accept_connection 3 returned 0 17:49:25.111895 Read 93 bytes 17:49:25.111904 Process 93 bytes request 17:49:25.111919 Got request: GET /verifiedserver HTTP/1.1 17:49:25.111928 Are-we-friendly question received 17:49:25.111953 Wrote request (93 bytes) input to log/9/server.input 17:49:25.111968 Identifying ourselves as friends 17:49:25.112022 Response sent (56 bytes) and written to log/9/server.response 17:49:25.112032 special request received, no persistency 17:49:25.112041 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 45656 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind341 ==95581== ==95581== Process terminating with default action of signal 4 (SIGILL) ==95581== Illegal opcode at address 0x4014520 ==95581== at 0x4014520: getparameter (tool_getparam.c:2862) ==95581== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95581== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95581== by 0x4003728: main (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/7/valgrind347 ../src/curl -q --output log/7/curl347.out --include --trace-ascii log/7/trace347 --trace-time http://127.0.0.1:35671/347 --etag-save log/7/etag347 > log/7/stdout347 2> log/7/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/24/valgrind344 ../src/curl -q --output log/24/curl344.out --include --trace-ascii log/24/trace344 --trace-time http://127.0.0.1:39649/344 --etag-compare log/24/etag344 --etag-save log/24/etag344 > log/24/stdout344 2> log/24/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:39173/343 --etag-compare log/23/etag343 --etag-save log/23/out343 > log/23/stdout343 2> log/23/stderr343 ol_main.c:186) === End of file valgrind341 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/7/valgrind347 ../src/curl -q --output log/7/curl347.out --include --trace-ascii log/7/trace347 --trace-time http://127.0.0.1:35671/347 --etag-save log/7/etag347 > log/7/stdout347 2> log/7/stderr347 347: 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 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/7/valgrind347 ../src/curl -q --output log/7/curl347.out --include --trace-ascii log/7/trace347 --trace-time http://127.0.0.1:35671/347 --etag-save log/7/etag347 > log/7/stdout347 2> log/7/stderr347 === End of file commands.log === Start of file http_server.log 17:49:25.162099 ====> Client connect 17:49:25.162138 accept_connection 3 returned 4 17:49:25.162155 accept_connection 3 returned 0 17:49:25.162169 Read 93 bytes 17:49:25.162180 Process 93 bytes request 17:49:25.162192 Got request: GET /verifiedserver HTTP/1.1 17:49:25.162201 Are-we-friendly question received 17:49:25.162230 Wrote request (93 bytes) input to log/7/server.input 17:49:25.162248 Identifying ourselves as friends 17:49:25.162311 Response sent (56 bytes) and written to log/7/server.response 17:49:25.162321 special request received, no persistency 17:49:25.162330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 41398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind347 ==95764== ==95764== Process terminating with default action of signal 4 (SIGILL) ==95764== Illegal opcode at address 0x4014520 ==95764== at 0x4014520: getparameter (tool_getparam.c:2862) ==95764== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95764== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95764== by 0x4003728: main (tool_main.c:186) === End of file valgrind347 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/24/valgrind344 ../src/curl -q --output log/24/curl344.out --include --trace-ascii log/24/trace344 --trace-time http://127.0.0.1:39649/344 --etag-compare log/24/etag344 --etag-save log/24/etag344 > log/24/stdout344 2> log/24/stderr344 344: 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 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/24/valgrind344 ../src/curl -q --output log/24/curl344.out --include --trace-ascii log/24/trace344 --trace-time http://127.0.0.1:39649/344 --etag-compare log/24/etag344 --etag-save log/24/etag344 > log/24/stdout344 2> log/24/stderr344 === End of file commands.log === Start of file http_server.log 17:49:25.157238 ====> Client connect 17:49:25.157271 accept_connection 3 returned 4 17:49:25.157286 accept_connection 3 returned 0 17:49:25.157299 Read 93 bytes 17:49:25.157308 Process 93 bytes request 17:49:25.157319 Got request: GET /verifiedserver HTTP/1.1 17:49:25.157328 Are-we-friendly question received 17:49:25.157375 Wrote request (93 bytes) input to log/24/server.input 17:49:25.157390 Identifying ourselves as friends 17:49:25.157441 Response sent (56 bytes) and written to log/24/server.response 17:49:25.157450 special request received, no persistency 17:49:25.157459 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 52040 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind344 ==95751== ==95751== Process terminating with default action of signal 4 (SIGILL) ==95751== Illegal opcode at address 0x4014520 ==95751== at 0x4014520: getparameter (tool_getparam.c:2862) ==95751== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95751== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95751== by 0x4003728: main (tool_main.c:186) === 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:39173/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:39173/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 17:49:26.152872 ====> Client connect 17:49:26.152904 accept_connection 3 returned 4 17:49:26.152920 accept_connection 3 returned 0 17:49:26.152934 Read 93 bytes 17:49:26.152943 Process 93 bytes request 17:49:26.152956 Got request: GET /verifiedserver HTTP/1.1 17:49:26.152965 Are-we-friendly question received 17:49:26.153004 Wrote request (93 bytes) input to log/23/server.input 17:49:26.153022 Identifying ourselves as friends 17:49:26.153083 Response sent (56 bytes) and written to log/23/server.response 17:49:26.153093 special request received, no persistency 17:49:26.153103 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 53832 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 log/11/stdout345 2> log/11/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/15/valgrind342 ../src/curl -q --output log/15/curl342.out --include --trace-ascii log/15/trace342 --trace-time http://127.0.0.1:41057/342 --etag-compare log/15/etag342 > log/15/stdout342 2> log/15/stderr342 CMD (33792): ../libtool --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/valgrind346 ../src/curl -q --output log/13/curl346.out --include --trace-ascii log/13/trace346 --trace-time -x http://127.0.0.1:43845/346 -U puser: -u suser: http://remote.example/346 > log/13/stdout346 2> log/13/stderr346 { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind343 ==95726== ==95726== Process terminating with default action of signal 4 (SIGILL) ==95726== Illegal opcode at address 0x4014520 ==95726== at 0x4014520: getparameter (tool_getparam.c:2862) ==95726== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95726== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95726== by 0x4003728: main (tool_main.c:186) === End of file valgrind343 test 0345...[Both --etag-compare and -save store new Etag using one 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/11/valgrind345 ../src/curl -q --output log/11/curl345.out --include --trace-ascii log/11/trace345 --trace-time http://127.0.0.1:46439/345 --etag-compare log/11/etag345 --etag-save log/11/etag345 > log/11/stdout345 2> log/11/stderr345 345: 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 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/11/valgrind345 ../src/curl -q --output log/11/curl345.out --include --trace-ascii log/11/trace345 --trace-time http://127.0.0.1:46439/345 --etag-compare log/11/etag345 --etag-save log/11/etag345 > log/11/stdout345 2> log/11/stderr345 === End of file commands.log === Start of file etag345 "21025-dc7-39462498" === End of file etag345 === Start of file http_server.log 17:49:25.160722 ====> Client connect 17:49:25.160751 accept_connection 3 returned 4 17:49:25.160766 accept_connection 3 returned 0 17:49:25.160779 Read 93 bytes 17:49:25.160788 Process 93 bytes request 17:49:25.160799 Got request: GET /verifiedserver HTTP/1.1 17:49:25.160808 Are-we-friendly question received 17:49:25.160832 Wrote request (93 bytes) input to log/11/server.input 17:49:25.160847 Identifying ourselves as friends 17:49:25.160901 Response sent (56 bytes) and written to log/11/server.response 17:49:25.160910 special request received, no persistency 17:49:25.160918 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 36204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind345 ==95756== ==95756== Process terminating with default action of signal 4 (SIGILL) ==95756== Illegal opcode at address 0x4014520 ==95756== at 0x4014520: getparameter (tool_getparam.c:2862) ==95756== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95756== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95756== by 0x4003728: main (tool_main.c:186) === End of file valgrind345 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/15/valgrind342 ../src/curl -q --output log/15/curl342.out --include --trace-ascii log/15/trace342 --trace-time http://127.0.0.1:41057/342 --etag-compare log/15/etag342 > log/15/stdout342 2> log/15/stderr342 342: 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 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/15/valgrind342 ../src/curl -q --output log/15/curl342.out --include --trace-ascii log/15/trace342 --trace-time http://127.0.0.1:41057/342 --etag-compare log/15/etag342 > log/15/stdout342 2> log/15/stderr342 === End of file commands.log === Start of file etag342 "21025-dc7-39462498" === End of file etag342 === Start of file http_server.log 17:49:25.130712 ====> Client connect 17:49:25.130746 accept_connection 3 returned 4 17:49:25.130761 accept_connection 3 returned 0 17:49:25.130775 Read 93 bytes 17:49:25.130784 Process 93 bytes request 17:49:25.130798 Got request: GET /verifiedserver HTTP/1.1 17:49:25.130807 Are-we-friendly question received 17:49:25.130832 Wrote request (93 bytes) input to log/15/server.input 17:49:25.130848 Identifying ourselves as friends 17:49:25.130901 Response sent (56 bytes) and written to log/15/server.response 17:49:25.130910 special request received, no persistency 17:49:25.130919 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 57522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind342 ==95635== ==95635== Process terminating with default action of signal 4 (SIGILL) ==95635== Illegal opcode at address 0x4014520 ==95635== at 0x4014520: getparameter (tool_getparam.c:2862) ==95635== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95635== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95635== by 0x4003728: main (tool_main.c:186) === End of file valgrind342 test 0346...[HTTP GET over proxy with credentials 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/13/valgrind346 ../src/curl -q --output log/13/curl346.out --include --trace-ascii log/13/trace346 --trace-time -x http://127.0.0.1:43845/346 -U puser: -u suser: http://remote.example/346 > log/13/stdout346 2> log/13/stderr346 346: 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 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/13/valgrind346 ../src/curl -q --output log/13/curl346.out --include --trace-ascii log/13/trace346 --trace-time -x http://127.0.0.1:43845/346 -U puser: -u suser: http://remote.example/346 > log/13/stdout346 2> log/13/stderr346 === End of file commands.log === Start of file http_server.log 17:49:26.162064 ====> Client connect 17:49:26.162102 accept_connection 3 returned 4 17:49:26.162134 accept_connection CMD (33792): ../libtool --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/valgrind348 ../src/curl -q --output log/20/curl348.out --include --trace-ascii log/20/trace348 --trace-time ftp://127.0.0.1:35215/348 -T log/20/test348.txt > log/20/stdout348 2> log/20/stderr348 3 returned 0 17:49:26.162149 Read 93 bytes 17:49:26.162159 Process 93 bytes request 17:49:26.162171 Got request: GET /verifiedserver HTTP/1.1 17:49:26.162181 Are-we-friendly question received 17:49:26.162218 Wrote request (93 bytes) input to log/13/server.input 17:49:26.162236 Identifying ourselves as friends 17:49:26.162303 Response sent (56 bytes) and written to log/13/server.response 17:49:26.162314 special request received, no persistency 17:49:26.162323 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 44866 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind346 ==95780== ==95780== Process terminating with default action of signal 4 (SIGILL) ==95780== Illegal opcode at address 0x4014520 ==95780== at 0x4014520: getparameter (tool_getparam.c:2862) ==95780== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==95780== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==95780== by 0x4003728: main (tool_main.c:186) === End of file valgrind346 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/20/valgrind348 ../src/curl -q --output log/20/curl348.out --include --trace-ascii log/20/trace348 --trace-time ftp://127.0.0.1:35215/348 -T log/20/test348.txt > log/20/stdout348 2> log/20/stderr348 348: 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 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/20/valgrind348 ../src/curl -q --output log/20/curl348.out --include --trace-ascii log/20/trace348 --trace-time ftp://127.0.0.1:35215/348 -T log/20/test348.txt > log/20/stdout348 2> log/20/stderr348 === End of file commands.log === Start of file ftp_server.log 17:49:25.319379 ====> Client connect 17:49:25.319538 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:25.319831 < "USER anonymous" 17:49:25.319875 > "331 We are happy you popped in![CR][LF]" 17:49:25.320120 < "PASS ftp@example.com" 17:49:25.320151 > "230 Welcome you silly person[CR][LF]" 17:49:25.320618 < "PWD" 17:49:25.320654 > "257 "/" is current directory[CR][LF]" 17:49:25.320834 < "EPSV" 17:49:25.320863 ====> Passive DATA channel requested by client 17:49:25.320879 DATA sockfilt for passive data channel starting... 17:49:25.322843 DATA sockfilt for passive data channel started (pid 95730) 17:49:25.322972 DATA sockfilt for passive data channel listens on port 36151 17:49:25.323019 > "229 Entering Passive Mode (|||36151|)[CR][LF]" 17:49:25.323036 Client has been notified that DATA conn will be accepted on port 36151 17:49:25.323316 Client connects to port 36151 17:49:25.323349 ====> Client established passive DATA connection on port 36151 17:49:25.323467 < "TYPE I" 17:49:25.323503 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:25.323668 < "SIZE verifiedserver" 17:49:25.323706 > "213 17[CR][LF]" 17:49:25.323843 < "RETR verifiedserver" 17:49:25.323875 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:25.323957 =====> Closing passive DATA connection... 17:49:25.323975 Server disconnects passive DATA connection 17:49:25.324191 Server disconnected passive DATA connection 17:49:25.324216 DATA sockfilt for passive data channel quits (pid 95730) 17:49:25.324453 DATA sockfilt for passive data channel quit (pid 95730) 17:49:25.324486 =====> Closed passive DATA connection 17:49:25.324519 > "226 File transfer complete[CR][LF]" 17:49:25.367756 < "QUIT" 17:49:25.367810 > "221 bye bye baby[CR][LF]" 17:49:25.370801 MAIN sockfilt said DISC 17:49:25.370854 ====> Client disconnected 17:49:25.370924 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:25.165459 ====> Client connect 17:49:25.165742 Received DATA (on stdin) 17:49:25.165758 > 146 bytes data, server => client 17:49:25.165771 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:25.165781 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:25.165791 '220 \___|\___/|_| \_\_____|\r\n' 17:49:25.165865 < 16 bytes data, client => server 17:49:25.165879 'USER anonymous\r\n' 17:49:25.166070 Received DATA (on stdin) 17:49:25.166083 > 33 bytes data, server => client 17:49:25.166094 '331 We are happy you popped in!\r\n' 17:49:25.166149 < 22 bytes data, client => server 17:49:25.166163 'PASS ftp@example.com\r\n' 17:49:25.166621 Received DATA (on stdin) 17:49:25.166638 > 30 bytes data, server => client 17:49:25.166649 '230 Welcome you silly person\r\n' 17:49:25.166705 < 5 bytes data, client => server 17:49:25.166718 'PWD\r\n' 17:49:25.166844 Received DATA (on stdin) 17:49:25.166856 > 30 bytes data, server => client 17:49:25.166867 '257 "/" is current directory\r\n' 17:49:25.166930 < 6 bytes data, client => server 17:49:25.166943 'EPSV\r\n' 17:49:25.169232 Received DATA (on stdin) 17:49:25.169248 > 39 bytes data, server => client 17:49:25.169259 '229 Entering Passive Mode (|||36151|)\r\n' 17:49:25.169450 < 8 bytes data, client => server 17:49:25.169460 'TYPE I\r\n' 17:49:25.169700 Received DATA (on stdin) 17:49:25.169711 > 33 bytes data, server => client 17:49:25.169721 '200 I modify TYPE as you wanted\r\n' 17:49:25.169773 < 21 bytes data, client => server 17:49:25.169784 'SIZE verifiedserver\r\n' 17:49:25.169891 Received DATA (on stdin) 17:49:25.169901 > 8 bytes data, server => client 17:49:25.169911 '213 17\r\n' 17:49:25.169954 < 21 bytes data, client => server 17:49:25.169964 'RETR verifiedserver\r\n' 17:49:25.170164 Received DATA (on stdin) 17:49:25.170175 > 29 bytes data, server => client 17:49:25.170185 '150 Binary junk (17 bytes).\r\n' 17:49:25.170713 Received DATA (on stdin) 17:49:25.170727 > 28 bytes data, server => client 17:49:25.170737 '226 File transfer complete\r\n' 17:49:25.213649 < 6 bytes data, client => server 17:49:25.213683 'QUIT\r\n' 17:49:25.216182 Received DATA (on stdin) 17:49:25.216201 > 18 bytes data, server => client 17:49:25.216212 '221 bye bye baby\r\n' 17:49:25.216920 ====> Client disconnect 17:49:25.217111 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:25.168835 Running IPv4 version 17:49:25.168898 Listening on port 36151 17:49:25.168938 Wrote pid 95730 to log/20/server/ftp_sockdata.pid 17:49:25.168960 Received PING (on stdin) 17:49:25.169069 Received PORT (on stdin) 17:49:25.169424 ====> Client connect 17:49:25.170209 Received DATA (on stdin) 17:49:25.170220 > 17 bytes data, server => client 17:49:25.170230 'WE ROOLZ: 81259\r\n' 17:49:25.170253 Received DISC (on stdin) 17:49:25.170264 ====> Client forcibly disconnected 17:49:25.170410 Received QUIT (on stdin) 17:49:25.170421 quits 17:49:25.170473 ============> 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 CMD (33792): ../libtool --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/valgrind349 ../src/curl -q --output log/4/curl349.out --include --trace-ascii log/4/trace349 --trace-time http://127.0.0.1:34411/349 --fail-with-body > log/4/stdout349 2> log/4/stderr349 CMD (33792): ../libtool --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/valgrind350 ../src/curl -q --output log/8/curl350.out --include --trace-ascii log/8/trace350 --trace-time ftp://127.0.0.1:42799// --ftp-method multicwd > log/8/stdout350 2> log/8/stderr350 ==96031== ==96031== Process terminating with default action of signal 4 (SIGILL) ==96031== Illegal opcode at address 0x4014520 ==96031== at 0x4014520: getparameter (tool_getparam.c:2862) ==96031== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96031== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96031== by 0x4003728: main (tool_main.c:186) === End of file valgrind348 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/4/valgrind349 ../src/curl -q --output log/4/curl349.out --include --trace-ascii log/4/trace349 --trace-time http://127.0.0.1:34411/349 --fail-with-body > log/4/stdout349 2> log/4/stderr349 349: 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 349 === Start of file commands.log ../libtool --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/valgrind349 ../src/curl -q --output log/4/curl349.out --include --trace-ascii log/4/trace349 --trace-time http://127.0.0.1:34411/349 --fail-with-body > log/4/stdout349 2> log/4/stderr349 === End of file commands.log === Start of file http_server.log 17:49:25.317455 ====> Client connect 17:49:25.317577 accept_connection 3 returned 4 17:49:25.317596 accept_connection 3 returned 0 17:49:25.317610 Read 93 bytes 17:49:25.317619 Process 93 bytes request 17:49:25.317633 Got request: GET /verifiedserver HTTP/1.1 17:49:25.317642 Are-we-friendly question received 17:49:25.317668 Wrote request (93 bytes) input to log/4/server.input 17:49:25.317685 Identifying ourselves as friends 17:49:25.317746 Response sent (56 bytes) and written to log/4/server.response 17:49:25.317756 special request received, no persistency 17:49:25.317765 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 54714 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind349 ==96125== ==96125== Process terminating with default action of signal 4 (SIGILL) ==96125== Illegal opcode at address 0x4014520 ==96125== at 0x4014520: getparameter (tool_getparam.c:2862) ==96125== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96125== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96125== by 0x4003728: main (tool_main.c:186) === End of file valgrind349 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/8/valgrind350 ../src/curl -q --output log/8/curl350.out --include --trace-ascii log/8/trace350 --trace-time ftp://127.0.0.1:42799// --ftp-method multicwd > log/8/stdout350 2> log/8/stderr350 350: 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 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/8/valgrind350 ../src/curl -q --output log/8/curl350.out --include --trace-ascii log/8/trace350 --trace-time ftp://127.0.0.1:42799// --ftp-method multicwd > log/8/stdout350 2> log/8/stderr350 === End of file commands.log === Start of file ftp_server.log 17:49:25.472742 ====> Client connect 17:49:25.472920 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:25.473232 < "USER anonymous" 17:49:25.473268 > "331 We are happy you popped in![CR][LF]" 17:49:25.473446 < "PASS ftp@example.com" 17:49:25.473474 > "230 Welcome you silly person[CR][LF]" 17:49:25.473620 < "PWD" 17:49:25.473648 > "257 "/" is current directory[CR][LF]" 17:49:25.473798 < "EPSV" 17:49:25.473821 ====> Passive DATA channel requested by client 17:49:25.473836 DATA sockfilt for passive data channel starting... 17:49:25.476018 DATA sockfilt for passive data channel started (pid 96122) 17:49:25.476151 DATA sockfilt for passive data channel listens on port 34625 17:49:25.476206 > "229 Entering Passive Mode (|||34625|)[CR][LF]" 17:49:25.476228 Client has been notified that DATA conn will be accepted on port 34625 17:49:25.476501 Client connects to port 34625 17:49:25.476536 ====> Client established passive DATA connection on port 34625 17:49:25.476637 < "TYPE I" 17:49:25.476688 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:25.476884 < "SIZE verifiedserver" 17:49:25.476927 > "213 17[CR][LF]" 17:49:25.477099 < "RETR verifiedserver" 17:49:25.477137 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:25.477236 =====> Closing passive DATA connection... 17:49:25.477257 Server disconnects passive DATA connection 17:49:25.477500 Server disconnected passive DATA connection 17:49:25.477532 DATA sockfilt for passive data channel quits (pid 96122) 17:49:25.477796 DATA sockfilt for passive data channel quit (pid 96122) 17:49:25.477824 =====> Closed passive DATA connection 17:49:25.477856 > "226 File transfer complete[CR][LF]" 17:49:25.520375 < "QUIT" 17:49:25.520427 > "221 bye bye baby[CR][LF]" 17:49:25.520743 MAIN sockfilt said DISC 17:49:25.520803 ====> Client disconnected 17:49:25.520901 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:26.318802 ====> Client connect 17:49:26.319121 Received DATA (on stdin) 17:49:26.319134 > 146 bytes data, server => client 17:49:26.319147 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:26.319158 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:26.319167 '220 \___|\___/|_| \_\_____|\r\n' 17:49:26.319241 < 16 bytes data, client => server 17:49:26.319252 'USER anonymous\r\n' 17:49:26.319458 Received DATA (on stdin) 17:49:26.319470 > 33 bytes data, server => client 17:49:26.319480 '331 We are happy you popped in!\r\n' 17:49:26.319546 < 22 bytes data, client => server 17:49:26.319557 'PASS ftp@example.com\r\n' 17:49:26.319661 Received DATA (on stdin) 17:49:26.319671 > 30 bytes data, server => client 17:49:26.319682 '230 Welcome you silly person\r\n' 17:49:26.319728 < 5 bytes data, client => server 17:49:26.319738 'PWD\r\n' 17:49:26.319833 Received DATA (on stdin) 17:49:26.319843 > 30 bytes data, server => client 17:49:26.319854 '257 "/" is current directory\r\n' 17:49:26.319907 < 6 bytes data, client => server 17:49:26.319917 'EPSV\r\n' 17:49:26.322426 Received DATA (on stdin) 17:49:26.322445 > 39 bytes data, server => client 17:49:26.322457 '229 Entering Passive Mode (|||34625|)\r\n' 17:49:26.322632 < 8 bytes data, client => server 17:49:26.322644 'TYPE I\r\n' 17:49:26.322882 Received DATA (on stdin) 17:49:26.322895 > 33 bytes data, server => client 17:49:26.322906 '200 I modify TYPE as you wanted\r\n' 17:49:26.322970 < 21 bytes data, client => server 17:49:26.322983 'SIZE verifiedserver\r\n' 17:49:26.323117 Received DATA (on stdin) 17:49:26.323129 > 8 bytes data, server => client 17:49:26.323139 '213 17\r\n' 17:49:26.323194 < 21 bytes data, 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/3/valgrind332 ../src/curl -q --output log/3/curl332.out --include --trace-ascii log/3/trace332 --trace-time tftp://127.0.0.1:55780//332 --tftp-blksize 400 > log/3/stdout332 2> log/3/stderr332 CMD (33792): ../libtool --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/valgrind352 ../src/curl -q --output log/19/curl352.out --include --trace-ascii log/19/trace352 --trace-time ftp://127.0.0.1:40075// --ftp-method singlecwd > log/19/stdout352 2> log/19/stderr352 server 17:49:26.323206 'RETR verifiedserver\r\n' 17:49:26.323448 Received DATA (on stdin) 17:49:26.323461 > 29 bytes data, server => client 17:49:26.323471 '150 Binary junk (17 bytes).\r\n' 17:49:26.324047 Received DATA (on stdin) 17:49:26.324059 > 28 bytes data, server => client 17:49:26.324070 '226 File transfer complete\r\n' 17:49:26.366362 < 6 bytes data, client => server 17:49:26.366392 'QUIT\r\n' 17:49:26.366619 Received DATA (on stdin) 17:49:26.366630 > 18 bytes data, server => client 17:49:26.366639 '221 bye bye baby\r\n' 17:49:26.366847 ====> Client disconnect 17:49:26.367099 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:25.321829 Running IPv4 version 17:49:25.321904 Listening on port 34625 17:49:25.321943 Wrote pid 96122 to log/8/server/ftp_sockdata.pid 17:49:25.322143 Received PING (on stdin) 17:49:25.322242 Received PORT (on stdin) 17:49:25.322601 ====> Client connect 17:49:25.323502 Received DATA (on stdin) 17:49:25.323515 > 17 bytes data, server => client 17:49:25.323525 'WE ROOLZ: 81155\r\n' 17:49:25.323550 Received DISC (on stdin) 17:49:25.323561 ====> Client forcibly disconnected 17:49:25.323730 Received QUIT (on stdin) 17:49:25.323742 quits 17:49:25.323815 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 350 === End of file server.cmd === Start of file valgrind350 ==96182== ==96182== Process terminating with default action of signal 4 (SIGILL) ==96182== Illegal opcode at address 0x4014520 ==96182== at 0x4014520: getparameter (tool_getparam.c:2862) ==96182== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96182== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96182== by 0x4003728: main (tool_main.c:186) === End of file valgrind350 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/3/server/tftp_server.pid" --portfile "log/3/server/tftp_server.port" --logfile "log/3/tftp_server.log" --logdir "log/3" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 94980 port 55780 * pid tftp => 94980 94980 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/3/valgrind332 ../src/curl -q --output log/3/curl332.out --include --trace-ascii log/3/trace332 --trace-time tftp://127.0.0.1:55780//332 --tftp-blksize 400 > log/3/stdout332 2> log/3/stderr332 332: 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 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/3/valgrind332 ../src/curl -q --output log/3/curl332.out --include --trace-ascii log/3/trace332 --trace-time tftp://127.0.0.1:55780//332 --tftp-blksize 400 > log/3/stdout332 2> log/3/stderr332 === End of file commands.log === Start of file server.cmd Testnum 332 === End of file server.cmd === Start of file tftp_server.log 17:49:24.531021 Wrote pid 94980 to log/3/server/tftp_server.pid 17:49:24.531082 Wrote port 55780 to log/3/server/tftp_server.port 17:49:24.531095 Running IPv4 version on port UDP/55780 === End of file tftp_server.log === Start of file valgrind332 ==96270== ==96270== Process terminating with default action of signal 4 (SIGILL) ==96270== Illegal opcode at address 0x4014520 ==96270== at 0x4014520: getparameter (tool_getparam.c:2862) ==96270== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96270== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96270== by 0x4003728: main (tool_main.c:186) === End of file valgrind332 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/19/valgrind352 ../src/curl -q --output log/19/curl352.out --include --trace-ascii log/19/trace352 --trace-time ftp://127.0.0.1:40075// --ftp-method singlecwd > log/19/stdout352 2> log/19/stderr352 352: 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 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/19/valgrind352 ../src/curl -q --output log/19/curl352.out --include --trace-ascii log/19/trace352 --trace-time ftp://127.0.0.1:40075// --ftp-method singlecwd > log/19/stdout352 2> log/19/stderr352 === End of file commands.log === Start of file ftp_server.log 17:49:25.615883 ====> Client connect 17:49:25.616064 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:25.616343 < "USER anonymous" 17:49:25.616377 > "331 We are happy you popped in![CR][LF]" 17:49:25.616538 < "PASS ftp@example.com" 17:49:25.616565 > "230 Welcome you silly person[CR][LF]" 17:49:25.616728 < "PWD" 17:49:25.616760 > "257 "/" is current directory[CR][LF]" 17:49:25.616917 < "EPSV" 17:49:25.616943 ====> Passive DATA channel requested by client 17:49:25.616958 DATA sockfilt for passive data channel starting... 17:49:25.618925 DATA sockfilt for passive data channel started (pid 96264) 17:49:25.619070 DATA sockfilt for passive data channel listens on port 41249 17:49:25.619125 > "229 Entering Passive Mode (|||41249|)[CR][LF]" 17:49:25.619146 Client has been notified that DATA conn will be accepted on port 41249 17:49:25.619411 Client connects to port 41249 17:49:25.619443 ====> Client established passive DATA connection on port 41249 17:49:25.619533 < "TYPE I" 17:49:25.619565 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:25.619726 < "SIZE verifiedserver" 17:49:25.619771 > "213 17[CR][LF]" 17:49:25.619926 < "RETR verifiedserver" 17:49:25.619964 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:25.620070 =====> Closing passive DATA connection... 17:49:25.620089 Server disconnects passive DATA connection 17:49:25.620323 Server disconnected passive DATA connection 17:49:25.620353 DATA sockfilt for passive data channel quits (pid 96264) 17:49:25.620605 DATA sockfilt for passive data channel quit (pid 96264) 17:49:25.620634 =====> Closed passive DATA connection 17:49:25.620665 > "226 File transfer complete[CR][LF]" 17:49:25.670280 < "QUIT" 17:49:25.670334 > "221 bye bye baby[CR][LF]" 17:49:25.671482 MAIN sockfilt said DISC 17:49:25.671512 ====> Client disconnected 17:49:25.671590 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:25.461947 ====> Client connect 17:49:25.462263 Received DATA (on stdin) 17:49:25.462276 > 146 bytes data, server => client 17:49:25.462289 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:25.462299 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:25.462308 '220 \___|\___/|_| \_\_____|\r\n' 17:49:25.462384 < 16 bytes data, client => server 17:49:25.462396 'USER anonymous\r\n' 17:49:25.462566 Received DATA (on stdin) 17:49:25.462578 > 33 bytes data, server => client 17:49:25.462588 '331 We are happy you popped in!\r\n' 17:49:25.462639 < 22 bytes data, client => server 17:49:25.462649 'PASS ftp@example.com\r\n' 17:49:25.462752 Received DATA (on stdin) 17:49:25.462763 > 30 bytes data, server => client 17:49:25.462777 '230 Welcome you silly person\r\n' 17:49:25.462823 < 5 bytes data, client => server 17:49:25.462833 'PWD\r\n' 17:49:25.462946 Received DATA (on stdin) 17:49:25.462957 > 30 bytes data, server => client 17:49:25.462967 '257 "/" is current directory\r\n' 17:49:25.463024 < CMD (33792): ../libtool --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/valgrind351 ../src/curl -q --output log/12/curl351.out --include --trace-ascii log/12/trace351 --trace-time ftp://127.0.0.1:38035// --ftp-method nocwd > log/12/stdout351 2> log/12/stderr351 6 bytes data, client => server 17:49:25.463035 'EPSV\r\n' 17:49:25.465344 Received DATA (on stdin) 17:49:25.465361 > 39 bytes data, server => client 17:49:25.465372 '229 Entering Passive Mode (|||41249|)\r\n' 17:49:25.465544 < 8 bytes data, client => server 17:49:25.465556 'TYPE I\r\n' 17:49:25.465755 Received DATA (on stdin) 17:49:25.465766 > 33 bytes data, server => client 17:49:25.465777 '200 I modify TYPE as you wanted\r\n' 17:49:25.465827 < 21 bytes data, client => server 17:49:25.465839 'SIZE verifiedserver\r\n' 17:49:25.465958 Received DATA (on stdin) 17:49:25.465969 > 8 bytes data, server => client 17:49:25.465979 '213 17\r\n' 17:49:25.466027 < 21 bytes data, client => server 17:49:25.466038 'RETR verifiedserver\r\n' 17:49:25.466281 Received DATA (on stdin) 17:49:25.466293 > 29 bytes data, server => client 17:49:25.466304 '150 Binary junk (17 bytes).\r\n' 17:49:25.466858 Received DATA (on stdin) 17:49:25.466871 > 28 bytes data, server => client 17:49:25.466882 '226 File transfer complete\r\n' 17:49:25.516285 < 6 bytes data, client => server 17:49:25.516313 'QUIT\r\n' 17:49:25.516528 Received DATA (on stdin) 17:49:25.516541 > 18 bytes data, server => client 17:49:25.516551 '221 bye bye baby\r\n' 17:49:25.517617 ====> Client disconnect 17:49:25.517776 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:25.464899 Running IPv4 version 17:49:25.464971 Listening on port 41249 17:49:25.465019 Wrote pid 96264 to log/19/server/ftp_sockdata.pid 17:49:25.465039 Received PING (on stdin) 17:49:25.465159 Received PORT (on stdin) 17:49:25.465516 ====> Client connect 17:49:25.466332 Received DATA (on stdin) 17:49:25.466345 > 17 bytes data, server => client 17:49:25.466355 'WE ROOLZ: 81054\r\n' 17:49:25.466379 Received DISC (on stdin) 17:49:25.466391 ====> Client forcibly disconnected 17:49:25.466550 Received QUIT (on stdin) 17:49:25.466561 quits 17:49:25.466628 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 352 === End of file server.cmd === Start of file valgrind352 ==96279== ==96279== Process terminating with default action of signal 4 (SIGILL) ==96279== Illegal opcode at address 0x4014520 ==96279== at 0x4014520: getparameter (tool_getparam.c:2862) ==96279== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96279== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96279== by 0x4003728: main (tool_main.c:186) === End of file valgrind352 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/12/valgrind351 ../src/curl -q --output log/12/curl351.out --include --trace-ascii log/12/trace351 --trace-time ftp://127.0.0.1:38035// --ftp-method nocwd > log/12/stdout351 2> log/12/stderr351 351: 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 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/12/valgrind351 ../src/curl -q --output log/12/curl351.out --include --trace-ascii log/12/trace351 --trace-time ftp://127.0.0.1:38035// --ftp-method nocwd > log/12/stdout351 2> log/12/stderr351 === End of file commands.log === Start of file ftp_server.log 17:49:25.616696 ====> Client connect 17:49:25.616875 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:25.617168 < "USER anonymous" 17:49:25.617206 > "331 We are happy you popped in![CR][LF]" 17:49:25.617377 < "PASS ftp@example.com" 17:49:25.617404 > "230 Welcome you silly person[CR][LF]" 17:49:25.617550 < "PWD" 17:49:25.617579 > "257 "/" is current directory[CR][LF]" 17:49:25.617763 < "EPSV" 17:49:25.617794 ====> Passive DATA channel requested by client 17:49:25.617809 DATA sockfilt for passive data channel starting... 17:49:25.619869 DATA sockfilt for passive data channel started (pid 96265) 17:49:25.619974 DATA sockfilt for passive data channel listens on port 36951 17:49:25.620026 > "229 Entering Passive Mode (|||36951|)[CR][LF]" 17:49:25.620046 Client has been notified that DATA conn will be accepted on port 36951 17:49:25.620220 Client connects to port 36951 17:49:25.620250 ====> Client established passive DATA connection on port 36951 17:49:25.620327 < "TYPE I" 17:49:25.620359 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:25.620527 < "SIZE verifiedserver" 17:49:25.620566 > "213 17[CR][LF]" 17:49:25.620722 < "RETR verifiedserver" 17:49:25.620759 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:25.620841 =====> Closing passive DATA connection... 17:49:25.620858 Server disconnects passive DATA connection 17:49:25.621007 Server disconnected passive DATA connection 17:49:25.621034 DATA sockfilt for passive data channel quits (pid 96265) 17:49:25.621302 DATA sockfilt for passive data channel quit (pid 96265) 17:49:25.621327 =====> Closed passive DATA connection 17:49:25.621353 > "226 File transfer complete[CR][LF]" 17:49:25.670313 < "QUIT" 17:49:25.670370 > "221 bye bye baby[CR][LF]" 17:49:25.672210 MAIN sockfilt said DISC 17:49:25.672255 ====> Client disconnected 17:49:25.672335 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:25.459522 ====> Client connect 17:49:25.463082 Received DATA (on stdin) 17:49:25.463102 > 146 bytes data, server => client 17:49:25.463113 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:25.463123 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:25.463132 '220 \___|\___/|_| \_\_____|\r\n' 17:49:25.463217 < 16 bytes data, client => server 17:49:25.463228 'USER anonymous\r\n' 17:49:25.463397 Received DATA (on stdin) 17:49:25.463409 > 33 bytes data, server => client 17:49:25.463419 '331 We are happy you popped in!\r\n' 17:49:25.463472 < 22 bytes data, client => server 17:49:25.463483 'PASS ftp@example.com\r\n' 17:49:25.463591 Received DATA (on stdin) 17:49:25.463602 > 30 bytes data, server => client 17:49:25.463612 '230 Welcome you silly person\r\n' 17:49:25.463658 < 5 bytes data, client => server 17:49:25.463668 'PWD\r\n' 17:49:25.463764 Received DATA (on stdin) 17:49:25.463782 > 30 bytes data, server => client 17:49:25.463794 '257 "/" is current directory\r\n' 17:49:25.463857 < 6 bytes data, client => server 17:49:25.463868 'EPSV\r\n' 17:49:25.466199 Received DATA (on stdin) 17:49:25.466215 > 39 bytes data, server => client 17:49:25.466226 '229 Entering Passive Mode (|||36951|)\r\n' 17:49:25.466445 < 8 bytes data, client => server 17:49:25.466465 'TYPE I\r\n' 17:49:25.466550 Received DATA (on stdin) 17:49:25.466566 > 33 bytes data, server => client 17:49:25.466577 '200 I modify TYPE as you wanted\r\n' 17:49:25.466630 < 21 bytes data, client => server 17:49:25.466642 'SIZE verifiedserver\r\n' 17:49:25.466752 Received DATA (on stdin) 17:49:25.466763 > 8 bytes data, server => client 17:49:25.466773 '213 17\r\n' 17:49:25.466826 < 21 bytes data, client => server 17:49:25.466838 'RETR verifiedserver\r\n' 17:49:25.467049 Received DATA (on stdin) 17:49:25.467061 > 29 bytes data, server => client 17:49:25.467073 '150 Binary junk (17 bytes).\r\n' 17:49:25.467542 Received DATA (on stdin) 17:49:25.467554 > 28 bytes data, server => client 17:49:25.467565 '226 File transfer complete\r\n' 17:49:25.516311 < 6 bytes data, client => server 17:49:25.516345 'QUIT\r\n' 17:49:25.516563 Received DATA (on stdin) 17:49:25.516575 > 18 bytes data, server => client 17:49:25.516585 '221 bye bye baby\r\n' 17:49:25.517860 ====> Client disconnect 17:49:25.518523 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:25.465745 Running IPv4 version 17:49:25.4658CMD (33792): ../libtool --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/valgrind355 ../src/curl -q --output log/10/curl355.out --include --trace-ascii log/10/trace355 --trace-time http://127.0.0.1:32889/355 --alt-svc "" > log/10/stdout355 2> log/10/stderr355 CMD (33792): ../libtool --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/valgrind354 ../src/curl -q --output log/22/curl354.out --include --trace-ascii log/22/trace354 --trace-time ftp://127.0.0.1:44871/354 > log/22/stdout354 2> log/22/stderr354 13 Listening on port 36951 17:49:25.465853 Wrote pid 96265 to log/12/server/ftp_sockdata.pid 17:49:25.466003 Received PING (on stdin) 17:49:25.466078 Received PORT (on stdin) 17:49:25.466354 ====> Client connect 17:49:25.466965 Received DATA (on stdin) 17:49:25.466988 > 17 bytes data, server => client 17:49:25.466999 'WE ROOLZ: 81047\r\n' 17:49:25.467047 Received DISC (on stdin) 17:49:25.467062 ====> Client forcibly disconnected 17:49:25.467238 Received QUIT (on stdin) 17:49:25.467252 quits 17:49:25.467314 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 351 === End of file server.cmd === Start of file valgrind351 ==96370== ==96370== Process terminating with default action of signal 4 (SIGILL) ==96370== Illegal opcode at address 0x4014520 ==96370== at 0x4014520: getparameter (tool_getparam.c:2862) ==96370== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96370== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96370== by 0x4003728: main (tool_main.c:186) === End of file valgrind351 test 0355...[load Alt-Svc from file and use] ../libtool --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/valgrind355 ../src/curl -q --output log/10/curl355.out --include --trace-ascii log/10/trace355 --trace-time http://127.0.0.1:32889/355 --alt-svc "" > log/10/stdout355 2> log/10/stderr355 355: 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 355 === Start of file altsvc-355 h1 example.com 80 h1 127.0.0.1 32889 "20290222 22:19:28" 0 0 === End of file altsvc-355 === Start of file commands.log ../libtool --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/valgrind355 ../src/curl -q --output log/10/curl355.out --include --trace-ascii log/10/trace355 --trace-time http://127.0.0.1:32889/355 --alt-svc "" > log/10/stdout355 2> log/10/stderr355 === End of file commands.log === Start of file http_server.log 17:49:25.607976 ====> Client connect 17:49:25.608010 accept_connection 3 returned 4 17:49:25.608028 accept_connection 3 returned 0 17:49:25.608043 Read 93 bytes 17:49:25.608053 Process 93 bytes request 17:49:25.608066 Got request: GET /verifiedserver HTTP/1.1 17:49:25.608076 Are-we-friendly question received 17:49:25.608105 Wrote request (93 bytes) input to log/10/server.input 17:49:25.608123 Identifying ourselves as friends 17:49:25.608182 Response sent (56 bytes) and written to log/10/server.response 17:49:25.608193 special request received, no persistency 17:49:25.608202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 33024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === End of file http_verify.out === Start of file server.cmd Testnum 355 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74973 === End of file server.response === Start of file valgrind355 ==96454== ==96454== Process terminating with default action of signal 4 (SIGILL) ==96454== Illegal opcode at address 0x4014520 ==96454== at 0x4014520: getparameter (tool_getparam.c:2862) ==96454== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96454== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96454== by 0x4003728: main (tool_main.c:186) === End of file valgrind355 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/22/valgrind354 ../src/curl -q --output log/22/curl354.out --include --trace-ascii log/22/trace354 --trace-time ftp://127.0.0.1:44871/354 > log/22/stdout354 2> log/22/stderr354 354: 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 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/22/valgrind354 ../src/curl -q --output log/22/curl354.out --include --trace-ascii log/22/trace354 --trace-time ftp://127.0.0.1:44871/354 > log/22/stdout354 2> log/22/stderr354 === End of file commands.log === Start of file ftp_server.log 17:49:25.762885 ====> Client connect 17:49:25.763040 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:25.763298 < "USER anonymous" 17:49:25.763349 > "331 We are happy you popped in![CR][LF]" 17:49:25.763516 < "PASS ftp@example.com" 17:49:25.763543 > "230 Welcome you silly person[CR][LF]" 17:49:25.763696 < "PWD" 17:49:25.763727 > "257 "/" is current directory[CR][LF]" 17:49:25.763890 < "EPSV" 17:49:25.763915 ====> Passive DATA channel requested by client 17:49:25.763930 DATA sockfilt for passive data channel starting... 17:49:25.765839 DATA sockfilt for passive data channel started (pid 96444) 17:49:25.765944 DATA sockfilt for passive data channel listens on port 34705 17:49:25.765986 > "229 Entering Passive Mode (|||34705|)[CR][LF]" 17:49:25.766003 Client has been notified that DATA conn will be accepted on port 34705 17:49:25.766220 Client connects to port 34705 17:49:25.766251 ====> Client established passive DATA connection on port 34705 17:49:25.766332 < "TYPE I" 17:49:25.766363 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:25.766528 < "SIZE verifiedserver" 17:49:25.766564 > "213 17[CR][LF]" 17:49:25.766742 < "RETR verifiedserver" 17:49:25.766775 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:25.766862 =====> Closing passive DATA connection... 17:49:25.766880 Server disconnects passive DATA connection 17:49:25.767079 Server disconnected passive DATA connection 17:49:25.767109 DATA sockfilt for passive data channel quits (pid 96444) 17:49:25.767375 DATA sockfilt for passive data channel quit (pid 96444) 17:49:25.767395 =====> Closed passive DATA connection 17:49:25.767420 > "226 File transfer complete[CR][LF]" 17:49:25.813664 < "QUIT" 17:49:25.813721 > "221 bye bye baby[CR][LF]" 17:49:25.814676 MAIN sockfilt said DISC 17:49:25.814712 ====> Client disconnected 17:49:25.814789 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:25.608972 ====> Client connect 17:49:25.609235 Received DATA (on stdin) 17:49:25.609248 > 146 bytes data, server => client 17:49:25.609260 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:25.609270 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:25.609280 '220 \___|\___/|_| \_\_____|\r\n' 17:49:25.609345 < 16 bytes data, client => server 17:49:25.609357 'USER anonymous\r\n' 17:49:25.609542 Received DATA (on stdin) 17:49:25.609554 > 33 bytes data, server => client 17:49:25.609565 '331 We are happy you popped in!\r\n' 17:49:25.609617 < 22 bytes data, client => server 17:49:25.609628 'PASS ftp@example.com\r\n' 17:49:25.609730 Received DATA (on stdin) 17:49:25.609742 > 30 bytes data, server => client 17:49:25.609753 '230 Welcome you silly person\r\n' 17:49:25.609800 < 5 bytes data, client => server 17:49:25.609811 'PWD\r\n' 17:49:25.609914 Received DATA (on stdin) 17:49:25.609925 > 30 bytes data, server => client 17:49:25.609CMD (33792): ../libtool --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/valgrind353 ../src/curl -q --output log/6/curl353.out --include --trace-ascii log/6/trace353 --trace-time ftp://127.0.0.1:36757/ --ftp-method singlecwd > log/6/stdout353 2> log/6/stderr353 936 '257 "/" is current directory\r\n' 17:49:25.609992 < 6 bytes data, client => server 17:49:25.610003 'EPSV\r\n' 17:49:25.612196 Received DATA (on stdin) 17:49:25.612208 > 39 bytes data, server => client 17:49:25.612219 '229 Entering Passive Mode (|||34705|)\r\n' 17:49:25.612326 < 8 bytes data, client => server 17:49:25.612341 'TYPE I\r\n' 17:49:25.612551 Received DATA (on stdin) 17:49:25.612564 > 33 bytes data, server => client 17:49:25.612575 '200 I modify TYPE as you wanted\r\n' 17:49:25.612629 < 21 bytes data, client => server 17:49:25.612641 'SIZE verifiedserver\r\n' 17:49:25.612753 Received DATA (on stdin) 17:49:25.612765 > 8 bytes data, server => client 17:49:25.612775 '213 17\r\n' 17:49:25.612824 < 21 bytes data, client => server 17:49:25.612855 'RETR verifiedserver\r\n' 17:49:25.613068 Received DATA (on stdin) 17:49:25.613080 > 29 bytes data, server => client 17:49:25.613091 '150 Binary junk (17 bytes).\r\n' 17:49:25.613608 Received DATA (on stdin) 17:49:25.613621 > 28 bytes data, server => client 17:49:25.613632 '226 File transfer complete\r\n' 17:49:25.659683 < 6 bytes data, client => server 17:49:25.659709 'QUIT\r\n' 17:49:25.659916 Received DATA (on stdin) 17:49:25.659929 > 18 bytes data, server => client 17:49:25.659940 '221 bye bye baby\r\n' 17:49:25.660804 ====> Client disconnect 17:49:25.660979 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:25.611714 Running IPv4 version 17:49:25.611777 Listening on port 34705 17:49:25.611818 Wrote pid 96444 to log/22/server/ftp_sockdata.pid 17:49:25.611968 Received PING (on stdin) 17:49:25.612050 Received PORT (on stdin) 17:49:25.612362 ====> Client connect 17:49:25.613144 Received DATA (on stdin) 17:49:25.613170 > 17 bytes data, server => client 17:49:25.613181 'WE ROOLZ: 81056\r\n' 17:49:25.613218 Received DISC (on stdin) 17:49:25.613232 ====> Client forcibly disconnected 17:49:25.613323 Received QUIT (on stdin) 17:49:25.613337 quits 17:49:25.613396 ============> 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 ==96531== ==96531== Process terminating with default action of signal 4 (SIGILL) ==96531== Illegal opcode at address 0x4014520 ==96531== at 0x4014520: getparameter (tool_getparam.c:2862) ==96531== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96531== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96531== by 0x4003728: main (tool_main.c:186) === 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/6/valgrind353 ../src/curl -q --output log/6/curl353.out --include --trace-ascii log/6/trace353 --trace-time ftp://127.0.0.1:36757/ --ftp-method singlecwd > log/6/stdout353 2> log/6/stderr353 353: 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 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/6/valgrind353 ../src/curl -q --output log/6/curl353.out --include --trace-ascii log/6/trace353 --trace-time ftp://127.0.0.1:36757/ --ftp-method singlecwd > log/6/stdout353 2> log/6/stderr353 === End of file commands.log === Start of file ftp_server.log 17:49:25.761682 ====> Client connect 17:49:25.761844 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:25.762171 < "USER anonymous" 17:49:25.762207 > "331 We are happy you popped in![CR][LF]" 17:49:25.762372 < "PASS ftp@example.com" 17:49:25.762397 > "230 Welcome you silly person[CR][LF]" 17:49:25.762541 < "PWD" 17:49:25.762570 > "257 "/" is current directory[CR][LF]" 17:49:25.762723 < "EPSV" 17:49:25.762749 ====> Passive DATA channel requested by client 17:49:25.762763 DATA sockfilt for passive data channel starting... 17:49:25.764734 DATA sockfilt for passive data channel started (pid 96443) 17:49:25.764850 DATA sockfilt for passive data channel listens on port 37923 17:49:25.764898 > "229 Entering Passive Mode (|||37923|)[CR][LF]" 17:49:25.764919 Client has been notified that DATA conn will be accepted on port 37923 17:49:25.765129 Client connects to port 37923 17:49:25.765161 ====> Client established passive DATA connection on port 37923 17:49:25.765281 < "TYPE I" 17:49:25.765313 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:25.765481 < "SIZE verifiedserver" 17:49:25.765519 > "213 17[CR][LF]" 17:49:25.765685 < "RETR verifiedserver" 17:49:25.765721 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:25.765808 =====> Closing passive DATA connection... 17:49:25.765827 Server disconnects passive DATA connection 17:49:25.766054 Server disconnected passive DATA connection 17:49:25.766083 DATA sockfilt for passive data channel quits (pid 96443) 17:49:25.766326 DATA sockfilt for passive data channel quit (pid 96443) 17:49:25.766354 =====> Closed passive DATA connection 17:49:25.766380 > "226 File transfer complete[CR][LF]" 17:49:25.807130 < "QUIT" 17:49:25.807188 > "221 bye bye baby[CR][LF]" 17:49:25.807855 MAIN sockfilt said DISC 17:49:25.807887 ====> Client disconnected 17:49:25.807975 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:25.607762 ====> Client connect 17:49:25.608044 Received DATA (on stdin) 17:49:25.608058 > 146 bytes data, server => client 17:49:25.608070 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:25.608081 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:25.608091 '220 \___|\___/|_| \_\_____|\r\n' 17:49:25.608210 < 16 bytes data, client => server 17:49:25.608223 'USER anonymous\r\n' 17:49:25.608399 Received DATA (on stdin) 17:49:25.608411 > 33 bytes data, server => client 17:49:25.608421 '331 We are happy you popped in!\r\n' 17:49:25.608471 < 22 bytes data, client => server 17:49:25.608482 'PASS ftp@example.com\r\n' 17:49:25.608584 Received DATA (on stdin) 17:49:25.608594 > 30 bytes data, server => client 17:49:25.608604 '230 Welcome you silly person\r\n' 17:49:25.608650 < 5 bytes data, client => server 17:49:25.608660 'PWD\r\n' 17:49:25.608754 Received DATA (on stdin) 17:49:25.608765 > 30 bytes data, server => client 17:49:25.608775 '257 "/" is current directory\r\n' 17:49:25.608831 < 6 bytes data, client => server 17:49:25.608841 'EPSV\r\n' 17:49:25.611113 Received DATA (on stdin) 17:49:25.611126 > 39 bytes data, server => client 17:49:25.611137 '229 Entering Passive Mode (|||37923|)\r\n' 17:49:25.611370 < 8 bytes data, client => server 17:49:25.611382 'TYPE I\r\n' 17:49:25.611504 Received DATA (on stdin) 17:49:25.611515 > 33 bytes data, server => client 17:49:25.611526 '200 I modify TYPE as you wanted\r\n' 17:49:25.611578 < 21 bytes data, client => server 17:49:25.611591 'SIZE verifiedserver\r\n' 17:49:25.611709 Received DATA (on stdin) 17:49:25.611721 > 8 bytes data, server => client 17:49:25.611731 '213 17\r\n' 17:49:25.611781 < 21 bytes data, client => server 17:49:25.611794 'RETR verifiedserver\r\n' 17:49:25.612017 Received DATA (on stdin) 17:49:25.612030 > 29 bytes data, server => client 17:49:25.612042 '150 Binary junk (17 bytes).\r\n' 17:49:25.612570 Received DATA (on stdin) 17:49:25.612583 > 28 bytes data, server => client 17:49:25.612594 '226 File transfer complete\r\n' 17:49:25.653124 < 6 bytes data, client => server 17:49:25.653148 'QUIT\r\n' 17:49:25.653382 Received DATA (on stdin) 17:49:25.653395 > 18 bytes data, server => client 17:49:25.653405 '221 bye bye baby\r\n' 17:49:25.653990 ====> Client disconnect 17:49:25.654163 Received ACKD (on stdin) === End of file 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/5/valgrind357 ../src/curl -q --output log/5/curl357.out --include --trace-ascii log/5/trace357 --trace-time http://127.0.0.1:46875/we/want/357 -T log/5/test357.txt --expect100-timeout 99 > log/5/stdout357 2> log/5/stderr357 tp_sockctrl.log === Start of file ftp_sockdata.log 17:49:25.610371 Running IPv4 version 17:49:25.610437 Listening on port 37923 17:49:25.610483 Wrote pid 96443 to log/6/server/ftp_sockdata.pid 17:49:25.610859 Received PING (on stdin) 17:49:25.610949 Received PORT (on stdin) 17:49:25.611265 ====> Client connect 17:49:25.612068 Received DATA (on stdin) 17:49:25.612082 > 17 bytes data, server => client 17:49:25.612092 'WE ROOLZ: 81072\r\n' 17:49:25.612115 Received DISC (on stdin) 17:49:25.612126 ====> Client forcibly disconnected 17:49:25.612279 Received QUIT (on stdin) 17:49:25.612291 quits 17:49:25.612354 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 353 === End of file server.cmd === Start of file valgrind353 ==96524== ==96524== Process terminating with default action of signal 4 (SIGILL) ==96524== Illegal opcode at address 0x4014520 ==96524== at 0x4014520: getparameter (tool_getparam.c:2862) ==96524== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96524== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96524== by 0x4003728: main (tool_main.c:186) === End of file valgrind353 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/5/valgrind357 ../src/curl -q --output log/5/curl357.out --include --trace-ascii log/5/trace357 --trace-time http://127.0.0.1:46875/we/want/357 -T log/5/test357.txt --expect100-timeout 99 > log/5/stdout357 2> log/5/stderr357 357: 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 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/5/valgrind357 ../src/curl -q --output log/5/curl357.out --include --trace-ascii log/5/trace357 --trace-time http://127.0.0.1:46875/we/want/357 -T log/5/test357.txt --expect100-timeout 99 > log/5/stdout357 2> log/5/stderr357 === End of file commands.log === Start of file http_server.log 17:49:25.731022 ====> Client connect 17:49:25.731070 accept_connection 3 returned 4 17:49:25.731087 accept_connection 3 returned 0 17:49:25.731102 Read 93 bytes 17:49:25.731112 Process 93 bytes request 17:49:25.731127 Got request: GET /verifiedserver HTTP/1.1 17:49:25.731136 Are-we-friendly question received 17:49:25.731164 Wrote request (93 bytes) input to log/5/server.input 17:49:25.731183 Identifying ourselves as friends 17:49:25.731249 Response sent (56 bytes) and written to log/5/server.response 17:49:25.731259 special request received, no persistency 17:49:25.731267 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 44634 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file test357.txt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --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:40899/360 --fail-with-body --fail --no-progress-meter > log/16/stdout360 2> log/16/stderr360 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file test357.txt === Start of file valgrind357 ==96662== ==96662== Process terminating with default action of signal 4 (SIGILL) ==96662== Illegal opcode at address 0x4014520 ==96662== at 0x4014520: getparameter (tool_getparam.c:2862) ==96662== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96662== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96662== by 0x4003728: main (tool_main.c:186) === End of file valgrind357 CMD (33792): ../libtool --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/valgrind361 ../src/curl -q --output log/14/curl361.out --include --trace-ascii log/14/trace361 --trace-time http://127.0.0.1:37569/361 http://127.0.0.1:37569/361 --fail-with-body > log/14/stdout361 2> log/14/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/21/valgrind362 ../src/curl -q --output log/21/curl362.out --include --trace-ascii log/21/trace362 --trace-time ftp://127.0.0.1:37113/362 -T log/21/test362.txt --continue-at - > log/21/stdout362 2> log/21/stderr362 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:40899/360 --fail-with-body --fail --no-progress-meter > log/16/stdout360 2> log/16/stderr360 360: stderr FAILED: --- log/16/check-expected 2026-01-28 17:49:26.989888771 +0000 +++ log/16/check-generated 2026-01-28 17:49:26.989888771 +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:40899/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 17:49:25.754756 ====> Client connect 17:49:25.754786 accept_connection 3 returned 4 17:49:25.754801 accept_connection 3 returned 0 17:49:25.754815 Read 93 bytes 17:49:25.754824 Process 93 bytes request 17:49:25.754837 Got request: GET /verifiedserver HTTP/1.1 17:49:25.754845 Are-we-friendly question received 17:49:25.754871 Wrote request (93 bytes) input to log/16/server.input 17:49:25.754886 Identifying ourselves as friends 17:49:25.754936 Response sent (56 bytes) and written to log/16/server.response 17:49:25.754945 special request received, no persistency 17:49:25.754953 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 58804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind360 ==96688== ==96688== Process terminating with default action of signal 4 (SIGILL) ==96688== Illegal opcode at address 0x4014520 ==96688== at 0x4014520: getparameter (tool_getparam.c:2862) ==96688== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96688== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96688== by 0x4003728: main (tool_main.c:186) === 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/14/valgrind361 ../src/curl -q --output log/14/curl361.out --include --trace-ascii log/14/trace361 --trace-time http://127.0.0.1:37569/361 http://127.0.0.1:37569/361 --fail-with-body > log/14/stdout361 2> log/14/stderr361 361: 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 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/14/valgrind361 ../src/curl -q --output log/14/curl361.out --include --trace-ascii log/14/trace361 --trace-time http://127.0.0.1:37569/361 http://127.0.0.1:37569/361 --fail-with-body > log/14/stdout361 2> log/14/stderr361 === End of file commands.log === Start of file http_server.log 17:49:26.779252 ====> Client connect 17:49:26.779294 accept_connection 3 returned 4 17:49:26.779311 accept_connection 3 returned 0 17:49:26.779326 Read 93 bytes 17:49:26.779335 Process 93 bytes request 17:49:26.779349 Got request: GET /verifiedserver HTTP/1.1 17:49:26.779358 Are-we-friendly question received 17:49:26.779387 Wrote request (93 bytes) input to log/14/server.input 17:49:26.779402 Identifying ourselves as friends 17:49:26.779464 Response sent (56 bytes) and written to log/14/server.response 17:49:26.779474 special request received, no persistency 17:49:26.779482 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 46892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind361 ==96728== ==96728== Process terminating with default action of signal 4 (SIGILL) ==96728== Illegal opcode at address 0x4014520 ==96728== at 0x4014520: getparameter (tool_getparam.c:2862) ==96728== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96728== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96728== by 0x4003728: main (tool_main.c:186) === End of file valgrind361 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/21/valgrind362 ../src/curl -q --output log/21/curl362.out --include --trace-ascii log/21/trace362 --trace-time ftp://127.0.0.1:37113/362 -T log/21/test362.txt --continue-at - > log/21/stdout362 2> log/21/stderr362 362: 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 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/21/valgrind362 ../src/curl -q --output log/21/curl362.out --include --trace-ascii log/21/trace362 --trace-time ftp://127.0.0.1:37113/362 -T log/21/test362.txt --continue-at - > log/21/stdout362 2> log/21/stderr362 === End of file commands.log === Start of file ftp_server.log 17:49:25.966902 ====> Client connect 17:49:25.967077 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:25.967375 < "USER anonymous" 17:49:25.967416 > "331 We are happy you popped in![CR][LF]" 17:49:25.967600 < "PASS ftp@example.com" 17:49:25.967631 > "230 Welcome you silly person[CR][LF]" 17:49:25.967803 < "PWD" 17:49:25.967840 > "257 "/" is current directory[CR][LF]" 17:49:25.968020 < "EPSV" 17:49:25.968048 ====> Passive DATA channel requested by client 17:49:25.968062 DATA sockfilt for passive data channel starting... 17:49:25.971201 DATA sockfilt for passive data channel started (pid 96804) 17:49:25.971342 DATA sockfilt for passive data channel listens on port 45751 17:49:25.971402 > "229 Entering Passive Mode (|||45751|)[CR][LF]" 17:49:25.971421 Client has been notified thatCMD (33792): ../libtool --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/valgrind365 ../src/curl -q --output log/2/curl365.out --include --trace-ascii log/2/trace365 --trace-time http://127.0.0.1:38779/365 > log/2/stdout365 2> log/2/stderr365 CMD (33792): ../libtool --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/valgrind367 ../src/curl -q --output log/18/curl367.out --include --trace-ascii log/18/trace367 --trace-time http://:example@127.0.0.1:34067/367 > log/18/stdout367 2> log/18/stderr367 DATA conn will be accepted on port 45751 17:49:25.971908 Client connects to port 45751 17:49:25.971953 ====> Client established passive DATA connection on port 45751 17:49:25.972060 < "TYPE I" 17:49:25.972105 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:25.972492 < "SIZE verifiedserver" 17:49:25.972537 > "213 17[CR][LF]" 17:49:25.972685 < "RETR verifiedserver" 17:49:25.972719 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:25.972804 =====> Closing passive DATA connection... 17:49:25.972820 Server disconnects passive DATA connection 17:49:25.973114 Server disconnected passive DATA connection 17:49:25.973141 DATA sockfilt for passive data channel quits (pid 96804) 17:49:25.973416 DATA sockfilt for passive data channel quit (pid 96804) 17:49:25.973441 =====> Closed passive DATA connection 17:49:25.973472 > "226 File transfer complete[CR][LF]" 17:49:26.014222 < "QUIT" 17:49:26.014279 > "221 bye bye baby[CR][LF]" 17:49:26.015243 MAIN sockfilt said DISC 17:49:26.015271 ====> Client disconnected 17:49:26.015360 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:25.812953 ====> Client connect 17:49:25.813282 Received DATA (on stdin) 17:49:25.813297 > 146 bytes data, server => client 17:49:25.813309 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:25.813319 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:25.813329 '220 \___|\___/|_| \_\_____|\r\n' 17:49:25.813406 < 16 bytes data, client => server 17:49:25.813422 'USER anonymous\r\n' 17:49:25.813609 Received DATA (on stdin) 17:49:25.813621 > 33 bytes data, server => client 17:49:25.813632 '331 We are happy you popped in!\r\n' 17:49:25.813687 < 22 bytes data, client => server 17:49:25.813702 'PASS ftp@example.com\r\n' 17:49:25.813821 Received DATA (on stdin) 17:49:25.813834 > 30 bytes data, server => client 17:49:25.813845 '230 Welcome you silly person\r\n' 17:49:25.813898 < 5 bytes data, client => server 17:49:25.813910 'PWD\r\n' 17:49:25.814030 Received DATA (on stdin) 17:49:25.814042 > 30 bytes data, server => client 17:49:25.814053 '257 "/" is current directory\r\n' 17:49:25.814115 < 6 bytes data, client => server 17:49:25.814129 'EPSV\r\n' 17:49:25.817622 Received DATA (on stdin) 17:49:25.817641 > 39 bytes data, server => client 17:49:25.817652 '229 Entering Passive Mode (|||45751|)\r\n' 17:49:25.817863 < 8 bytes data, client => server 17:49:25.817876 'TYPE I\r\n' 17:49:25.818473 Received DATA (on stdin) 17:49:25.818495 > 33 bytes data, server => client 17:49:25.818507 '200 I modify TYPE as you wanted\r\n' 17:49:25.818571 < 21 bytes data, client => server 17:49:25.818582 'SIZE verifiedserver\r\n' 17:49:25.818725 Received DATA (on stdin) 17:49:25.818735 > 8 bytes data, server => client 17:49:25.818745 '213 17\r\n' 17:49:25.818791 < 21 bytes data, client => server 17:49:25.818802 'RETR verifiedserver\r\n' 17:49:25.819010 Received DATA (on stdin) 17:49:25.819020 > 29 bytes data, server => client 17:49:25.819030 '150 Binary junk (17 bytes).\r\n' 17:49:25.819660 Received DATA (on stdin) 17:49:25.819672 > 28 bytes data, server => client 17:49:25.819683 '226 File transfer complete\r\n' 17:49:25.860192 < 6 bytes data, client => server 17:49:25.860219 'QUIT\r\n' 17:49:25.860475 Received DATA (on stdin) 17:49:25.860485 > 18 bytes data, server => client 17:49:25.860495 '221 bye bye baby\r\n' 17:49:25.861382 ====> Client disconnect 17:49:25.861546 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:25.816072 Running IPv4 version 17:49:25.816154 Listening on port 45751 17:49:25.816202 Wrote pid 96804 to log/21/server/ftp_sockdata.pid 17:49:25.817316 Received PING (on stdin) 17:49:25.817430 Received PORT (on stdin) 17:49:25.817832 ====> Client connect 17:49:25.819131 Received DATA (on stdin) 17:49:25.819149 > 17 bytes data, server => client 17:49:25.819160 'WE ROOLZ: 81123\r\n' 17:49:25.819187 Received DISC (on stdin) 17:49:25.819199 ====> Client forcibly disconnected 17:49:25.819336 Received QUIT (on stdin) 17:49:25.819346 quits 17:49:25.819413 ============> 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 ==96854== ==96854== Process terminating with default action of signal 4 (SIGILL) ==96854== Illegal opcode at address 0x4014520 ==96854== at 0x4014520: getparameter (tool_getparam.c:2862) ==96854== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96854== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96854== by 0x4003728: main (tool_main.c:186) === End of file valgrind362 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/2/valgrind365 ../src/curl -q --output log/2/curl365.out --include --trace-ascii log/2/trace365 --trace-time http://127.0.0.1:38779/365 > log/2/stdout365 2> log/2/stderr365 365: 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 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/2/valgrind365 ../src/curl -q --output log/2/curl365.out --include --trace-ascii log/2/trace365 --trace-time http://127.0.0.1:38779/365 > log/2/stdout365 2> log/2/stderr365 === End of file commands.log === Start of file http_server.log 17:49:25.981394 ====> Client connect 17:49:25.981424 accept_connection 3 returned 4 17:49:25.981440 accept_connection 3 returned 0 17:49:25.981454 Read 93 bytes 17:49:25.981463 Process 93 bytes request 17:49:25.981475 Got request: GET /verifiedserver HTTP/1.1 17:49:25.981483 Are-we-friendly question received 17:49:25.981508 Wrote request (93 bytes) input to log/2/server.input 17:49:25.981523 Identifying ourselves as friends 17:49:25.981577 Response sent (56 bytes) and written to log/2/server.response 17:49:25.981585 special request received, no persistency 17:49:25.981594 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 45258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind365 ==96966== ==96966== Process terminating with default action of signal 4 (SIGILL) ==96966== Illegal opcode at address 0x4014520 ==96966== at 0x4014520: getparameter (tool_getparam.c:2862) ==96966== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96966== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96966== by 0x4003728: main (tool_main.c:186) === End of file valgrind365 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/18/valgrind367 ../src/curl -q --output log/18/curl367.out --include --trace-ascii log/18/trace367 --trace-time http://:example@127.0.0.1:34067/367 > log/18/stdout367 2> log/18/stderr367 367: protocol FAILED! There was no content at all in the file log/18/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/1/valgrind366 ../src/curl -q --output log/1/curl366.out --include --trace-ascii log/1/trace366 --trace-time http://127.0.0.1:39589/366 --retry 2 --retry-max-time 10 > log/1/stdout366 2> log/1/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/17/valgrind340 ../src/curl -q --output log/17/curl340.out --include --trace-ascii log/17/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:38963/%00first/second/third/340 > log/17/stdout340 2> log/17/stderr340 CMD (33792): ../libtool --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/valgrind370 ../src/curl -q --output log/24/curl370.out --include --trace-ascii log/24/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/24/nowhere/etag370 > log/24/stdout370 2> log/24/stderr370 ver.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ 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/18/valgrind367 ../src/curl -q --output log/18/curl367.out --include --trace-ascii log/18/trace367 --trace-time http://:example@127.0.0.1:34067/367 > log/18/stdout367 2> log/18/stderr367 === End of file commands.log === Start of file http_server.log 17:49:25.988373 ====> Client connect 17:49:25.988413 accept_connection 3 returned 4 17:49:25.988429 accept_connection 3 returned 0 17:49:25.988443 Read 93 bytes 17:49:25.988453 Process 93 bytes request 17:49:25.988465 Got request: GET /verifiedserver HTTP/1.1 17:49:25.988474 Are-we-friendly question received 17:49:25.988535 Wrote request (93 bytes) input to log/18/server.input 17:49:25.988553 Identifying ourselves as friends 17:49:25.988613 Response sent (56 bytes) and written to log/18/server.response 17:49:25.988623 special request received, no persistency 17:49:25.988632 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 57480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind367 ==96984== ==96984== Process terminating with default action of signal 4 (SIGILL) ==96984== Illegal opcode at address 0x4014520 ==96984== at 0x4014520: getparameter (tool_getparam.c:2862) ==96984== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96984== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96984== by 0x4003728: main (tool_main.c:186) === End of file valgrind367 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/1/valgrind366 ../src/curl -q --output log/1/curl366.out --include --trace-ascii log/1/trace366 --trace-time http://127.0.0.1:39589/366 --retry 2 --retry-max-time 10 > log/1/stdout366 2> log/1/stderr366 366: 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 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/1/valgrind366 ../src/curl -q --output log/1/curl366.out --include --trace-ascii log/1/trace366 --trace-time http://127.0.0.1:39589/366 --retry 2 --retry-max-time 10 > log/1/stdout366 2> log/1/stderr366 === End of file commands.log === Start of file http_server.log 17:49:25.979952 ====> Client connect 17:49:25.979987 accept_connection 3 returned 4 17:49:25.980004 accept_connection 3 returned 0 17:49:25.980019 Read 93 bytes 17:49:25.980028 Process 93 bytes request 17:49:25.980041 Got request: GET /verifiedserver HTTP/1.1 17:49:25.980051 Are-we-friendly question received 17:49:25.980075 Wrote request (93 bytes) input to log/1/server.input 17:49:25.980092 Identifying ourselves as friends 17:49:25.980154 Response sent (56 bytes) and written to log/1/server.response 17:49:25.980165 special request received, no persistency 17:49:25.980174 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind366 ==96958== ==96958== Process terminating with default action of signal 4 (SIGILL) ==96958== Illegal opcode at address 0x4014520 ==96958== at 0x4014520: getparameter (tool_getparam.c:2862) ==96958== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==96958== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==96958== by 0x4003728: main (tool_main.c:186) === End of file valgrind366 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 38963 (log/17/server/ftp_server.port) RUN: FTP server is PID 95543 port 38963 * pid ftp => 95543 95543 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/17/valgrind340 ../src/curl -q --output log/17/curl340.out --include --trace-ascii log/17/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:38963/%00first/second/third/340 > log/17/stdout340 2> log/17/stderr340 340: 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 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/17/valgrind340 ../src/curl -q --output log/17/curl340.out --include --trace-ascii log/17/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:38963/%00first/second/third/340 > log/17/stdout340 2> log/17/stderr340 === End of file commands.log === Start of file ftp_server.log 17:49:25.233939 FTP server listens on port IPv4/38963 17:49:25.234013 logged pid 95543 in log/17/server/ftp_server.pid 17:49:25.234035 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:25.079875 Running IPv4 version 17:49:25.079954 Listening on port 38963 17:49:25.079988 Wrote pid 95548 to log/17/server/ftp_sockctrl.pid 17:49:25.080012 Wrote port 38963 to log/17/server/ftp_server.port 17:49:25.080035 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 340 === End of file server.cmd === Start of file valgrind340 ==97105== ==97105== Process terminating with default action of signal 4 (SIGILL) ==97105== Illegal opcode at address 0x4014520 ==97105== at 0x4014520: getparameter (tool_getparam.c:2862) ==97105== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97105== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97105== by 0x4003728: main (tool_main.c:186) === End of file valgrind340 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/24/valgrind370 ../src/curl -q --output log/24/curl370.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/9/valgrind368 ../src/curl -q --output log/9/curl368.out --include --trace-ascii log/9/trace368 --trace-time http://127.0.0.1:37413/368 -r 4 > log/9/stdout368 2> log/9/stderr368 CMD (33792): ../libtool --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/valgrind373 ../src/curl -q --output log/15/curl373.out --include --trace-ascii log/15/trace373 --trace-time http://127.0.0.1:41057/chunked-transfer-encoding/373 > log/15/stdout373 2> log/15/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/7/valgrind369 ../src/curl -q --output log/7/curl369.out --include --trace-ascii log/7/trace369 --trace-time http://127.0.0.1:35671/369 --etag-save log/7/nowhere/etag369 --next http://127.0.0.1:35671/369 --include --output log/7/curl369.out > log/7/stdout369 2> log/7/stderr369 trace-ascii log/24/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/24/nowhere/etag370 > log/24/stdout370 2> log/24/stderr370 curl returned 132, when expecting 26 370: exit FAILED == Contents of files in the log/24/ 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/24/valgrind370 ../src/curl -q --output log/24/curl370.out --include --trace-ascii log/24/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/24/nowhere/etag370 > log/24/stdout370 2> log/24/stderr370 === End of file commands.log === Start of file server.cmd Testnum 370 === End of file server.cmd === Start of file valgrind370 ==97233== ==97233== Process terminating with default action of signal 4 (SIGILL) ==97233== Illegal opcode at address 0x4014520 ==97233== at 0x4014520: getparameter (tool_getparam.c:2862) ==97233== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97233== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97233== by 0x4003728: main (tool_main.c:186) === End of file valgrind370 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/9/valgrind368 ../src/curl -q --output log/9/curl368.out --include --trace-ascii log/9/trace368 --trace-time http://127.0.0.1:37413/368 -r 4 > log/9/stdout368 2> log/9/stderr368 368: 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 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/9/valgrind368 ../src/curl -q --output log/9/curl368.out --include --trace-ascii log/9/trace368 --trace-time http://127.0.0.1:37413/368 -r 4 > log/9/stdout368 2> log/9/stderr368 === End of file commands.log === Start of file http_server.log 17:49:26.312916 ====> Client connect 17:49:26.312950 accept_connection 3 returned 4 17:49:26.312965 accept_connection 3 returned 0 17:49:26.312979 Read 93 bytes 17:49:26.312988 Process 93 bytes request 17:49:26.313002 Got request: GET /verifiedserver HTTP/1.1 17:49:26.313010 Are-we-friendly question received 17:49:26.313034 Wrote request (93 bytes) input to log/9/server.input 17:49:26.313051 Identifying ourselves as friends 17:49:26.313113 Response sent (56 bytes) and written to log/9/server.response 17:49:26.313122 special request received, no persistency 17:49:26.313130 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 45668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind368 ==97215== ==97215== Process terminating with default action of signal 4 (SIGILL) ==97215== Illegal opcode at address 0x4014520 ==97215== at 0x4014520: getparameter (tool_getparam.c:2862) ==97215== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97215== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97215== by 0x4003728: main (tool_main.c:186) === End of file valgrind368 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/15/valgrind373 ../src/curl -q --output log/15/curl373.out --include --trace-ascii log/15/trace373 --trace-time http://127.0.0.1:41057/chunked-transfer-encoding/373 > log/15/stdout373 2> log/15/stderr373 373: 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 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/15/valgrind373 ../src/curl -q --output log/15/curl373.out --include --trace-ascii log/15/trace373 --trace-time http://127.0.0.1:41057/chunked-transfer-encoding/373 > log/15/stdout373 2> log/15/stderr373 === End of file commands.log === Start of file http_server.log 17:49:26.368911 ====> Client connect 17:49:26.368935 accept_connection 3 returned 4 17:49:26.368949 accept_connection 3 returned 0 17:49:26.368960 Read 93 bytes 17:49:26.368969 Process 93 bytes request 17:49:26.368978 Got request: GET /verifiedserver HTTP/1.1 17:49:26.368985 Are-we-friendly question received 17:49:26.369005 Wrote request (93 bytes) input to log/15/server.input 17:49:26.369018 Identifying ourselves as friends 17:49:26.369064 Response sent (56 bytes) and written to log/15/server.response 17:49:26.369071 special request received, no persistency 17:49:26.369078 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 57536 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind373 ==97409== ==97409== Process terminating with default action of signal 4 (SIGILL) ==97409== Illegal opcode at address 0x4014520 ==97409== at 0x4014520: getparameter (tool_getparam.c:2862) ==97409== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97409== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97409== by 0x4003728: main (tool_main.c:186) === End of file valgrind373 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/7/valgrind369 ../src/curl -q --output log/7/curl369.out --include --trace-ascii log/7/trace369 --trace-time http://127.0.0.1:35671/369 --etag-save log/7/nowhere/etag369 --next http://127.0.0.1:35671/369 --include --output log/7/curl369.out > log/7/stdout369 2> log/7/stderr369 369: 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 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/7/valgrind369 ../src/curl -q --output log/7/curl369.out --include --trace-ascii log/7/trace369 --trace-time http://127.0.0.1:35671/369 --etag-save log/7/nowhere/etag369 --next http://127.0.0.1:35671/369 --include --output log/7/curl369.out > log/7/stdout369 2> 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/11/valgrind372 ../src/curl -q --output log/11/curl372.out --include --trace-ascii log/11/trace372 --trace-time --raw http://127.0.0.1:46439/binary-zero-in-data-section/372 > log/11/stdout372 2> log/11/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/13/valgrind374 ../src/curl -q --output log/13/curl374.out --include --trace-ascii log/13/trace374 --trace-time http://127.0.0.1:43845/gif/374 > log/13/stdout374 2> log/13/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/23/valgrind371 ../src/curl -q --output log/23/curl371.out --include --trace-ascii log/23/trace371 --trace-time http://127.0.0.1:39173/371 -o log/23/dump -o log/23/dump2 --no-progress-meter > log/23/stdout371 2> log/23/stderr371 og/7/stderr369 === End of file commands.log === Start of file http_server.log 17:49:26.314327 ====> Client connect 17:49:26.314361 accept_connection 3 returned 4 17:49:26.314378 accept_connection 3 returned 0 17:49:26.314391 Read 93 bytes 17:49:26.314400 Process 93 bytes request 17:49:26.314411 Got request: GET /verifiedserver HTTP/1.1 17:49:26.314419 Are-we-friendly question received 17:49:26.314446 Wrote request (93 bytes) input to log/7/server.input 17:49:26.314463 Identifying ourselves as friends 17:49:26.314526 Response sent (56 bytes) and written to log/7/server.response 17:49:26.314537 special request received, no persistency 17:49:26.314546 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 41410 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind369 ==97218== ==97218== Process terminating with default action of signal 4 (SIGILL) ==97218== Illegal opcode at address 0x4014520 ==97218== at 0x4014520: getparameter (tool_getparam.c:2862) ==97218== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97218== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97218== by 0x4003728: main (tool_main.c:186) === End of file valgrind369 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/11/valgrind372 ../src/curl -q --output log/11/curl372.out --include --trace-ascii log/11/trace372 --trace-time --raw http://127.0.0.1:46439/binary-zero-in-data-section/372 > log/11/stdout372 2> log/11/stderr372 372: 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 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/11/valgrind372 ../src/curl -q --output log/11/curl372.out --include --trace-ascii log/11/trace372 --trace-time --raw http://127.0.0.1:46439/binary-zero-in-data-section/372 > log/11/stdout372 2> log/11/stderr372 === End of file commands.log === Start of file http_server.log 17:49:26.377169 ====> Client connect 17:49:26.377197 accept_connection 3 returned 4 17:49:26.377213 accept_connection 3 returned 0 17:49:26.377225 Read 93 bytes 17:49:26.377234 Process 93 bytes request 17:49:26.377246 Got request: GET /verifiedserver HTTP/1.1 17:49:26.377254 Are-we-friendly question received 17:49:26.377277 Wrote request (93 bytes) input to log/11/server.input 17:49:26.377291 Identifying ourselves as friends 17:49:26.377342 Response sent (56 bytes) and written to log/11/server.response 17:49:26.377350 special request received, no persistency 17:49:26.377358 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 36206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind372 ==97451== ==97451== Process terminating with default action of signal 4 (SIGILL) ==97451== Illegal opcode at address 0x4014520 ==97451== at 0x4014520: getparameter (tool_getparam.c:2862) ==97451== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97451== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97451== by 0x4003728: main (tool_main.c:186) === End of file valgrind372 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/13/valgrind374 ../src/curl -q --output log/13/curl374.out --include --trace-ascii log/13/trace374 --trace-time http://127.0.0.1:43845/gif/374 > log/13/stdout374 2> log/13/stderr374 374: 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 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/13/valgrind374 ../src/curl -q --output log/13/curl374.out --include --trace-ascii log/13/trace374 --trace-time http://127.0.0.1:43845/gif/374 > log/13/stdout374 2> log/13/stderr374 === End of file commands.log === Start of file http_server.log 17:49:27.390238 ====> Client connect 17:49:27.390272 accept_connection 3 returned 4 17:49:27.390289 accept_connection 3 returned 0 17:49:27.390304 Read 93 bytes 17:49:27.390315 Process 93 bytes request 17:49:27.390328 Got request: GET /verifiedserver HTTP/1.1 17:49:27.390337 Are-we-friendly question received 17:49:27.390366 Wrote request (93 bytes) input to log/13/server.input 17:49:27.390383 Identifying ourselves as friends 17:49:27.390443 Response sent (56 bytes) and written to log/13/server.response 17:49:27.390453 special request received, no persistency 17:49:27.390463 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 44870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind374 ==97496== ==97496== Process terminating with default action of signal 4 (SIGILL) ==97496== Illegal opcode at address 0x4014520 ==97496== at 0x4014520: getparameter (tool_getparam.c:2862) ==97496== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97496== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97496== by 0x4003728: main (tool_main.c:186) === End of file valgrind374 CMD (33792): ../libtool --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/valgrind378 ../src/curl -q --output log/4/curl378.out --include --trace-ascii log/4/trace378 --trace-time -T log/4/378 -d input http://never-accessed > log/4/stdout378 2> log/4/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/23/valgrind371 ../src/curl -q --output log/23/curl371.out --include --trace-ascii log/23/trace371 --trace-time http://127.0.0.1:39173/371 -o log/23/dump -o log/23/dump2 --no-progress-meter > log/23/stdout371 2> log/23/stderr371 371: stderr FAILED: --- log/23/check-expected 2026-01-28 17:49:27.719888770 +0000 +++ log/23/check-generated 2026-01-28 17:49:27.719888770 +0000 @@ -1 +0,0 @@ -Warning: Got more output options than URLs[CR][LF] == Contents of files in the log/23/ 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/23/valgrind371 ../src/curl -q --output log/23/curl371.out --include --trace-ascii log/23/trace371 --trace-time http://127.0.0.1:39173/371 -o log/23/dump -o log/23/dump2 --no-progress-meter > log/23/stdout371 2> log/23/stderr371 === End of file commands.log === Start of file http_server.log 17:49:27.366234 ====> Client connect 17:49:27.366269 accept_connection 3 returned 4 17:49:27.366285 accept_connection 3 returned 0 17:49:27.366300 Read 93 bytes 17:49:27.366309 Process 93 bytes request 17:49:27.366323 Got request: GET /verifiedserver HTTP/1.1 17:49:27.366332 Are-we-friendly question received 17:49:27.366358 Wrote request (93 bytes) input to log/23/server.input 17:49:27.366374 Identifying ourselves as friends 17:49:27.366436 Response sent (56 bytes) and written to log/23/server.response 17:49:27.366446 special request received, no persistency 17:49:27.366454 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 53844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind371 ==97389== ==97389== Process terminating with default action of signal 4 (SIGILL) ==97389== Illegal opcode at address 0x4014520 ==97389== at 0x4014520: getparameter (tool_getparam.c:2862) ==97389== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97389== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97389== by 0x4003728: main (tool_main.c:186) === 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/20/valgrind376 ../src/curl -q --include --trace-ascii log/20/trace376 --trace-time http://127.0.0.1:46725/376 -o log/20/save-376 --remove-on-error > log/20/stdout376 2> log/20/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/8/valgrind379 ../src/curl -q --include --trace-ascii log/8/trace379 --trace-time http://127.0.0.1:42045/379 -o log/8/save --remove-on-error --no-clobber > log/8/stdout379 2> log/8/stderr379 CMD (33792): ../libtool --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/valgrind383 ../src/curl -q --output log/12/curl383.out --include --trace-ascii log/12/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:36641/383 > log/12/stdout383 2> log/12/stderr383 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/4/valgrind378 ../src/curl -q --output log/4/curl378.out --include --trace-ascii log/4/trace378 --trace-time -T log/4/378 -d input http://never-accessed > log/4/stdout378 2> log/4/stderr378 378: stderr FAILED: --- log/4/check-expected 2026-01-28 17:49:27.726555437 +0000 +++ log/4/check-generated 2026-01-28 17:49:27.726555437 +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/4/ 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/4/valgrind378 ../src/curl -q --output log/4/curl378.out --include --trace-ascii log/4/trace378 --trace-time -T log/4/378 -d input http://never-accessed > log/4/stdout378 2> log/4/stderr378 === End of file commands.log === Start of file server.cmd Testnum 378 === End of file server.cmd === Start of file valgrind378 ==97465== ==97465== Process terminating with default action of signal 4 (SIGILL) ==97465== Illegal opcode at address 0x4014520 ==97465== at 0x4014520: getparameter (tool_getparam.c:2862) ==97465== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97465== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97465== by 0x4003728: main (tool_main.c:186) === End of file valgrind378 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/20/valgrind376 ../src/curl -q --include --trace-ascii log/20/trace376 --trace-time http://127.0.0.1:46725/376 -o log/20/save-376 --remove-on-error > log/20/stdout376 2> log/20/stderr376 376: 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 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/20/valgrind376 ../src/curl -q --include --trace-ascii log/20/trace376 --trace-time http://127.0.0.1:46725/376 -o log/20/save-376 --remove-on-error > log/20/stdout376 2> log/20/stderr376 === End of file commands.log === Start of file http_server.log 17:49:26.406084 ====> Client connect 17:49:26.406119 accept_connection 3 returned 4 17:49:26.406135 accept_connection 3 returned 0 17:49:26.406151 Read 93 bytes 17:49:26.406162 Process 93 bytes request 17:49:26.406195 Got request: GET /verifiedserver HTTP/1.1 17:49:26.406204 Are-we-friendly question received 17:49:26.406232 Wrote request (93 bytes) input to log/20/server.input 17:49:26.406248 Identifying ourselves as friends 17:49:26.406305 Response sent (56 bytes) and written to log/20/server.response 17:49:26.406315 special request received, no persistency 17:49:26.406323 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 38564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind376 ==97569== ==97569== Process terminating with default action of signal 4 (SIGILL) ==97569== Illegal opcode at address 0x4014520 ==97569== at 0x4014520: getparameter (tool_getparam.c:2862) ==97569== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97569== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97569== by 0x4003728: main (tool_main.c:186) === End of file valgrind376 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/8/valgrind379 ../src/curl -q --include --trace-ascii log/8/trace379 --trace-time http://127.0.0.1:42045/379 -o log/8/save --remove-on-error --no-clobber > log/8/stdout379 2> log/8/stderr379 379: 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 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/8/valgrind379 ../src/curl -q --include --trace-ascii log/8/trace379 --trace-time http://127.0.0.1:42045/379 -o log/8/save --remove-on-error --no-clobber > log/8/stdout379 2> log/8/stderr379 === End of file commands.log === Start of file http_server.log 17:49:26.457427 ====> Client connect 17:49:26.457461 accept_connection 3 returned 4 17:49:26.457477 accept_connection 3 returned 0 17:49:26.457492 Read 93 bytes 17:49:26.457502 Process 93 bytes request 17:49:26.457515 Got request: GET /verifiedserver HTTP/1.1 17:49:26.457524 Are-we-friendly question received 17:49:26.457552 Wrote request (93 bytes) input to log/8/server.input 17:49:26.457568 Identifying ourselves as friends 17:49:26.457630 Response sent (56 bytes) and written to log/8/server.response 17:49:26.457640 special request received, no persistency 17:49:26.457649 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56958 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind379 ==97735== ==97735== Process terminating with default action of signal 4 (SIGILL) ==97735== Illegal opcode at address 0x4014520 ==97735== at 0x4014520: getparameter (tool_getparam.c:2862) ==97735== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97735== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97735== by 0x4003728: main (tool_main.c:186) === End of file valgrind379 test 0383...[HTTP with --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/12/valgrind383 ../src/curl -q --output log/12/curl383.out --include --trace-ascii log/12/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:36641/383 > log/12/stdout383 2> log/12/stderr383 383: protocol FAILED! There CMD (33792): ../libtool --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/valgrind381 ../src/curl -q --output log/19/curl381.out --include --trace-ascii log/19/trace381 --trace-time --netrc-optional --netrc-file log/19/netrc381 ftp://mary:drfrank@127.0.0.1:40075/ > log/19/stdout381 2> log/19/stderr381 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 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/12/valgrind383 ../src/curl -q --output log/12/curl383.out --include --trace-ascii log/12/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:36641/383 > log/12/stdout383 2> log/12/stderr383 === End of file commands.log === Start of file http_server.log 17:49:26.688997 ====> Client connect 17:49:26.689031 accept_connection 3 returned 4 17:49:26.689047 accept_connection 3 returned 0 17:49:26.689061 Read 93 bytes 17:49:26.689070 Process 93 bytes request 17:49:26.689083 Got request: GET /verifiedserver HTTP/1.1 17:49:26.689091 Are-we-friendly question received 17:49:26.689114 Wrote request (93 bytes) input to log/12/server.input 17:49:26.689134 Identifying ourselves as friends 17:49:26.689190 Response sent (56 bytes) and written to log/12/server.response 17:49:26.689199 special request received, no persistency 17:49:26.689208 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 52348 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind383 ==97882== ==97882== Process terminating with default action of signal 4 (SIGILL) ==97882== Illegal opcode at address 0x4014520 ==97882== at 0x4014520: getparameter (tool_getparam.c:2862) ==97882== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97882== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97882== by 0x4003728: main (tool_main.c:186) === End of file valgrind383 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/19/valgrind381 ../src/curl -q --output log/19/curl381.out --include --trace-ascii log/19/trace381 --trace-time --netrc-optional --netrc-file log/19/netrc381 ftp://mary:drfrank@127.0.0.1:40075/ > log/19/stdout381 2> log/19/stderr381 381: 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 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/19/valgrind381 ../src/curl -q --output log/19/curl381.out --include --trace-ascii log/19/trace381 --trace-time --netrc-optional --netrc-file log/19/netrc381 ftp://mary:drfrank@127.0.0.1:40075/ > log/19/stdout381 2> log/19/stderr381 === End of file commands.log === Start of file ftp_server.log 17:49:26.826914 ====> Client connect 17:49:26.827064 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:26.827370 < "USER anonymous" 17:49:26.827412 > "331 We are happy you popped in![CR][LF]" 17:49:26.827596 < "PASS ftp@example.com" 17:49:26.827626 > "230 Welcome you silly person[CR][LF]" 17:49:26.827795 < "PWD" 17:49:26.827831 > "257 "/" is current directory[CR][LF]" 17:49:26.828005 < "EPSV" 17:49:26.828033 ====> Passive DATA channel requested by client 17:49:26.828048 DATA sockfilt for passive data channel starting... 17:49:26.829812 DATA sockfilt for passive data channel started (pid 97853) 17:49:26.829922 DATA sockfilt for passive data channel listens on port 41855 17:49:26.829966 > "229 Entering Passive Mode (|||41855|)[CR][LF]" 17:49:26.829987 Client has been notified that DATA conn will be accepted on port 41855 17:49:26.830225 Client connects to port 41855 17:49:26.830257 ====> Client established passive DATA connection on port 41855 17:49:26.830336 < "TYPE I" 17:49:26.830368 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:26.830538 < "SIZE verifiedserver" 17:49:26.830578 > "213 17[CR][LF]" 17:49:26.830739 < "RETR verifiedserver" 17:49:26.830775 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:26.830869 =====> Closing passive DATA connection... 17:49:26.830887 Server disconnects passive DATA connection 17:49:26.831125 Server disconnected passive DATA connection 17:49:26.831157 DATA sockfilt for passive data channel quits (pid 97853) 17:49:26.831414 DATA sockfilt for passive data channel quit (pid 97853) 17:49:26.831443 =====> Closed passive DATA connection 17:49:26.831473 > "226 File transfer complete[CR][LF]" 17:49:26.879445 < "QUIT" 17:49:26.879502 > "221 bye bye baby[CR][LF]" 17:49:26.880782 MAIN sockfilt said DISC 17:49:26.880811 ====> Client disconnected 17:49:26.880878 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:26.673000 ====> Client connect 17:49:26.673267 Received DATA (on stdin) 17:49:26.673283 > 146 bytes data, server => client 17:49:26.673295 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:26.673306 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:26.673315 '220 \___|\___/|_| \_\_____|\r\n' 17:49:26.673387 < 16 bytes data, client => server 17:49:26.673401 'USER anonymous\r\n' 17:49:26.673607 Received DATA (on stdin) 17:49:26.673620 > 33 bytes data, server => client 17:49:26.673631 '331 We are happy you popped in!\r\n' 17:49:26.673686 < 22 bytes data, client => server 17:49:26.673700 'PASS ftp@example.com\r\n' 17:49:26.673816 Received DATA (on stdin) 17:49:26.673828 > 30 bytes data, server => client 17:49:26.673839 '230 Welcome you silly person\r\n' 17:49:26.673891 < 5 bytes data, client => server 17:49:26.673903 'PWD\r\n' 17:49:26.674021 Received DATA (on stdin) 17:49:26.674033 > 30 bytes data, server => client 17:49:26.674044 '257 "/" is current directory\r\n' 17:49:26.674104 < 6 bytes data, client => server 17:49:26.674116 'EPSV\r\n' 17:49:26.676193 Received DATA (on stdin) 17:49:26.676206 > 39 bytes data, server => client 17:49:26.676217 '229 Entering Passive Mode (|||41855|)\r\n' 17:49:26.676333 < 8 bytes data, client => server 17:49:26.676347 'TYPE I\r\n' 17:49:26.676557 Received DATA (on stdin) 17:49:26.676569 > 33 bytes data, server => client 17:49:26.676580 '200 I modify TYPE as you wanted\r\n' 17:49:26.676637 < 21 bytes data, client => server 17:49:26.676648 'SIZE verifiedserver\r\n' 17:49:26.676766 Received DATA (on stdin) 17:49:26.676777 > 8 bytes data, server => client 17:49:26.676788 '213 17\r\n' 17:49:26.676839 < 21 bytes data, client => server 17:49:26.676850 'RETR verifiedserver\r\n' 17:49:26.677170 Received DATA (on stdin) 17:49:26.677183 > 29 bytes data, server => client 17:49:26.677194 '150 Binary junk (17 bytes).\r\n' 17:49:26.677663 Received DATA (on stdin) 17:49:26.677676 > 28 bytes data, server => client 17:49:26.677687 '226 File transfer complete\r\n' 17:49:26.723169 < 6 bytes data, client => server 17:49:26.723201 'QUIT\r\n' 17:49:26.725706 Received DATA (on stdin) 17:49:26.725728 > 18 bytes data, server => client 17:49:26.725739 '221 bye bye baby\r\n' 17:49:26.726915 ====> Client disconnect 17:49:26.727065 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:26.675822 Running IPv4 version 17CMD (33792): ../libtool --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/valgrind384 ../src/curl -q --output log/10/curl384.out --include --trace-ascii log/10/trace384 --trace-time --json @- http://127.0.0.1:32889/384 -H "Accept: foobar/*" log/10/stdout384 2> log/10/stderr384 CMD (33792): ../libtool --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/valgrind380 ../src/curl -q --output log/3/curl380.out --include --trace-ascii log/3/trace380 --trace-time --netrc --netrc-file log/3/netrc380 ftp://mary@127.0.0.1:35383/ > log/3/stdout380 2> log/3/stderr380 :49:26.675882 Listening on port 41855 17:49:26.675920 Wrote pid 97853 to log/19/server/ftp_sockdata.pid 17:49:26.675941 Received PING (on stdin) 17:49:26.676025 Received PORT (on stdin) 17:49:26.676367 ====> Client connect 17:49:26.677081 Received DATA (on stdin) 17:49:26.677094 > 17 bytes data, server => client 17:49:26.677104 'WE ROOLZ: 81054\r\n' 17:49:26.677132 Received DISC (on stdin) 17:49:26.677145 ====> Client forcibly disconnected 17:49:26.677356 Received QUIT (on stdin) 17:49:26.677368 quits 17:49:26.677432 ============> 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 ==97962== ==97962== Process terminating with default action of signal 4 (SIGILL) ==97962== Illegal opcode at address 0x4014520 ==97962== at 0x4014520: getparameter (tool_getparam.c:2862) ==97962== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97962== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97962== by 0x4003728: main (tool_main.c:186) === End of file valgrind381 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/10/valgrind384 ../src/curl -q --output log/10/curl384.out --include --trace-ascii log/10/trace384 --trace-time --json @- http://127.0.0.1:32889/384 -H "Accept: foobar/*" log/10/stdout384 2> log/10/stderr384 384: 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 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/10/valgrind384 ../src/curl -q --output log/10/curl384.out --include --trace-ascii log/10/trace384 --trace-time --json @- http://127.0.0.1:32889/384 -H "Accept: foobar/*" log/10/stdout384 2> log/10/stderr384 === End of file commands.log === Start of file http_server.log 17:49:26.707705 ====> Client connect 17:49:26.707741 accept_connection 3 returned 4 17:49:26.707757 accept_connection 3 returned 0 17:49:26.707770 Read 93 bytes 17:49:26.707779 Process 93 bytes request 17:49:26.707793 Got request: GET /verifiedserver HTTP/1.1 17:49:26.707802 Are-we-friendly question received 17:49:26.707826 Wrote request (93 bytes) input to log/10/server.input 17:49:26.707843 Identifying ourselves as friends 17:49:26.707896 Response sent (56 bytes) and written to log/10/server.response 17:49:26.707906 special request received, no persistency 17:49:26.707914 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 33030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file stdin-for-384 { "drink": "coffee" } === End of file stdin-for-384 === Start of file valgrind384 ==97913== ==97913== Process terminating with default action of signal 4 (SIGILL) ==97913== Illegal opcode at address 0x4014520 ==97913== at 0x4014520: getparameter (tool_getparam.c:2862) ==97913== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97913== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97913== by 0x4003728: main (tool_main.c:186) === End of file valgrind384 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/3/valgrind380 ../src/curl -q --output log/3/curl380.out --include --trace-ascii log/3/trace380 --trace-time --netrc --netrc-file log/3/netrc380 ftp://mary@127.0.0.1:35383/ > log/3/stdout380 2> log/3/stderr380 380: 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 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/3/valgrind380 ../src/curl -q --output log/3/curl380.out --include --trace-ascii log/3/trace380 --trace-time --netrc --netrc-file log/3/netrc380 ftp://mary@127.0.0.1:35383/ > log/3/stdout380 2> log/3/stderr380 === End of file commands.log === Start of file ftp_server.log 17:49:26.812685 ====> Client connect 17:49:26.812881 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:26.813198 < "USER anonymous" 17:49:26.813234 > "331 We are happy you popped in![CR][LF]" 17:49:26.813531 < "PASS ftp@example.com" 17:49:26.813640 > "230 Welcome you silly person[CR][LF]" 17:49:26.814002 < "PWD" 17:49:26.814081 > "257 "/" is current directory[CR][LF]" 17:49:26.814299 < "EPSV" 17:49:26.814327 ====> Passive DATA channel requested by client 17:49:26.814341 DATA sockfilt for passive data channel starting... 17:49:26.819568 DATA sockfilt for passive data channel started (pid 97846) 17:49:26.819683 DATA sockfilt for passive data channel listens on port 37927 17:49:26.819733 > "229 Entering Passive Mode (|||37927|)[CR][LF]" 17:49:26.819751 Client has been notified that DATA conn will be accepted on port 37927 17:49:26.820021 Client connects to port 37927 17:49:26.820052 ====> Client established passive DATA connection on port 37927 17:49:26.820141 < "TYPE I" 17:49:26.820174 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:26.820339 < "SIZE verifiedserver" 17:49:26.820379 > "213 17[CR][LF]" 17:49:26.820533 < "RETR verifiedserver" 17:49:26.820570 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:26.820666 =====> Closing passive DATA connection... 17:49:26.820684 Server disconnects passive DATA connection 17:49:26.820919 Server disconnected passive DATA connection 17:49:26.820946 DATA sockfilt for passive data channel quits (pid 97846) 17:49:26.821183 DATA sockfilt for passive data channel quit (pid 97846) 17:49:26.821207 =====> Closed passive DATA connection 17:49:26.821235 > "226 File transfer complete[CR][LF]" 17:49:26.863678 < "QUIT" 17:49:26.863728 > "221 bye bye baby[CR][LF]" 17:49:26.864260 MAIN sockfilt said DISC 17:49:26.864292 ====> Client disconnected 17:49:26.864371 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:26.658755 ====> Client connect 17:49:26.659093 Received DATA (on stdin) 17:49:26.659110 > 146 bytes data, server => client 17:49:26.659122 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:26.659132 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:26.659141 '220 \___|\___/|_| \_\_____|\r\n' 17:49:26.659229 < 16 bytes data, client => server 17:49:26.659241 'USER anonymous\r\n' 17:49:26.659425 Received DATA (on stdin) 17:49:26.659436 > 33 bytes data, server => client 17:49:26.659446 '331 We are happy you popped in!\r\n' 17:49:26.659509 < 22 bytes data, client => server 17:49:26.659538CMD (33792): ../libtool --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/valgrind386 ../src/curl -q --output log/6/curl386.out --include --trace-ascii log/6/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:42747/386 --next http://127.0.0.1:42747/3860002 > log/6/stdout386 2> log/6/stderr386 CMD (33792): ../libtool --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/valgrind385 ../src/curl -q --output log/22/curl385.out --include --trace-ascii log/22/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:42933/385 -H "Content-Type: drinks/hot" > log/22/stdout385 2> log/22/stderr385 'PASS ftp@example.com\r\n' 17:49:26.659776 Received DATA (on stdin) 17:49:26.659833 > 30 bytes data, server => client 17:49:26.659858 '230 Welcome you silly person\r\n' 17:49:26.659969 < 5 bytes data, client => server 17:49:26.660009 'PWD\r\n' 17:49:26.660283 Received DATA (on stdin) 17:49:26.660302 > 30 bytes data, server => client 17:49:26.660313 '257 "/" is current directory\r\n' 17:49:26.660398 < 6 bytes data, client => server 17:49:26.660410 'EPSV\r\n' 17:49:26.665944 Received DATA (on stdin) 17:49:26.665957 > 39 bytes data, server => client 17:49:26.665968 '229 Entering Passive Mode (|||37927|)\r\n' 17:49:26.666148 < 8 bytes data, client => server 17:49:26.666159 'TYPE I\r\n' 17:49:26.666364 Received DATA (on stdin) 17:49:26.666376 > 33 bytes data, server => client 17:49:26.666387 '200 I modify TYPE as you wanted\r\n' 17:49:26.666441 < 21 bytes data, client => server 17:49:26.666452 'SIZE verifiedserver\r\n' 17:49:26.666568 Received DATA (on stdin) 17:49:26.666579 > 8 bytes data, server => client 17:49:26.666589 '213 17\r\n' 17:49:26.666638 < 21 bytes data, client => server 17:49:26.666649 'RETR verifiedserver\r\n' 17:49:26.666874 Received DATA (on stdin) 17:49:26.666886 > 29 bytes data, server => client 17:49:26.666896 '150 Binary junk (17 bytes).\r\n' 17:49:26.667424 Received DATA (on stdin) 17:49:26.667436 > 28 bytes data, server => client 17:49:26.667447 '226 File transfer complete\r\n' 17:49:26.709666 < 6 bytes data, client => server 17:49:26.709696 'QUIT\r\n' 17:49:26.709922 Received DATA (on stdin) 17:49:26.709933 > 18 bytes data, server => client 17:49:26.709944 '221 bye bye baby\r\n' 17:49:26.710395 ====> Client disconnect 17:49:26.710560 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:26.664838 Running IPv4 version 17:49:26.664928 Listening on port 37927 17:49:26.664969 Wrote pid 97846 to log/3/server/ftp_sockdata.pid 17:49:26.665681 Received PING (on stdin) 17:49:26.665784 Received PORT (on stdin) 17:49:26.666119 ====> Client connect 17:49:26.666925 Received DATA (on stdin) 17:49:26.666939 > 17 bytes data, server => client 17:49:26.666949 'WE ROOLZ: 81126\r\n' 17:49:26.666973 Received DISC (on stdin) 17:49:26.666984 ====> Client forcibly disconnected 17:49:26.667143 Received QUIT (on stdin) 17:49:26.667154 quits 17:49:26.667218 ============> 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 ==97920== ==97920== Process terminating with default action of signal 4 (SIGILL) ==97920== Illegal opcode at address 0x4014520 ==97920== at 0x4014520: getparameter (tool_getparam.c:2862) ==97920== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==97920== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==97920== by 0x4003728: main (tool_main.c:186) === End of file valgrind380 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/6/valgrind386 ../src/curl -q --output log/6/curl386.out --include --trace-ascii log/6/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:42747/386 --next http://127.0.0.1:42747/3860002 > log/6/stdout386 2> log/6/stderr386 386: 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 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/6/valgrind386 ../src/curl -q --output log/6/curl386.out --include --trace-ascii log/6/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:42747/386 --next http://127.0.0.1:42747/3860002 > log/6/stdout386 2> log/6/stderr386 === End of file commands.log === Start of file http_server.log 17:49:26.791972 ====> Client connect 17:49:26.792002 accept_connection 3 returned 4 17:49:26.792018 accept_connection 3 returned 0 17:49:26.792032 Read 93 bytes 17:49:26.792041 Process 93 bytes request 17:49:26.792054 Got request: GET /verifiedserver HTTP/1.1 17:49:26.792062 Are-we-friendly question received 17:49:26.792085 Wrote request (93 bytes) input to log/6/server.input 17:49:26.792100 Identifying ourselves as friends 17:49:26.792150 Response sent (56 bytes) and written to log/6/server.response 17:49:26.792159 special request received, no persistency 17:49:26.792168 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 51166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind386 ==98118== ==98118== Process terminating with default action of signal 4 (SIGILL) ==98118== Illegal opcode at address 0x4014520 ==98118== at 0x4014520: getparameter (tool_getparam.c:2862) ==98118== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98118== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98118== by 0x4003728: main (tool_main.c:186) === End of file valgrind386 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/22/valgrind385 ../src/curl -q --output log/22/curl385.out --include --trace-ascii log/22/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:42933/385 -H "Content-Type: drinks/hot" > log/22/stdout385 2> log/22/stderr385 385: 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 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/22/valgrind385 ../src/curl -q --output log/22/curl385.out --include --trace-ascii log/22/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:42933/385 -H "Content-Type: drinks/hot" > log/22/stdout385 2> log/22/stderr385 === End of file commands.log === Start of file http_server.log 17:49:26.794900 ====> Client connect 17:49:26.794935 accept_connection 3 returned 4 17:49:26.794951 accept_connection 3 returned 0 17:49:26.795354 Read 93 bytes 17:49:26.795367 Process 93 bytes request 17:49:26.795380 Got request: GET /verifiedserver HTTP/1.1 17:49:26.795389 Are-we-friendly question received 17:49:26.795417 Wrote request (93 bytes) input to log/22/server.input 17:49:26.795434 Identifying ourselves as friends 17:49:26.795493 Response sent (56 bytes) and written to log/22/server.response 17:49:26.795503 special request received, no persistency 17:49:26.795511 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 33056 * using HTTP/1.x > GET /verifieCMD (33792): ../libtool --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/valgrind387 ../src/curl -q --output log/5/curl387.out --include --trace-ascii log/5/trace387 --trace-time http://127.0.0.1:46875/387 -sS --tr-encoding > log/5/stdout387 2> log/5/stderr387 dserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind385 ==98117== ==98117== Process terminating with default action of signal 4 (SIGILL) ==98117== Illegal opcode at address 0x4014520 ==98117== at 0x4014520: getparameter (tool_getparam.c:2862) ==98117== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98117== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98117== by 0x4003728: main (tool_main.c:186) === End of file valgrind385 CMD (33792): ../libtool --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:40899/3880001 -u testuser:testpass --digest http://127.0.0.1:40899/3880002 > log/16/stdout388 2> log/16/stderr388 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/5/valgrind387 ../src/curl -q --output log/5/curl387.out --include --trace-ascii log/5/trace387 --trace-time http://127.0.0.1:46875/387 -sS --tr-encoding > log/5/stdout387 2> log/5/stderr387 387: stderr FAILED: --- log/5/check-expected 2026-01-28 17:49:28.123222103 +0000 +++ log/5/check-generated 2026-01-28 17:49:28.123222103 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/5/ directory after test 387 === Start of file check-expected curl: (61) Reject response due to more than 5 content 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/5/valgrind387 ../src/curl -q --output log/5/curl387.out --include --trace-ascii log/5/trace387 --trace-time http://127.0.0.1:46875/387 -sS --tr-encoding > log/5/stdout387 2> log/5/stderr387 === End of file commands.log === Start of file http_server.log 17:49:26.843777 ====> Client connect 17:49:26.843814 accept_connection 3 returned 4 17:49:26.843831 accept_connection 3 returned 0 17:49:26.843846 Read 93 bytes 17:49:26.843856 Process 93 bytes request 17:49:26.843869 Got request: GET /verifiedserver HTTP/1.1 17:49:26.843878 Are-we-friendly question received 17:49:26.843905 Wrote request (93 bytes) input to log/5/server.input 17:49:26.843923 Identifying ourselves as friends 17:49:26.843984 Response sent (56 bytes) and written to log/5/server.response 17:49:26.843995 special request received, no persistency 17:49:26.844004 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 44642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind387 ==98202== ==98202== Process terminating with default action of signal 4 (SIGILL) ==98202== Illegal opcode at address 0x4014520 ==98202== at 0x4014520: getparameter (tool_getparam.c:2862) ==98202== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98202== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98202== by 0x4003728: main (tool_main.c:186) === End of file valgrind387 CMD (33792): ../libtool --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/valgrind389 ../src/curl -q --output log/14/curl389.out --include --trace-ascii log/14/trace389 --trace-time -4 http://curlmachine.localhost:37569/389 > log/14/stdout389 2> log/14/stderr389 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:40899/3880001 -u testuser:testpass --digest http://127.0.0.1:40899/3880002 > log/16/stdout388 2> log/16/stderr388 388: stdout FAILED: --- log/16/check-expected 2026-01-28 17:49:28.149888770 +0000 +++ log/16/check-generated 2026-01-28 17:49:28.149888770 +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:40899/3880001 -u testuser:testpass --digest http://127.0.0.1:40899/3880002 > log/16/stdout388 2> log/16/stderr388 === End of file commands.log === Start of file http_server.log 17:49:26.875361 ====> Client connect 17:49:26.875391 accept_connection 3 returned 4 17:49:26.875407 accept_connection 3 returned 0 17:49:26.875421 Read 93 bytes 17:49:26.875430 Process 93 bytes request 17:49:26.875442 Got request: GET /verifiedserver HTTP/1.1 17:49:26.875450 Are-we-friendly question received 17:49:26.875483 Wrote request (93 bytes) input to log/16/server.input 17:49:26.875501 Identifying ourselves as friends 17:49:26.875559 Response sent (56 bytes) and written to log/16/server.response 17:49:26.875569 special request received, no persistency 17:49:26.875578 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 58818 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind388 ==98323== ==98323== Process terminating with default action of signal 4 (SIGILL) ==98323== Illegal opcode at address 0x4014520 ==98323== at 0x4014520: getparameter (tool_getparam.c:2862) ==98323== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98323== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98323== by 0x4003728: main (tool_main.c:186) === End of file valgrind388 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/14/valgrind389 ../src/curl -q --output log/14/curl389.out --include --trace-ascii log/14/trace389 --trace-time -4 http://curlmachine.localhost:37569/389 > log/14/stdout389 2> log/14/stderr389 389: 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 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/14/valgrind389 ../src/curl -q --output log/14/curl389.out --include --trace-ascii log/14/trace389 --trace-time -4 http://curlmachine.localhost:37569/389 > log/14/stdout389 2> log/14/stderr389 === End of file commands.log === Start of file http_server.log 17:49:27.875641 ====> Client connect 17:49:27.875681 accept_connection 3 returned 4 17:49:27.875697 accept_connection 3 returned 0 17:49:27.875713 Read 93 bytes 17:49:27.875722 Process 93 bytes request 17:49:27.875733 Got request: GET /verifiedserver HTTP/1.1 17:49:27.875743 Are-we-friendly question received 17:49:27.875769 Wrote request (93 bytes) input to log/14/server.input 17:49:27.875785 Identifying ourselves as friends 17:49:27.875845 Response sent (56 bytes) and written to log/14/server.response 17:49:27.875855 special request received, no persistency 17:49:27.875864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 46906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind389 ==98302== ==98302== Process terminating with default action of signal 4 (SIGILL) ==98302== Illegal opcode at address 0x4014520 ==98302== at 0x4014520: getparametCMD (33792): ../libtool --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/valgrind391 ../src/curl -q --output log/2/curl391.out --include --trace-ascii log/2/trace391 --trace-time http://127.0.0.1:38779/../../391 --path-as-is -L > log/2/stdout391 2> log/2/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/21/valgrind390 ../src/curl -q --include --trace-ascii log/21/trace390 --trace-time http://127.0.0.1:41669/390 file://localhost/startdir/src/build-curl/tests/log/21/test390.txt ftp://127.0.0.1:37113/3900002 --parallel -o log/21/390.a -o log/21/390.b -o log/21/390.c > log/21/stdout390 2> log/21/stderr390 er (tool_getparam.c:2862) ==98302== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98302== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98302== by 0x4003728: main (tool_main.c:186) === End of file valgrind389 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/2/valgrind391 ../src/curl -q --output log/2/curl391.out --include --trace-ascii log/2/trace391 --trace-time http://127.0.0.1:38779/../../391 --path-as-is -L > log/2/stdout391 2> log/2/stderr391 391: 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 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/2/valgrind391 ../src/curl -q --output log/2/curl391.out --include --trace-ascii log/2/trace391 --trace-time http://127.0.0.1:38779/../../391 --path-as-is -L > log/2/stdout391 2> log/2/stderr391 === End of file commands.log === Start of file http_server.log 17:49:27.152903 ====> Client connect 17:49:27.152938 accept_connection 3 returned 4 17:49:27.152955 accept_connection 3 returned 0 17:49:27.152969 Read 93 bytes 17:49:27.152979 Process 93 bytes request 17:49:27.152998 Got request: GET /verifiedserver HTTP/1.1 17:49:27.153007 Are-we-friendly question received 17:49:27.153032 Wrote request (93 bytes) input to log/2/server.input 17:49:27.153048 Identifying ourselves as friends 17:49:27.153110 Response sent (56 bytes) and written to log/2/server.response 17:49:27.153120 special request received, no persistency 17:49:27.153129 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 45268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind391 ==98552== ==98552== Process terminating with default action of signal 4 (SIGILL) ==98552== Illegal opcode at address 0x4014520 ==98552== at 0x4014520: getparameter (tool_getparam.c:2862) ==98552== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98552== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98552== by 0x4003728: main (tool_main.c:186) === End of file valgrind391 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/21/valgrind390 ../src/curl -q --include --trace-ascii log/21/trace390 --trace-time http://127.0.0.1:41669/390 file://localhost/startdir/src/build-curl/tests/log/21/test390.txt ftp://127.0.0.1:37113/3900002 --parallel -o log/21/390.a -o log/21/390.b -o log/21/390.c > log/21/stdout390 2> log/21/stderr390 curl returned 132, when expecting 0 390: exit FAILED == Contents of files in the log/21/ 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/21/valgrind390 ../src/curl -q --include --trace-ascii log/21/trace390 --trace-time http://127.0.0.1:41669/390 file://localhost/startdir/src/build-curl/tests/log/21/test390.txt ftp://127.0.0.1:37113/3900002 --parallel -o log/21/390.a -o log/21/390.b -o log/21/390.c > log/21/stdout390 2> log/21/stderr390 === End of file commands.log === Start of file ftp_server.log 17:49:27.208067 ====> Client connect 17:49:27.208219 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:27.208425 < "USER anonymous" 17:49:27.208455 > "331 We are happy you popped in![CR][LF]" 17:49:27.208572 < "PASS ftp@example.com" 17:49:27.208591 > "230 Welcome you silly person[CR][LF]" 17:49:27.208699 < "PWD" 17:49:27.208722 > "257 "/" is current directory[CR][LF]" 17:49:27.208839 < "EPSV" 17:49:27.208859 ====> Passive DATA channel requested by client 17:49:27.208870 DATA sockfilt for passive data channel starting... 17:49:27.210277 DATA sockfilt for passive data channel started (pid 98468) 17:49:27.210380 DATA sockfilt for passive data channel listens on port 37685 17:49:27.210422 > "229 Entering Passive Mode (|||37685|)[CR][LF]" 17:49:27.210439 Client has been notified that DATA conn will be accepted on port 37685 17:49:27.210603 Client connects to port 37685 17:49:27.210639 ====> Client established passive DATA connection on port 37685 17:49:27.210699 < "TYPE I" 17:49:27.210722 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:27.210845 < "SIZE verifiedserver" 17:49:27.210873 > "213 17[CR][LF]" 17:49:27.210984 < "RETR verifiedserver" 17:49:27.211010 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:27.211087 =====> Closing passive DATA connection... 17:49:27.211106 Server disconnects passive DATA connection 17:49:27.211169 Server disconnected passive DATA connection 17:49:27.211193 DATA sockfilt for passive data channel quits (pid 98468) 17:49:27.211402 DATA sockfilt for passive data channel quit (pid 98468) 17:49:27.211428 =====> Closed passive DATA connection 17:49:27.211455 > "226 File transfer complete[CR][LF]" 17:49:27.253791 < "QUIT" 17:49:27.253846 > "221 bye bye baby[CR][LF]" 17:49:27.254184 MAIN sockfilt said DISC 17:49:27.254212 ====> Client disconnected 17:49:27.254489 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:27.054132 ====> Client connect 17:49:27.054413 Received DATA (on stdin) 17:49:27.054423 > 146 bytes data, server => client 17:49:27.054432 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:27.054440 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:27.054447 '220 \___|\___/|_| \_\_____|\r\n' 17:49:27.054505 < 16 bytes data, client => server 17:49:27.054513 'USER anonymous\r\n' 17:49:27.054638 Received DATA (on stdin) 17:49:27.054646 > 33 bytes data, server => client 17:49:27.054654 '331 We are happy you popped in!\r\n' 17:49:27.054692 < 22 bytes data, client => server 17:49:27.054700 'PASS ftp@example.com\r\n' 17:49:27.054772 Received DATA (on stdin) 17:49:27.054780 > 30 bytes data, server => client 17:49:27.054787 '230 Welcome you silly person\r\n' 17:49:27.054821 < 5 bytes data, client => server 17:49:27.054828 'PWD\r\n' 17:49:27.054903 Received DATA (on stdin) 17:49:27.054910 > 30 bytes data, server => client 17:49:27.054918 '257 "/" is current directory\r\n' 17:49:27.054960 < 6 bytes data, client => server 17:49:27.054968 'EPSV\r\n' 17:49:27.056628 Received DATA (on stdin) 17:49:27.056641 > 39 bytes data, server => client 17:49:27.056651 '229 Entering Passive Mode (|||37685|)\r\n' 17:49:27.056767 < 8 bytes data, client => server 17:49:27.056777 'TYPE I\r\n' 17:49:27.056904 Received DATA (on stdin) 17:49:27.056913 > 33 bytes data, server => client 17:49:27.056921 '200 I modify TYPE as you wanted\r\n' 17:49:27.056963 < 21 bytes data, client => server 17:49:27.056971 'SIZE verifiedserver\r\n' 17:49:27.057054 Received DATA (on stdin) 17:49:27.057062 > 8 bytes data, server => client 17:49:27.057069 '213 17\r\n' 17:49:27.057106 < 21 bytes data, client => server 17:49:27.057114 'RETR verifiedserver\r\n' 17:49:27.057264 Received DATA (on stdin) 17:49:27.057276 > 29 bytes data, server => client 17:49:27.057286 '150 Binary junk (17 bytes).\r\n' 17:49:27.057640 Received DATA (on stdin) 17:49:27.057653 > 28 bytes data, server => client 17:49:27.057661 '226 File transfer complete\r\n' 17:49:27.099695 < 6 bytes data, client => server 17:49:27.099722 'QUIT\r\n' 17:49:27.100038 Received DATA (on stdin) 17:49:27.100183 > 18 bytes data, server => client 17:49:27.100194 '221 bye bye baby\r\n' 17:49:27.100326 ====> Client disconnect 17:49:27.100662 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:27.056304 Running IPv4 version 17:49:27.056364 Listening on port 37685 17:49:27.056399 Wrote pid 98468 to log/21/server/ftp_sockdata.pid 17:49:27.056416 Received PING (on stdin) 17:49:27.056486 Received PORT (on stdin) 17:49:27.056744 ====> Client connect 17:49:27.057202 Received DATA (on stdin) 17:49:27.057214 > 17 bytes data, server => client 17:49:27.057224 'WE ROOLZ: 81123\r\n' 17:49:27.057296 Received DISC (on stdin) 17:49:27.057308 ====> Client forcibly disconnected 17:49:27.057381 Received QUIT (on stdin) 17:49:27.057391 quits 17:49:27.057449 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 17:49:27.030413 ====> Client connect 17:49:27.030452 accept_connection 3 returned 4 17:49:27.030469 accept_connection 3 returned 0 17:49:27.030484 Read 93 bytes 17:49:27.030493 Process 93 bytes request 17:49:27.030508 Got request: GET /verifiedserver HTTP/1.1 17:49:27.030517 Are-we-friendly question received 17:49:27.030541 Wrote request (93 bytes) input to log/21/server.input 17:49:27.030558 Identifying ourselves as friends 17:49:27.030613 Response sent (56 bytes) and written to log/21/server.response 17:49:27.030622 special request received, no persistency 17:49:27.030631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 53018 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === 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!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!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/1/valgrind393 ../src/curl -q --output log/1/curl393.out --include --trace-ascii log/1/trace393 --trace-time http://127.0.0.1:39589/393 --max-filesize 2000000 > log/1/stdout393 2> log/1/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/18/valgrind392 ../src/curl -q --output log/18/curl392.out --include --trace-ascii log/18/trace392 --trace-time -4 http://localhost:34067/392 -b none http://localhost:34067/392 > log/18/stdout392 2> log/18/stderr392 ellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!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 ==98477== ==98477== Process terminating with default action of signal 4 (SIGILL) ==98477== Illegal opcode at address 0x4014520 ==98477== at 0x4014520: getparameter (tool_getparam.c:2862) ==98477== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98477== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98477== by 0x4003728: main (tool_main.c:186) === End of file valgrind390 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/1/valgrind393 ../src/curl -q --output log/1/curl393.out --include --trace-ascii log/1/trace393 --trace-time http://127.0.0.1:39589/393 --max-filesize 2000000 > log/1/stdout393 2> log/1/stderr393 393: 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 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/1/valgrind393 ../src/curl -q --output log/1/curl393.out --include --trace-ascii log/1/trace393 --trace-time http://127.0.0.1:39589/393 --max-filesize 2000000 > log/1/stdout393 2> log/1/stderr393 === End of file commands.log === Start of file http_server.log 17:49:27.157706 ====> Client connect 17:49:27.157736 accept_connection 3 returned 4 17:49:27.157750 accept_connection 3 returned 0 17:49:27.157762 Read 93 bytes 17:49:27.157770 Process 93 bytes request 17:49:27.157782 Got request: GET /verifiedserver HTTP/1.1 17:49:27.157789 Are-we-friendly question received 17:49:27.157811 Wrote request (93 bytes) input to log/1/server.input 17:49:27.157824 Identifying ourselves as friends 17:49:27.157872 Response sent (56 bytes) and written to log/1/server.response 17:49:27.157881 special request received, no persistency 17:49:27.157889 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind393 ==98554== ==98554== Process terminating with default action of signal 4 (SIGILL) ==98554== Illegal opcode at address 0x4014520 ==98554== at 0x4014520: getparameter (tool_getparam.c:2862) ==98554== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98554== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98554== by 0x4003728: main (tool_main.c:186) === End of file valgrind393 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/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/17/valgrind394 ../src/curl -q --output log/17/curl394.out --include --trace-ascii log/17/trace394 --trace-time http://127.0.0.1:44593/394 > log/17/stdout394 2> log/17/stderr394 CMD (33792): ../libtool --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/valgrind395 ../src/curl -q --output log/24/curl395.out --include --trace-ascii log/24/trace395 --trace-time http://127.0.0.1:39649/395 > log/24/stdout395 2> log/24/stderr395 8/valgrind392 ../src/curl -q --output log/18/curl392.out --include --trace-ascii log/18/trace392 --trace-time -4 http://localhost:34067/392 -b none http://localhost:34067/392 > log/18/stdout392 2> log/18/stderr392 392: 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 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/18/valgrind392 ../src/curl -q --output log/18/curl392.out --include --trace-ascii log/18/trace392 --trace-time -4 http://localhost:34067/392 -b none http://localhost:34067/392 > log/18/stdout392 2> log/18/stderr392 === End of file commands.log === Start of file http_server.log 17:49:27.174067 ====> Client connect 17:49:27.174103 accept_connection 3 returned 4 17:49:27.174122 accept_connection 3 returned 0 17:49:27.174137 Read 93 bytes 17:49:27.174147 Process 93 bytes request 17:49:27.174161 Got request: GET /verifiedserver HTTP/1.1 17:49:27.174170 Are-we-friendly question received 17:49:27.174199 Wrote request (93 bytes) input to log/18/server.input 17:49:27.174216 Identifying ourselves as friends 17:49:27.174276 Response sent (56 bytes) and written to log/18/server.response 17:49:27.174286 special request received, no persistency 17:49:27.174295 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 57486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind392 ==98597== ==98597== Process terminating with default action of signal 4 (SIGILL) ==98597== Illegal opcode at address 0x4014520 ==98597== at 0x4014520: getparameter (tool_getparam.c:2862) ==98597== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98597== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98597== by 0x4003728: main (tool_main.c:186) === End of file valgrind392 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/17/valgrind394 ../src/curl -q --output log/17/curl394.out --include --trace-ascii log/17/trace394 --trace-time http://127.0.0.1:44593/394 > log/17/stdout394 2> log/17/stderr394 394: 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 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/17/valgrind394 ../src/curl -q --output log/17/curl394.out --include --trace-ascii log/17/trace394 --trace-time http://127.0.0.1:44593/394 > log/17/stdout394 2> log/17/stderr394 === End of file commands.log === Start of file http_server.log 17:49:27.225136 ====> Client connect 17:49:27.225165 accept_connection 3 returned 4 17:49:27.225181 accept_connection 3 returned 0 17:49:27.225194 Read 93 bytes 17:49:27.225203 Process 93 bytes request 17:49:27.225215 Got request: GET /verifiedserver HTTP/1.1 17:49:27.225224 Are-we-friendly question received 17:49:27.225247 Wrote request (93 bytes) input to log/17/server.input 17:49:27.225262 Identifying ourselves as friends 17:49:27.225313 Response sent (56 bytes) and written to log/17/server.response 17:49:27.225322 special request received, no persistency 17:49:27.225330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 36892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind394 ==98718== ==98718== Process terminating with default action of signal 4 (SIGILL) ==98718== Illegal opcode at address 0x4014520 ==98718== at 0x4014520: getparameter (tool_getparam.c:2862) ==98718== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98718== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98718== by 0x4003728: main (tool_main.c:186) === End of file valgrind394 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/24/valgrind395 ../src/curl -q --output log/24/curl395.out --include --trace-ascii log/24/trace395 --trace-time http://127.0.0.1:39649/395 > log/24/stdout395 2> log/24/stderr395 395: 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 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/24/valgrind395 ../src/curl -q --output log/24/curl395.out --include --trace-ascii log/24/trace395 --trace-time http://127.0.0.1:39649/395 > log/24/stdout395 2> log/24/stderr395 === End of file commands.log === Start of file http_server.log 17:49:27.470179 ====> Client connect 17:49:27.470212 accept_connection 3 returned 4 17:49:27.470227 accept_connection 3 returned 0 17:49:27.470240 Read 93 bytes 17:49:27.470249 Process 93 bytes request 17:49:27.470263 Got request: GET /verifiedserver HTTP/1.1 17:49:27.470272 Are-we-friendly question received 17:49:27.470294 Wrote request (93 bytes) input to log/24/server.input 17:49:27.470309 Identifying ourselves as friends 17:49:27.470359 Response sent (56 bytes) and written to log/24/server.response 17:49:27.470368 special request received, no persistency 17:49:27.470376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 52042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind395 ==98833== ==98833== Process terminating with default action of signal 4 (SIGILL) ==98833== Illegal opcode at address 0x4014520 ==98833== at 0x4014520: getparameCMD (33792): ../libtool --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/valgrind396 ../src/curl -q --output log/9/curl396.out --include --trace-ascii log/9/trace396 --trace-time http://127.0.0.1:37413/396 --compressed > log/9/stdout396 2> log/9/stderr396 CMD (33792): ../libtool --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/valgrind399 ../src/curl -q --output log/11/curl399.out --include --trace-ascii log/11/trace399 --trace-time -K log/11/input%TESTNUM > log/11/stdout399 2> log/11/stderr399 CMD (33792): ../libtool --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/valgrind397 ../src/curl -q --output log/15/curl397.out --include --trace-ascii log/15/trace397 --trace-time http://127.0.0.1:41057/397 --compressed > log/15/stdout397 2> log/15/stderr397 ter (tool_getparam.c:2862) ==98833== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98833== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98833== by 0x4003728: main (tool_main.c:186) === End of file valgrind395 test 0396...[HTTP GET zstd 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/9/valgrind396 ../src/curl -q --output log/9/curl396.out --include --trace-ascii log/9/trace396 --trace-time http://127.0.0.1:37413/396 --compressed > log/9/stdout396 2> log/9/stderr396 396: 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 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/9/valgrind396 ../src/curl -q --output log/9/curl396.out --include --trace-ascii log/9/trace396 --trace-time http://127.0.0.1:37413/396 --compressed > log/9/stdout396 2> log/9/stderr396 === End of file commands.log === Start of file http_server.log 17:49:27.529873 ====> Client connect 17:49:27.529908 accept_connection 3 returned 4 17:49:27.529925 accept_connection 3 returned 0 17:49:27.530010 Read 93 bytes 17:49:27.530024 Process 93 bytes request 17:49:27.530038 Got request: GET /verifiedserver HTTP/1.1 17:49:27.530048 Are-we-friendly question received 17:49:27.530078 Wrote request (93 bytes) input to log/9/server.input 17:49:27.530095 Identifying ourselves as friends 17:49:27.530155 Response sent (56 bytes) and written to log/9/server.response 17:49:27.530164 special request received, no persistency 17:49:27.530173 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 45680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind396 ==98913== ==98913== Process terminating with default action of signal 4 (SIGILL) ==98913== Illegal opcode at address 0x4014520 ==98913== at 0x4014520: getparameter (tool_getparam.c:2862) ==98913== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98913== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98913== by 0x4003728: main (tool_main.c:186) === End of file valgrind396 test 0399...[65536 bytes 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/11/valgrind399 ../src/curl -q --output log/11/curl399.out --include --trace-ascii log/11/trace399 --trace-time -K log/11/input%TESTNUM > log/11/stdout399 2> log/11/stderr399 curl returned 132, when expecting 3 399: exit FAILED == Contents of files in the log/11/ 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/11/valgrind399 ../src/curl -q --output log/11/curl399.out --include --trace-ascii log/11/trace399 --trace-time -K log/11/input%TESTNUM > log/11/stdout399 2> log/11/stderr399 === End of file commands.log === Start of file http_server.log 17:49:27.592059 ====> Client connect 17:49:27.592089 accept_connection 3 returned 4 17:49:27.592104 accept_connection 3 returned 0 17:49:27.592117 Read 93 bytes 17:49:27.592126 Process 93 bytes request 17:49:27.592139 Got request: GET /verifiedserver HTTP/1.1 17:49:27.592148 Are-we-friendly question received 17:49:27.592172 Wrote request (93 bytes) input to log/11/server.input 17:49:27.592188 Identifying ourselves as friends 17:49:27.592276 Response sent (56 bytes) and written to log/11/server.response 17:49:27.592285 special request received, no persistency 17:49:27.592293 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 36214 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === End of file http_verify.out === Start of file input%TESTNUM url = http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind411 ../src/curl -q --output log/23/curl411.out --include --trace-ascii log/23/trace411 --trace-time -K log/23/missing http://localhost > log/23/stdout411 2> log/23/stderr411 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/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: 74921 === End of file server.response === Start of file valgrind399 ==99084== ==99084== Process terminating with default action of signal 4 (SIGILL) ==99084== Illegal opcode at address 0x4014520 ==99084== at 0x4014520: getparameter (tool_getparam.c:2862) ==99084== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99084== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99084== by 0x4003728: main (tool_main.c:186) === End of file valgrind399 test 0397...[HTTP GET zstd 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/15/valgrind397 ../src/curl -q --output log/15/curl397.out --include --trace-ascii log/15/trace397 --trace-time http://127.0.0.1:41057/397 --compressed > log/15/stdout397 2> log/15/stderr397 397: 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 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/15/valgrind397 ../src/curl -q --output log/15/curl397.out --include --trace-ascii log/15/trace397 --trace-time http://127.0.0.1:41057/397 --compressed > log/15/stdout397 2> log/15/stderr397 === End of file commands.log === Start of file http_server.log 17:49:27.552544 ====> Client connect 17:49:27.552581 accept_connection 3 returned 4 17:49:27.552599 accept_connection 3 returned 0 17:49:27.552613 Read 93 bytes 17:49:27.552623 Process 93 bytes request 17:49:27.552635 Got request: GET /verifiedserver HTTP/1.1 17:49:27.552644 Are-we-friendly question received 17:49:27.552668 Wrote request (93 bytes) input to log/15/server.input 17:49:27.552684 Identifying ourselves as friends 17:49:27.552759 Response sent (56 bytes) and written to log/15/server.response 17:49:27.552768 special request received, no persistency 17:49:27.552777 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 57552 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind397 ==98968== ==98968== Process terminating with default action of signal 4 (SIGILL) ==98968== Illegal opcode at address 0x4014520 ==98968== at 0x4014520: getparameter (tool_getparam.c:2862) ==98968== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==98968== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==98968== by 0x4003728: main (tool_main.c:186) === End of file valgrind397 CMD (33792): ../libtool --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/valgrind398 ../src/curl -q --output log/7/curl398.out --include --trace-ascii log/7/trace398 --trace-time http://127.0.0.1:35671/398 > log/7/stdout398 2> log/7/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/13/valgrind402 ../src/curl -q --output log/13/curl402.out --include --trace-ascii log/13/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:32981/402 > log/13/stdout402 2> log/13/stderr402 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/23/valgrind411 ../src/curl -q --output log/23/curl411.out --include --trace-ascii log/23/trace411 --trace-time -K log/23/missing http://localhost > log/23/stdout411 2> log/23/stderr411 411: stderr FAILED: --- log/23/check-expected 2026-01-28 17:49:28.906555436 +0000 +++ log/23/check-generated 2026-01-28 17:49:28.906555436 +0000 @@ -1,3 +0,0 @@ -curl: cannot read config from 'log/23/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/23/ directory after test 411 === Start of file check-expected curl: cannot read config from 'log/23/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/23/valgrind411 ../src/curl -q --output log/23/curl411.out --include --trace-ascii log/23/trace411 --trace-time -K log/23/missing http://localhost > log/23/stdout411 2> log/23/stderr411 === End of file commands.log === Start of file server.cmd Testnum 411 === End of file server.cmd === Start of file valgrind411 ==99022== ==99022== Process terminating with default action of signal 4 (SIGILL) ==99022== Illegal opcode at address 0x4014520 ==99022== at 0x4014520: getparameter (tool_getparam.c:2862) ==99022== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99022== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99022== by 0x4003728: main (tool_main.c:186) === End of file valgrind411 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/7/valgrind398 ../src/curl -q --output log/7/curl398.out --include --trace-ascii log/7/trace398 --trace-time http://127.0.0.1:35671/398 > log/7/stdout398 2> log/7/stderr398 398: 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 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/7/valgrind398 ../src/curl -q --output log/7/curl398.out --include --trace-ascii log/7/trace398 --trace-time http://127.0.0.1:35671/398 > log/7/stdout398 2> log/7/stderr398 === End of file commands.log === Start of file http_server.log 17:49:27.579589 ====> Client connect 17:49:27.579625 accept_connection 3 returned 4 17:49:27.579642 accept_connection 3 returned 0 17:49:27.579863 Read 93 bytes 17:49:27.579881 Process 93 bytes request 17:49:27.579895 Got request: GET /verifiedserver HTTP/1.1 17:49:27.579904 Are-we-friendly question received 17:49:27.579932 Wrote request (93 bytes) input to log/7/server.input 17:49:27.579949 Identifying ourselves as friends 17:49:27.580007 Response sent (56 bytes) and written to log/7/server.response 17:49:27.580018 special request received, no persistency 17:49:27.580027 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 41416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind398 ==99031== ==99031== Process terminating with default action of signal 4 (SIGILL) ==99031== Illegal opcode at address 0x4014520 ==99031== at 0x4014520: getparameter (tool_getparam.c:2862) ==99031== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99031== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99031== by 0x4003728: main (tool_main.c:186) === 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/13/valgrind402 ../src/curl -q --output log/13/curl402.out --include --trace-ascii log/13/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:32981/402 > log/13/stdout402 2> log/13/stderr402 402: 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 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/13/valgrind402 ../src/curl -q --output log/13/curl402.out --include --trace-ascii log/13/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:32981/402 > log/13/stdout402 2> log/13/stderr402 === End of file commands.log === Start of file ftp_server.log 17:49:27.733459 ====> Client connect 17:49:27.733721 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:27.733963 < "USER anonymous" 17:49:27.733999 > "331 We are happy you popped in![CR][LF]" 17:49:27.734167 < "PASS ftp@example.com" 17:49:27.734194 > "230 Welcome you silly person[CR][LF]" 17:49:27.734351 < "PWD" 17:49:27.734380 > "257 "/" is current directory[CR][LF]" 17:49:27.734545 < "EPSV" 17:49:27.734570 ====> Passive DATA channel requested by client 17:49:27.734584 DATA sockfilt for passive data channel starting... 17:49:27.738970 DATA sockfilt for passive data channel started (pid 99001) 17:49:27.739112 DATA sockfilt for passive data channel listens on port 43487 17:49:27.739158 > "229 Entering Passive Mode (|||43487|)[CR][LF]" 17:49:27.739180 Client has been notified that DATA conn will be accepted on port 43487 17:49:27.739472 Client connects to port 43487 17:49:27.739502 ====> Client established passive DATA connection on port 43487 17:49:27.739595 < "TYPE I" 17:49:27.739627 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:27.739781 < "SIZE verifiedserver" 17:49:27.739817 > "213 17[CR][LF]" 17:49:27.739957 < "RETR verifiedserver" 17:49:27.739990 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:27.740090 =====> Closing passive DATA connection... 17:49:27.740106 Server disconnects passive DATA connection 17:49:27.740329 Server disconnected passive DATA connection 17:49:27.740358 DATA sockfilt for passive data channel quits (pid 99001) 17:49:27.740616 DATA sockfilt for passive data channel quit (pid 99001) 17:49:27.740638 =====> Closed passive DATA connection 17:49:27.740667 > "226 File transfer complete[CR][LF]" 17:49:27.784496 < "QUIT" 17:49:27.784556 > "221 bye bye baby[CR][LF]" 17:49:27.785644 MAIN sockfilt said DISC 17:49:27.785678 ====> Client disconnected 17:49:27.785764 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:27.579546 ====> Client connect 17:49:27.579840 Received DATA (on stdin) 17:49:27.579861 > 146 bytes data, server => client 17:49:27.579920 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n2CMD (33792): ../libtool --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:42045/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/4/valgrind405 ../src/curl -q --output log/4/curl405.out --include --trace-ascii log/4/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:40307/path/to/file/405 > log/4/stdout405 2> log/4/stderr405 2' 17:49:27.579931 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:27.579940 '220 \___|\___/|_| \_\_____|\r\n' 17:49:27.580013 < 16 bytes data, client => server 17:49:27.580026 'USER anonymous\r\n' 17:49:27.580189 Received DATA (on stdin) 17:49:27.580201 > 33 bytes data, server => client 17:49:27.580211 '331 We are happy you popped in!\r\n' 17:49:27.580262 < 22 bytes data, client => server 17:49:27.580275 'PASS ftp@example.com\r\n' 17:49:27.580381 Received DATA (on stdin) 17:49:27.580393 > 30 bytes data, server => client 17:49:27.580403 '230 Welcome you silly person\r\n' 17:49:27.580452 < 5 bytes data, client => server 17:49:27.580464 'PWD\r\n' 17:49:27.580567 Received DATA (on stdin) 17:49:27.580578 > 30 bytes data, server => client 17:49:27.580587 '257 "/" is current directory\r\n' 17:49:27.580645 < 6 bytes data, client => server 17:49:27.580657 'EPSV\r\n' 17:49:27.585376 Received DATA (on stdin) 17:49:27.585393 > 39 bytes data, server => client 17:49:27.585404 '229 Entering Passive Mode (|||43487|)\r\n' 17:49:27.585608 < 8 bytes data, client => server 17:49:27.585619 'TYPE I\r\n' 17:49:27.585816 Received DATA (on stdin) 17:49:27.585827 > 33 bytes data, server => client 17:49:27.585838 '200 I modify TYPE as you wanted\r\n' 17:49:27.585888 < 21 bytes data, client => server 17:49:27.585898 'SIZE verifiedserver\r\n' 17:49:27.586002 Received DATA (on stdin) 17:49:27.586013 > 8 bytes data, server => client 17:49:27.586022 '213 17\r\n' 17:49:27.586067 < 21 bytes data, client => server 17:49:27.586077 'RETR verifiedserver\r\n' 17:49:27.586294 Received DATA (on stdin) 17:49:27.586306 > 29 bytes data, server => client 17:49:27.586316 '150 Binary junk (17 bytes).\r\n' 17:49:27.586859 Received DATA (on stdin) 17:49:27.586871 > 28 bytes data, server => client 17:49:27.586882 '226 File transfer complete\r\n' 17:49:27.630488 < 6 bytes data, client => server 17:49:27.630518 'QUIT\r\n' 17:49:27.630751 Received DATA (on stdin) 17:49:27.630763 > 18 bytes data, server => client 17:49:27.630774 '221 bye bye baby\r\n' 17:49:27.631776 ====> Client disconnect 17:49:27.631955 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:27.584572 Running IPv4 version 17:49:27.584630 Listening on port 43487 17:49:27.584666 Wrote pid 99001 to log/13/server/ftp_sockdata.pid 17:49:27.585075 Received PING (on stdin) 17:49:27.585200 Received PORT (on stdin) 17:49:27.585581 ====> Client connect 17:49:27.586341 Received DATA (on stdin) 17:49:27.586353 > 17 bytes data, server => client 17:49:27.586364 'WE ROOLZ: 80972\r\n' 17:49:27.586389 Received DISC (on stdin) 17:49:27.586400 ====> Client forcibly disconnected 17:49:27.586554 Received QUIT (on stdin) 17:49:27.586565 quits 17:49:27.586653 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 402 === End of file server.cmd === Start of file valgrind402 ==99235== ==99235== Process terminating with default action of signal 4 (SIGILL) ==99235== Illegal opcode at address 0x4014520 ==99235== at 0x4014520: getparameter (tool_getparam.c:2862) ==99235== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99235== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99235== by 0x4003728: main (tool_main.c:186) === End of file valgrind402 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:42045/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:42045/415 > log/8/stdout415 2> log/8/stderr415 === End of file commands.log === Start of file http_server.log 17:49:27.635887 ====> Client connect 17:49:27.635922 accept_connection 3 returned 4 17:49:27.635938 accept_connection 3 returned 0 17:49:27.635951 Read 93 bytes 17:49:27.635960 Process 93 bytes request 17:49:27.635972 Got request: GET /verifiedserver HTTP/1.1 17:49:27.635980 Are-we-friendly question received 17:49:27.636007 Wrote request (93 bytes) input to log/8/server.input 17:49:27.636023 Identifying ourselves as friends 17:49:27.636081 Response sent (56 bytes) and written to log/8/server.response 17:49:27.636091 special request received, no persistency 17:49:27.636100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind415 ==99273== ==99273== Process terminating with default action of signal 4 (SIGILL) ==99273== Illegal opcode at address 0x4014520 ==99273== at 0x4014520: getparameter (tool_getparam.c:2862) ==99273== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99273== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99273== by 0x4003728: main (tool_main.c:186) === End of file valgrind415 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/4/valgrind405 ../src/curl -q --output log/4/curl405.out --include --trace-ascii log/4/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:40307/path/to/file/405 > log/4/stdout405 2> log/4/stderr405 curl returned 132, when expecting 35,28 405: exit FAILED == Contents of files in the log/4/ 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/4/valgrind405 ../src/curl -q --output log/4/curl405.out --include --trace-ascii log/4/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:40307/path/to/file/405 > log/4/stdout405 2> log/4/stderr405 === End of file commands.log === Start of file ftp_server.log 17:49:27.761282 ====> Client connect 17:49:27.761431 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:27.761715 < "USER anonymous" 17:49:27.761755 > "331 We are happy you popped in![CR][LF]" 17:49:27.761928 < "PASS ftp@example.com" 17:49:27.761955 > "230 Welcome you silly person[CR][LF]" 17:49:27.762125 < "PWD" 17:49:27.762161 > "257 "/" is current directory[CR][LF]" 17:49:27.762334 < "EPSV" 17:49:27.762362 ====> Passive DATA channel requested by client 17:49:27.762378 DATA sockfilt for passive data channel starting... 17:49:27.765124 DATA sockfilt for passive data channel started (pid 99102) 17:49:27.765244 DATA sockfilt for passive data channel listens on port 45597 17:49:27.765287 > "229 Entering Passive Mode (|||45597|)[CR][LF]" 17:49:27.765308 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/20/valgrind416 ../src/curl -q --output log/20/curl416.out --include --trace-ascii log/20/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:35215/416 > log/20/stdout416 2> log/20/stderr416 nt has been notified that DATA conn will be accepted on port 45597 17:49:27.765512 Client connects to port 45597 17:49:27.765544 ====> Client established passive DATA connection on port 45597 17:49:27.766156 < "TYPE I" 17:49:27.766191 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:27.766360 < "SIZE verifiedserver" 17:49:27.766403 > "213 17[CR][LF]" 17:49:27.766559 < "RETR verifiedserver" 17:49:27.766596 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:27.766686 =====> Closing passive DATA connection... 17:49:27.766706 Server disconnects passive DATA connection 17:49:27.766816 Server disconnected passive DATA connection 17:49:27.766843 DATA sockfilt for passive data channel quits (pid 99102) 17:49:27.767079 DATA sockfilt for passive data channel quit (pid 99102) 17:49:27.767107 =====> Closed passive DATA connection 17:49:27.767136 > "226 File transfer complete[CR][LF]" 17:49:27.815586 < "QUIT" 17:49:27.815637 > "221 bye bye baby[CR][LF]" 17:49:27.816788 MAIN sockfilt said DISC 17:49:27.816834 ====> Client disconnected 17:49:27.816898 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:27.607359 ====> Client connect 17:49:27.607634 Received DATA (on stdin) 17:49:27.607649 > 146 bytes data, server => client 17:49:27.607662 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:27.607673 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:27.607682 '220 \___|\___/|_| \_\_____|\r\n' 17:49:27.607756 < 16 bytes data, client => server 17:49:27.607770 'USER anonymous\r\n' 17:49:27.607948 Received DATA (on stdin) 17:49:27.607960 > 33 bytes data, server => client 17:49:27.607971 '331 We are happy you popped in!\r\n' 17:49:27.608024 < 22 bytes data, client => server 17:49:27.608036 'PASS ftp@example.com\r\n' 17:49:27.608144 Received DATA (on stdin) 17:49:27.608155 > 30 bytes data, server => client 17:49:27.608166 '230 Welcome you silly person\r\n' 17:49:27.608225 < 5 bytes data, client => server 17:49:27.608237 'PWD\r\n' 17:49:27.608351 Received DATA (on stdin) 17:49:27.608362 > 30 bytes data, server => client 17:49:27.608372 '257 "/" is current directory\r\n' 17:49:27.608431 < 6 bytes data, client => server 17:49:27.608443 'EPSV\r\n' 17:49:27.611502 Received DATA (on stdin) 17:49:27.611515 > 39 bytes data, server => client 17:49:27.611525 '229 Entering Passive Mode (|||45597|)\r\n' 17:49:27.611751 < 8 bytes data, client => server 17:49:27.611763 'TYPE I\r\n' 17:49:27.612383 Received DATA (on stdin) 17:49:27.612396 > 33 bytes data, server => client 17:49:27.612406 '200 I modify TYPE as you wanted\r\n' 17:49:27.612459 < 21 bytes data, client => server 17:49:27.612472 'SIZE verifiedserver\r\n' 17:49:27.612591 Received DATA (on stdin) 17:49:27.612602 > 8 bytes data, server => client 17:49:27.612612 '213 17\r\n' 17:49:27.612661 < 21 bytes data, client => server 17:49:27.612672 'RETR verifiedserver\r\n' 17:49:27.613000 Received DATA (on stdin) 17:49:27.613020 > 29 bytes data, server => client 17:49:27.613032 '150 Binary junk (17 bytes).\r\n' 17:49:27.613325 Received DATA (on stdin) 17:49:27.613337 > 28 bytes data, server => client 17:49:27.613347 '226 File transfer complete\r\n' 17:49:27.661607 < 6 bytes data, client => server 17:49:27.661631 'QUIT\r\n' 17:49:27.661829 Received DATA (on stdin) 17:49:27.661841 > 18 bytes data, server => client 17:49:27.661851 '221 bye bye baby\r\n' 17:49:27.662916 ====> Client disconnect 17:49:27.663085 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:27.610173 Running IPv4 version 17:49:27.610233 Listening on port 45597 17:49:27.610273 Wrote pid 99102 to log/4/server/ftp_sockdata.pid 17:49:27.611243 Received PING (on stdin) 17:49:27.611346 Received PORT (on stdin) 17:49:27.611648 ====> Client connect 17:49:27.612895 Received DATA (on stdin) 17:49:27.612907 > 17 bytes data, server => client 17:49:27.612917 'WE ROOLZ: 80996\r\n' 17:49:27.612943 Received DISC (on stdin) 17:49:27.612954 ====> Client forcibly disconnected 17:49:27.613038 Received QUIT (on stdin) 17:49:27.613049 quits 17:49:27.613113 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 405 === End of file server.cmd === Start of file valgrind405 ==99309== ==99309== Process terminating with default action of signal 4 (SIGILL) ==99309== Illegal opcode at address 0x4014520 ==99309== at 0x4014520: getparameter (tool_getparam.c:2862) ==99309== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99309== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99309== by 0x4003728: main (tool_main.c:186) === End of file valgrind405 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/20/valgrind416 ../src/curl -q --output log/20/curl416.out --include --trace-ascii log/20/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:35215/416 > log/20/stdout416 2> log/20/stderr416 416: 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 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/20/valgrind416 ../src/curl -q --output log/20/curl416.out --include --trace-ascii log/20/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:35215/416 > log/20/stdout416 2> log/20/stderr416 === End of file commands.log === Start of file ftp_server.log 17:49:27.809092 ====> Client connect 17:49:27.809261 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:27.809548 < "USER anonymous" 17:49:27.809588 > "331 We are happy you popped in![CR][LF]" 17:49:27.809759 < "PASS ftp@example.com" 17:49:27.809787 > "230 Welcome you silly person[CR][LF]" 17:49:27.809947 < "PWD" 17:49:27.809982 > "257 "/" is current directory[CR][LF]" 17:49:27.810168 < "EPSV" 17:49:27.810198 ====> Passive DATA channel requested by client 17:49:27.810214 DATA sockfilt for passive data channel starting... 17:49:27.812638 DATA sockfilt for passive data channel started (pid 99287) 17:49:27.812816 DATA sockfilt for passive data channel listens on port 41967 17:49:27.812873 > "229 Entering Passive Mode (|||41967|)[CR][LF]" 17:49:27.812894 Client has been notified that DATA conn will be accepted on port 41967 17:49:27.813208 Client connects to port 41967 17:49:27.813240 ====> Client established passive DATA connection on port 41967 17:49:27.813353 < "TYPE I" 17:49:27.813390 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:27.813569 < "SIZE verifiedserver" 17:49:27.813615 > "213 17[CR][LF]" 17:49:27.813783 < "RETR verifiedserver" 17:49:27.813824 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:27.813916 =====> Closing passive DATA connection... 17:49:27.813935 Server disconnects passive DATA connection 17:49:27.814173 Server disconnected passive DATA connection 17:49:27.814204 DATA sockfilt for passive data channel quits (pid 99287) 17:49:27.814713 DATA sockfilt for passive data channel quit (pid 99287) 17:49:27.814754 =====> Closed passive DATA connection 17:49:27.814793 > "226 File transfer complete[CR][LF]" 17:49:27.857808 < "QUIT" 17:49:27.857871 > "221 bye bye baby[CR][LF]" 17:49:27.858243 MAIN sockfilt said DISC 17:49:27.858281 ====> Client disconnected 17:49:27.858372 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:27.655164 ====> Client connect 17:49:27.655463 Received DATA (on stdin) 17:49:27.655477 > 146 bytes data, server => client 17:49:27.655489 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:27.655499 '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/14/valgrind426 ../src/curl -q --output log/14/curl426.out --include --trace-ascii log/14/trace426 --trace-time http://127.0.0.1:37569/426 -d foobar -C 3 > log/14/stdout426 2> log/14/stderr426 CMD (33792): ../libtool --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/valgrind418 ../src/curl -q --output log/19/curl418.out --include --trace-ascii log/19/trace418 --trace-time http://127.0.0.1:36987/418 -sS --tr-encoding > log/19/stdout418 2> log/19/stderr418 \r\n' 17:49:27.655507 '220 \___|\___/|_| \_\_____|\r\n' 17:49:27.655586 < 16 bytes data, client => server 17:49:27.655600 'USER anonymous\r\n' 17:49:27.655781 Received DATA (on stdin) 17:49:27.655793 > 33 bytes data, server => client 17:49:27.655803 '331 We are happy you popped in!\r\n' 17:49:27.655855 < 22 bytes data, client => server 17:49:27.655867 'PASS ftp@example.com\r\n' 17:49:27.655975 Received DATA (on stdin) 17:49:27.655986 > 30 bytes data, server => client 17:49:27.655996 '230 Welcome you silly person\r\n' 17:49:27.656045 < 5 bytes data, client => server 17:49:27.656057 'PWD\r\n' 17:49:27.656171 Received DATA (on stdin) 17:49:27.656198 > 30 bytes data, server => client 17:49:27.656207 '257 "/" is current directory\r\n' 17:49:27.656267 < 6 bytes data, client => server 17:49:27.656278 'EPSV\r\n' 17:49:27.659094 Received DATA (on stdin) 17:49:27.659113 > 39 bytes data, server => client 17:49:27.659124 '229 Entering Passive Mode (|||41967|)\r\n' 17:49:27.659339 < 8 bytes data, client => server 17:49:27.659351 'TYPE I\r\n' 17:49:27.659583 Received DATA (on stdin) 17:49:27.659596 > 33 bytes data, server => client 17:49:27.659607 '200 I modify TYPE as you wanted\r\n' 17:49:27.659663 < 21 bytes data, client => server 17:49:27.659676 'SIZE verifiedserver\r\n' 17:49:27.659806 Received DATA (on stdin) 17:49:27.659818 > 8 bytes data, server => client 17:49:27.659828 '213 17\r\n' 17:49:27.659881 < 21 bytes data, client => server 17:49:27.659894 'RETR verifiedserver\r\n' 17:49:27.660126 Received DATA (on stdin) 17:49:27.660138 > 29 bytes data, server => client 17:49:27.660149 '150 Binary junk (17 bytes).\r\n' 17:49:27.660993 Received DATA (on stdin) 17:49:27.661009 > 28 bytes data, server => client 17:49:27.661020 '226 File transfer complete\r\n' 17:49:27.703790 < 6 bytes data, client => server 17:49:27.703823 'QUIT\r\n' 17:49:27.704071 Received DATA (on stdin) 17:49:27.704086 > 18 bytes data, server => client 17:49:27.704096 '221 bye bye baby\r\n' 17:49:27.704372 ====> Client disconnect 17:49:27.704570 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:27.658589 Running IPv4 version 17:49:27.658686 Listening on port 41967 17:49:27.658725 Wrote pid 99287 to log/20/server/ftp_sockdata.pid 17:49:27.658750 Received PING (on stdin) 17:49:27.658897 Received PORT (on stdin) 17:49:27.659308 ====> Client connect 17:49:27.660175 Received DATA (on stdin) 17:49:27.660188 > 17 bytes data, server => client 17:49:27.660198 'WE ROOLZ: 81259\r\n' 17:49:27.660223 Received DISC (on stdin) 17:49:27.660235 ====> Client forcibly disconnected 17:49:27.660402 Received QUIT (on stdin) 17:49:27.660413 quits 17:49:27.660475 ============> 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 ==99414== ==99414== Process terminating with default action of signal 4 (SIGILL) ==99414== Illegal opcode at address 0x4014520 ==99414== at 0x4014520: getparameter (tool_getparam.c:2862) ==99414== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99414== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99414== by 0x4003728: main (tool_main.c:186) === End of file valgrind416 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/14/valgrind426 ../src/curl -q --output log/14/curl426.out --include --trace-ascii log/14/trace426 --trace-time http://127.0.0.1:37569/426 -d foobar -C 3 > log/14/stdout426 2> log/14/stderr426 curl returned 132, when expecting 2 426: exit FAILED == Contents of files in the log/14/ directory after test 426 === Start of file commands.log ../libtool --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/valgrind426 ../src/curl -q --output log/14/curl426.out --include --trace-ascii log/14/trace426 --trace-time http://127.0.0.1:37569/426 -d foobar -C 3 > log/14/stdout426 2> log/14/stderr426 === End of file commands.log === Start of file http_server.log 17:49:29.029569 ====> Client connect 17:49:29.029607 accept_connection 3 returned 4 17:49:29.029624 accept_connection 3 returned 0 17:49:29.029641 Read 93 bytes 17:49:29.029650 Process 93 bytes request 17:49:29.029663 Got request: GET /verifiedserver HTTP/1.1 17:49:29.029672 Are-we-friendly question received 17:49:29.029697 Wrote request (93 bytes) input to log/14/server.input 17:49:29.029712 Identifying ourselves as friends 17:49:29.029776 Response sent (56 bytes) and written to log/14/server.response 17:49:29.029785 special request received, no persistency 17:49:29.029794 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind426 ==99924== ==99924== Process terminating with default action of signal 4 (SIGILL) ==99924== Illegal opcode at address 0x4014520 ==99924== at 0x4014520: getparameter (tool_getparam.c:2862) ==99924== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99924== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99924== by 0x4003728: main (tool_main.c:186) === End of file valgrind426 CMD (33792): ../libtool --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/valgrind422 ../src/curl -q --output log/6/curl422.out --include --trace-ascii log/6/trace422 --trace-time -O -I --next http://127.0.0.1:42747/422 > log/6/stdout422 2> log/6/stderr422 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/19/valgrind418 ../src/curl -q --output log/19/curl418.out --include --trace-ascii log/19/trace418 --trace-time http://127.0.0.1:36987/418 -sS --tr-encoding > log/19/stdout418 2> log/19/stderr418 418: stderr FAILED: --- log/19/check-expected 2026-01-28 17:49:29.309888770 +0000 +++ log/19/check-generated 2026-01-28 17:49:29.309888770 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/19/ directory after test 418 === Start of file check-expected curl: (61) Reject response due to more than 5 content 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/19/valgrind418 ../src/curl -q --output log/19/curl418.out --include --trace-ascii log/19/trace418 --trace-time http://127.0.0.1:36987/418 -sS --tr-encoding > log/19/stdout418 2> log/19/stderr418 === End of file commands.log === Start of file http_server.log 17:49:27.943702 ====> Client connect 17:49:27.943734 accept_connection 3 returned 4 17:49:27.943749 accept_connection 3 returned 0 17:49:27.943763 Read 93 bytes 17:49:27.943773 Process 93 bytes request 17:49:27.943786 Got request: GET /verifiedserver HTTP/1.1 17:49:27.943794 Are-we-friendly question received 17:49:27.943821 Wrote request (93 bytes) input to log/19/server.input 17:49:27.943836 Identifying ourselves as friends 17:49:27.943887 Response sent (56 bytes) and written to log/19/server.response 17:49:27.943896 special request received, no persistency 17:49:27.943904 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 58654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind418 ==99576== ==99576== Process terminating with default action of signal 4 (SIGILL) ==99576== Illegal opcode at address 0x4014520 ==99576== at 0x4014520: getparameter (tool_getparam.c:2862) ==99576== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99576== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99576== by 0x4003728: main (tool_main.c:186) === End of file valgrind418 CMD (33792): ../libtool --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/valgrind419 ../src/curl -q --output log/10/curl419.out --include --trace-ascii log/10/trace419 --trace-time http://127.0.0.1:32889/419 -D loggg/save-here/fails > log/10/stdout419 2> log/10/stderr419 CMD (33792): ../libtool --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/valgrind420 ../src/curl -q --output log/12/curl420.out --include --trace-ascii log/12/trace420 --trace-time http://127.0.0.1:36641/func_test/del_cookie -b log/12/cookie420 -c log/12/save420 > log/12/stdout420 2> log/12/stderr420 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/6/valgrind422 ../src/curl -q --output log/6/curl422.out --include --trace-ascii log/6/trace422 --trace-time -O -I --next http://127.0.0.1:42747/422 > log/6/stdout422 2> log/6/stderr422 422: stderr FAILED: --- log/6/check-expected 2026-01-28 17:49:29.333222103 +0000 +++ log/6/check-generated 2026-01-28 17:49:29.333222103 +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/6/ 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/6/valgrind422 ../src/curl -q --output log/6/curl422.out --include --trace-ascii log/6/trace422 --trace-time -O -I --next http://127.0.0.1:42747/422 > log/6/stdout422 2> log/6/stderr422 === End of file commands.log === Start of file server.cmd Testnum 422 === End of file server.cmd === Start of file valgrind422 ==99565== ==99565== Process terminating with default action of signal 4 (SIGILL) ==99565== Illegal opcode at address 0x4014520 ==99565== at 0x4014520: getparameter (tool_getparam.c:2862) ==99565== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99565== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99565== by 0x4003728: main (tool_main.c:186) === End of file valgrind422 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/10/valgrind419 ../src/curl -q --output log/10/curl419.out --include --trace-ascii log/10/trace419 --trace-time http://127.0.0.1:32889/419 -D loggg/save-here/fails > log/10/stdout419 2> log/10/stderr419 curl returned 132, when expecting 23 419: exit FAILED == Contents of files in the log/10/ 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/10/valgrind419 ../src/curl -q --output log/10/curl419.out --include --trace-ascii log/10/trace419 --trace-time http://127.0.0.1:32889/419 -D loggg/save-here/fails > log/10/stdout419 2> log/10/stderr419 === End of file commands.log === Start of file http_server.log 17:49:27.943767 ====> Client connect 17:49:27.943801 accept_connection 3 returned 4 17:49:27.943827 accept_connection 3 returned 0 17:49:27.943841 Read 93 bytes 17:49:27.943851 Process 93 bytes request 17:49:27.943861 Got request: GET /verifiedserver HTTP/1.1 17:49:27.943870 Are-we-friendly question received 17:49:27.943895 Wrote request (93 bytes) input to log/10/server.input 17:49:27.943912 Identifying ourselves as friends 17:49:27.943973 Response sent (56 bytes) and written to log/10/server.response 17:49:27.943982 special request received, no persistency 17:49:27.943990 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 49664 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind419 ==99567== ==99567== Process terminating with default action of signal 4 (SIGILL) ==99567== Illegal opcode at address 0x4014520 ==99567== at 0x4014520: getparameter (tool_getparam.c:2862) ==99567== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99567== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99567== by 0x4003728: main (tool_main.c:186) === End of file valgrind419 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/12/valgrind420 ../src/curl -q --output log/12/curl420.out --include --trace-ascii log/12/trace420 --trace-time http://127.0.0.1:36641/func_test/del_cookie -b log/12/cookie420 -c log/12/save420 > log/12/stdout420 2> log/12/stderr420 420: 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 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/12/valgrind420 ../src/curl -q --output log/12/curl420.out --include --trace-ascii log/12/trace420 --trace-time http://127.0.0.1:36641/func_test/del_cookie -b log/12/cookie420 -c log/12/save420 > log/12/stdout420 2> log/12/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 17:49:27.945932 ====> Client connect 17:49:27.945969 accept_connection 3 returned 4 17:49:27.945986 accept_connection 3 returned 0 17:49:27.946000 Read 93 bytes 17:49:27.946010 Process 93 bytes request 17:49:27.946023 Got request: GET /verifiedserver HTTP/1.1 17:49:27.946031 Are-we-friendly question received 17:49:27.946058 Wrote request (93 bytes) input to log/12/server.input 17:49:27.946074 Identifying ourselves as friends 17:49:27.946137 Response sent (56 bytes) and written to log/12/server.response 17:49:27.946147 special request received, no persistency 17:49:27.946156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 32992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind420 ==99571== ==99571== Process terminating with default action of signal 4 (SIGILL) ==99571== Illegal opcode at address 0x4014520 ==99571== at 0x4014520: getparameter (tool_getparam.c:2862) ==99571== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99571== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99CMD (33792): ../libtool --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/valgrind421 ../src/curl -q --output log/3/curl421.out --include --trace-ascii log/3/trace421 --trace-time http://127.0.0.1:45927/421 -w '%{stderr}%{header_json}\n' -s > log/3/stdout421 2> log/3/stderr421 CMD (33792): ../libtool --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/valgrind423 ../src/curl -q --trace-ascii log/22/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:42933/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:42933/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/22/stdout423 2> log/22/stderr423 CMD (33792): ../libtool --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:40899/425/?fullpath > log/16/stdout425 2> log/16/stderr425 571== by 0x4003728: main (tool_main.c:186) === End of file valgrind420 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/3/valgrind421 ../src/curl -q --output log/3/curl421.out --include --trace-ascii log/3/trace421 --trace-time http://127.0.0.1:45927/421 -w '%{stderr}%{header_json}\n' -s > log/3/stdout421 2> log/3/stderr421 421: stderr FAILED: --- log/3/check-expected 2026-01-28 17:49:29.343222103 +0000 +++ log/3/check-generated 2026-01-28 17:49:29.343222103 +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/3/ 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/3/valgrind421 ../src/curl -q --output log/3/curl421.out --include --trace-ascii log/3/trace421 --trace-time http://127.0.0.1:45927/421 -w '%{stderr}%{header_json}\n' -s > log/3/stdout421 2> log/3/stderr421 === End of file commands.log === Start of file http_server.log 17:49:27.967886 ====> Client connect 17:49:27.967921 accept_connection 3 returned 4 17:49:27.967938 accept_connection 3 returned 0 17:49:27.967952 Read 93 bytes 17:49:27.967961 Process 93 bytes request 17:49:27.967974 Got request: GET /verifiedserver HTTP/1.1 17:49:27.967983 Are-we-friendly question received 17:49:27.968008 Wrote request (93 bytes) input to log/3/server.input 17:49:27.968025 Identifying ourselves as friends 17:49:27.968081 Response sent (56 bytes) and written to log/3/server.response 17:49:27.968090 special request received, no persistency 17:49:27.968098 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 47444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind421 ==99641== ==99641== Process terminating with default action of signal 4 (SIGILL) ==99641== Illegal opcode at address 0x4014520 ==99641== at 0x4014520: getparameter (tool_getparam.c:2862) ==99641== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99641== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99641== by 0x4003728: main (tool_main.c:186) === End of file valgrind421 CMD (33792): ../libtool --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/valgrind424 ../src/curl -q --trace-ascii log/5/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:46875/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:46875/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:46875/ -L > log/5/stdout424 2> log/5/stderr424 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/22/valgrind423 ../src/curl -q --trace-ascii log/22/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:42933/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:42933/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/22/stdout423 2> log/22/stderr423 423: stdout FAILED: --- log/22/check-expected 2026-01-28 17:49:29.349888769 +0000 +++ log/22/check-generated 2026-01-28 17:49:29.349888769 +0000 @@ -1,4 +0,0 @@ -127.0.0.1+/423+http+uuuu+pppp+42933+qqqq+ffff[LF] -hello2000+/423+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -127.0.0.1+/423+http+u22u+p22p+42933+qqqq+ffff[LF] == Contents of files in the log/22/ directory after test 423 === Start of file check-expected 127.0.0.1+/423+http+uuuu+pppp+42933+qqqq+ffff[LF] hello2000+/423+h55p+++1+qqqq+ffff[LF] +++++++[LF] 127.0.0.1+/423+http+u22u+p22p+42933+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/22/valgrind423 ../src/curl -q --trace-ascii log/22/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:42933/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:42933/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/22/stdout423 2> log/22/stderr423 === End of file commands.log === Start of file http_server.log 17:49:27.985668 ====> Client connect 17:49:27.985701 accept_connection 3 returned 4 17:49:27.985718 accept_connection 3 returned 0 17:49:27.985731 Read 93 bytes 17:49:27.985741 Process 93 bytes request 17:49:27.985754 Got request: GET /verifiedserver HTTP/1.1 17:49:27.985763 Are-we-friendly question received 17:49:27.985787 Wrote request (93 bytes) input to log/22/server.input 17:49:27.985803 Identifying ourselves as friends 17:49:27.985854 Response sent (56 bytes) and written to log/22/server.response 17:49:27.985863 special request received, no persistency 17:49:27.985872 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 38386 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind423 ==99714== ==99714== Process terminating with default action of signal 4 (SIGILL) ==99714== Illegal opcode at address 0x4014520 ==99714== at 0x4014520: getparameter (tool_getparam.c:2862) ==99714== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99714== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99714== by 0x4003728: main (tool_main.c:186) === End of file valgrind423 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:40899/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:40899/425/?fullpath > log/16/stdout425 2> log/16/stderr425 === End of file commands.log === Start of file http_server.log 17:49:28.036708 ====> Client connect 17:49:28.036743 accept_connection 3 returned 4 17:49:28.036760 accept_connection 3 returned 0 17:49:28.036775 Read 93 bytes 17:49:28.036785 Process 93 bytes request 17:49:28.036798 Got request: GET /verifiedserver HTTP/1.1 17:49:28.036807 Are-we-friendly question received 17:49:28.036839 Wrote request (93 bytes) input to log/16/server.input 17:49:28.036856 Identifying ourselves as friends 17:49:28.036916 Response sent (56 bytes) and written to log/16/server.response 17:49:28.036926 special request received, no persistency 17:49:28.036935 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 46164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.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:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file up425 content === End of file up425 === Start of file valgrind425 ==99963== ==99963== Process terminating with default action of signal 4 (SIGILL) ==99963== Illegal opcode at address 0x4014520 ==99963== at 0x4014520: getparameter (tool_getparam.c:2862) ==99963== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99963== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99963== by 0x4003728: main (tool_main.c:186) === 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/2/valgrind427 ../src/curl -q --output log/2/curl427.out --include --trace-ascii log/2/trace427 --trace-time http://127.0.0.1:38779/427 -c log/2/cookies427 -L > log/2/stdout427 2> log/2/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/18/valgrind430 ../src/curl -q --output log/18/curl430.out --include --trace-ascii log/18/trace430 --trace-time -K log/18/config430-a -K log/18/config430-b -K log/18/config430-c > log/18/stdout430 2> log/18/stderr430 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/5/valgrind424 ../src/curl -q --trace-ascii log/5/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:46875/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:46875/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:46875/ -L > log/5/stdout424 2> log/5/stderr424 424: stdout FAILED: --- log/5/check-expected 2026-01-28 17:49:29.359888769 +0000 +++ log/5/check-generated 2026-01-28 17:49:29.359888769 +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/5/ 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/5/valgrind424 ../src/curl -q --trace-ascii log/5/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:46875/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:46875/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:46875/ -L > log/5/stdout424 2> log/5/stderr424 === End of file commands.log === Start of file http_server.log 17:49:28.003273 ====> Client connect 17:49:28.003304 accept_connection 3 returned 4 17:49:28.003321 accept_connection 3 returned 0 17:49:28.003335 Read 93 bytes 17:49:28.003345 Process 93 bytes request 17:49:28.003358 Got request: GET /verifiedserver HTTP/1.1 17:49:28.003366 Are-we-friendly question received 17:49:28.003391 Wrote request (93 bytes) input to log/5/server.input 17:49:28.003407 Identifying ourselves as friends 17:49:28.003463 Response sent (56 bytes) and written to log/5/server.response 17:49:28.003473 special request received, no persistency 17:49:28.003481 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 40550 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind424 ==99832== ==99832== Process terminating with default action of signal 4 (SIGILL) ==99832== Illegal opcode at address 0x4014520 ==99832== at 0x4014520: getparameter (tool_getparam.c:2862) ==99832== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==99832== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==99832== by 0x4003728: main (tool_main.c:186) === End of file valgrind424 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/2/valgrind427 ../src/curl -q --output log/2/curl427.out --include --trace-ascii log/2/trace427 --trace-time http://127.0.0.1:38779/427 -c log/2/cookies427 -L > log/2/stdout427 2> log/2/stderr427 427: 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 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/2/valgrind427 ../src/curl -q --output log/2/curl427.out --include --trace-ascii log/2/trace427 --trace-time http://127.0.0.1:38779/427 -c log/2/cookies427 -L > log/2/stdout427 2> log/2/stderr427 === End of file commands.log === Start of file http_server.log 17:49:28.288683 ====> Client connect 17:49:28.288885 accept_connection 3 returned 4 17:49:28.288916 accept_connection 3 returned 0 17:49:28.288939 Read 93 bytes 17:49:28.288956 Process 93 bytes request 17:49:28.289003 Got request: GET /verifiedserver HTTP/1.1 17:49:28.289012 Are-we-friendly question received 17:49:28.289040 Wrote request (93 bytes) input to log/2/server.input 17:49:28.289057 Identifying ourselves as friends 17:49:28.289138 Response sent (56 bytes) and written to log/2/server.response 17:49:28.289149 special request received, no persistency 17:49:28.289167 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 36668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind427 ==100158== ==100158== Process terminating with default action of signal 4 (SIGILL) ==100158== Illegal opcode at address 0x4014520 ==100158== at 0x4014520: getparameter (tool_getparam.c:2862) ==100158== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100158== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100158== by 0x4003728: main (tool_main.c:186) === End of file valgrind427 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/18/valgrind430 ../src/curl -q --output log/18/curl430.out --include --trace-ascii log/18/trace430 --trace-time -K log/18/config430-a -K log/18/config430-b -K log/18/config430-c > log/18/stdout430 2> log/18/stderr430 430: 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 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/18/valgrind430 ../src/curl -q --output log/18/curl430.out --include --trace-ascii log/18/trace430 --trace-time -K log/18/config430-a -K log/18/config430-b -K log/18/config430-c > log/18/stdout430 2> log/18/stderr430 === End of file commands.log === Start of file config430-a --next url = 127.0.0.1:34067/4300001 header = "a: a" data = "a" === End of file config430-a === Start of file config430-b --next url = 127.0.0.1:34067/4300002 header = "b: b" data = "b" === End of file config430-b === Start of file config430-c --next url = 127.0.0.1:34067/4300003 header = "c: c" data = "c" === End of file config430-c === Start of file http_server.log 17:49:28.322935 ====> Client connect 17:49:28.322968 accept_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/valgrind428 ../src/curl -q --output log/21/curl428.out --include --trace-ascii log/21/trace428 --trace-time http://127.0.0.1:41669/428 -K log/21/cmd > log/21/stdout428 2> log/21/stderr428 CMD (33792): ../libtool --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/valgrind429 ../src/curl -q --output log/1/curl429.out --include --trace-ascii log/1/trace429 --trace-time http://127.0.0.1:39589/429 -K log/1/cmd > log/1/stdout429 2> log/1/stderr429 ction 3 returned 4 17:49:28.322984 accept_connection 3 returned 0 17:49:28.322998 Read 93 bytes 17:49:28.323007 Process 93 bytes request 17:49:28.323021 Got request: GET /verifiedserver HTTP/1.1 17:49:28.323030 Are-we-friendly question received 17:49:28.323055 Wrote request (93 bytes) input to log/18/server.input 17:49:28.323071 Identifying ourselves as friends 17:49:28.323131 Response sent (56 bytes) and written to log/18/server.response 17:49:28.323141 special request received, no persistency 17:49:28.323149 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 55438 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind430 ==100240== ==100240== Process terminating with default action of signal 4 (SIGILL) ==100240== Illegal opcode at address 0x4014520 ==100240== at 0x4014520: getparameter (tool_getparam.c:2862) ==100240== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100240== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100240== by 0x4003728: main (tool_main.c:186) === End of file valgrind430 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/21/valgrind428 ../src/curl -q --output log/21/curl428.out --include --trace-ascii log/21/trace428 --trace-time http://127.0.0.1:41669/428 -K log/21/cmd > log/21/stdout428 2> log/21/stderr428 428: 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 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/21/valgrind428 ../src/curl -q --output log/21/curl428.out --include --trace-ascii log/21/trace428 --trace-time http://127.0.0.1:41669/428 -K log/21/cmd > log/21/stdout428 2> log/21/stderr428 === End of file commands.log === Start of file http_server.log 17:49:28.306680 ====> Client connect 17:49:28.306713 accept_connection 3 returned 4 17:49:28.306728 accept_connection 3 returned 0 17:49:28.306742 Read 93 bytes 17:49:28.306752 Process 93 bytes request 17:49:28.306763 Got request: GET /verifiedserver HTTP/1.1 17:49:28.306772 Are-we-friendly question received 17:49:28.306798 Wrote request (93 bytes) input to log/21/server.input 17:49:28.306814 Identifying ourselves as friends 17:49:28.306869 Response sent (56 bytes) and written to log/21/server.response 17:49:28.306879 special request received, no persistency 17:49:28.306887 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 54784 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind428 ==100189== ==100189== Process terminating with default action of signal 4 (SIGILL) ==100189== Illegal opcode at address 0x4014520 ==100189== at 0x4014520: getparameter (tool_getparam.c:2862) ==100189== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100189== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100189== by 0x4003728: main (tool_main.c:186) === 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/1/valgrind429 ../src/curl -q --output log/1/curl429.out --include --trace-ascii log/1/trace429 --trace-time http://127.0.0.1:39589/429 -K log/1/cmd > log/1/stdout429 2> log/1/stderr429 429: 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 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/1/valgrind429 ../src/curl -q --output log/1/curl429.out --include --trace-ascii log/1/trace429 --trace-time http://127.0.0.1:39589/429 -K log/1/cmd > log/1/stdout429 2> log/1/stderr429 === End of file commands.log === Start of file http_server.log 17:49:28.303395 ====> Client connect 17:49:28.303430 accept_connection 3 returned 4 17:49:28.303446 accept_connection 3 returned 0 17:49:28.303461 Read 93 bytes 17:49:28.303470 Process 93 bytes request 17:49:28.303484 Got request: GET /verifiedserver HTTP/1.1 17:49:28.303493 Are-we-friendly question received 17:49:28.303517 Wrote request (93 bytes) input to log/1/server.input 17:49:28.303534 Identifying ourselves as friends 17:49:28.303590 Response sent (56 bytes) and written to log/1/server.response 17:49:28.303598 special request received, no persistency 17:49:28.303605 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind429 ==100187== ==100187== Process terminating with default action of signal 4 (SIGILL) ==100187== Illegal opcode at address 0x4014520 ==100187== at 0x4014520: getparameter (tool_getparam.c:2862) ==100187== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100187== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100187== by 0x4003728: main (tool_main.c:186) === End CMD (33792): ../libtool --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/valgrind431 ../src/curl -q --output log/17/curl431.out --include --trace-ascii log/17/trace431 --trace-time -K log/17/config431-a -K log/17/config431-b --next -d c 127.0.0.1:44593/4310003 -H "c: c" > log/17/stdout431 2> log/17/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/24/valgrind432 ../src/curl -q --output log/24/curl432.out --include --trace-ascii log/24/trace432 --trace-time -K log/24/config432 > log/24/stdout432 2> log/24/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/11/valgrind435 ../src/curl -q --include --trace-ascii log/11/trace435 --trace-time http://127.0.0.1:46439/435 http://127.0.0.1:46439/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/11/stdout435 2> log/11/stderr435 CMD (33792): ../libtool --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/valgrind434 ../src/curl -q --output log/9/curl434.out --include --trace-ascii log/9/trace434 --trace-time -K log/9/config434 > log/9/stdout434 2> log/9/stderr434 of file valgrind429 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/17/valgrind431 ../src/curl -q --output log/17/curl431.out --include --trace-ascii log/17/trace431 --trace-time -K log/17/config431-a -K log/17/config431-b --next -d c 127.0.0.1:44593/4310003 -H "c: c" > log/17/stdout431 2> log/17/stderr431 431: 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 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/17/valgrind431 ../src/curl -q --output log/17/curl431.out --include --trace-ascii log/17/trace431 --trace-time -K log/17/config431-a -K log/17/config431-b --next -d c 127.0.0.1:44593/4310003 -H "c: c" > log/17/stdout431 2> log/17/stderr431 === End of file commands.log === Start of file config431-a --next url = 127.0.0.1:44593/4310001 header = "a: a" data = "a" === End of file config431-a === Start of file config431-b --next url = 127.0.0.1:44593/4310002 header = "b: b" data = "b" === End of file config431-b === Start of file http_server.log 17:49:28.388251 ====> Client connect 17:49:28.388281 accept_connection 3 returned 4 17:49:28.388297 accept_connection 3 returned 0 17:49:28.388312 Read 93 bytes 17:49:28.388321 Process 93 bytes request 17:49:28.388334 Got request: GET /verifiedserver HTTP/1.1 17:49:28.388343 Are-we-friendly question received 17:49:28.388366 Wrote request (93 bytes) input to log/17/server.input 17:49:28.388382 Identifying ourselves as friends 17:49:28.388436 Response sent (56 bytes) and written to log/17/server.response 17:49:28.388445 special request received, no persistency 17:49:28.388454 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 44108 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind431 ==100392== ==100392== Process terminating with default action of signal 4 (SIGILL) ==100392== Illegal opcode at address 0x4014520 ==100392== at 0x4014520: getparameter (tool_getparam.c:2862) ==100392== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100392== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100392== by 0x4003728: main (tool_main.c:186) === End of file valgrind431 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/24/valgrind432 ../src/curl -q --output log/24/curl432.out --include --trace-ascii log/24/trace432 --trace-time -K log/24/config432 > log/24/stdout432 2> log/24/stderr432 432: 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 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/24/valgrind432 ../src/curl -q --output log/24/curl432.out --include --trace-ascii log/24/trace432 --trace-time -K log/24/config432 > log/24/stdout432 2> log/24/stderr432 === End of file commands.log === Start of file config432 --next url = 127.0.0.1:39649/4320001 header = "a: a" data = "a" --next url = 127.0.0.1:39649/4320002 header = "b: b" data = "b" config = "log/24/config432-c" === End of file config432 === Start of file config432-c --next url = 127.0.0.1:39649/4320003 header = "c: c" data = "c" === End of file config432-c === Start of file http_server.log 17:49:28.612355 ====> Client connect 17:49:28.612392 accept_connection 3 returned 4 17:49:28.612410 accept_connection 3 returned 0 17:49:28.612426 Read 93 bytes 17:49:28.612436 Process 93 bytes request 17:49:28.612449 Got request: GET /verifiedserver HTTP/1.1 17:49:28.612458 Are-we-friendly question received 17:49:28.612486 Wrote request (93 bytes) input to log/24/server.input 17:49:28.612503 Identifying ourselves as friends 17:49:28.612565 Response sent (56 bytes) and written to log/24/server.response 17:49:28.612576 special request received, no persistency 17:49:28.612585 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 60168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind432 ==100502== ==100502== Process terminating with default action of signal 4 (SIGILL) ==100502== Illegal opcode at address 0x4014520 ==100502== at 0x4014520: getparameter (tool_getparam.c:2862) ==100502== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100502== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100502== by 0x4003728: main (tool_main.c:186) === End of file valgrind432 CMD (33792): ../libtool --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:39173/436 > log/23/stdout436 2> log/23/stderr436 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/11/valgrind435 ../src/curl -q --include --trace-ascii log/11/trace435 --trace-time http://127.0.0.1:46439/435 http://127.0.0.1:46439/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/11/stdout435 2> log/11/stderr435 435: stdout FAILED: --- log/11/check-expected 2026-01-28 17:49:29.996555435 +0000 +++ log/11/check-generated 2026-01-28 17:49:29.996555435 +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 == 46439[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 == 46439[LF] == Contents of files in the log/11/ 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 == 46439[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 == 46439[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/valgrind435 ../src/curl -q --include --trace-ascii log/11/trace435 --trace-time http://127.0.0.1:46439/435 http://127.0.0.1:46439/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/11/stdout435 2> log/11/stderr435 === End of file commands.log === Start of file http_server.log 17:49:28.774903 ====> Client connect 17:49:28.774936 accept_connection 3 returned 4 17:49:28.774951 accept_connection 3 returned 0 17:49:28.774965 Read 93 bytes 17:49:28.774975 Process 93 bytes request 17:49:28.774987 Got request: GET /verifiedserver HTTP/1.1 17:49:28.774995 Are-we-friendly question received 17:49:28.775019 Wrote request (93 bytes) input to log/11/server.input 17:49:28.775035 Identifying ourselves as friends 17:49:28.775090 Response sent (56 bytes) and written to log/11/server.response 17:49:28.775099 special request received, no persistency 17:49:28.775107 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 60606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind435 ==100681== ==100681== Process terminating with default action of signal 4 (SIGILL) ==100681== Illegal opcode at address 0x4014520 ==100681== at 0x4014520: getparameter (tool_getparam.c:2862) ==100681== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100681== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100681== by 0x4003728: main (tool_main.c:186) === End of file valgrind435 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/9/valgrind434 ../src/curl -q --output log/9/curl434.out --include --trace-ascii log/9/trace434 --trace-time -K log/9/config434 > log/9/stdout434 2> log/9/stderr434 434: 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 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/9/valgrind434 ../src/curl -q --output log/9/curl434.out --include --trace-ascii log/9/trace434 --trace-time -K log/9/config434 > log/9/stdout434 2> log/9/stderr434 === End of file commands.log === Start of file config434 url = 127.0.0.1:37413/434 === End of file config434 === Start of file http_server.log 17:49:28.721730 ====> Client connect 17:49:28.721764 accept_connection 3 returned 4 17:49:28.721781 accept_connection 3 returned 0 17:49:28.721794 Read 93 bytes 17:49:28.721804 Process 93 bytes request 17:49:28.721816 Got request: GET /verifiedserver HTTP/1.1 17:49:28.721824 Are-we-friendly question received 17:49:28.721849 Wrote request (93 bytes) input to log/9/server.input 17:49:28.721864 Identifying ourselves as friends 17:49:28.721919 Response sent (56 bytes) and written to log/9/server.response 17:49:28.721928 special request received, no persistency 17:49:28.721937 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 56436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind434 ==100575== ==100575== Process terminating with default action of signal 4 (SIGILL) ==100575== Illegal opcode at address 0x4014520 ==100575== at 0x4014520: getparameter (tool_getparam.c:2862) ==100575== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100575== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100575== by 0x4003728: main (tool_main.c:186) === End of file valgrind434 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:39173/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 /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:39173/436 > log/23/stdout436 2> log/23/stderr436 === End of file commands.log === Start of file http_server.log 17:49:29.782390 ====> Client connect 17:49:29.782421 accept_connection 3 returned 4 17:49:29.782434 accept_connection 3 returned 0 17:49:29.782446 Read 93 bytes 17:49:29.782453 Process 93 bytes request 17:49:29.782465 Got request: GET /verifiedserver HTTP/1.1 17:49:29.782472 Are-we-friCMD (33792): ../libtool --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/valgrind440 ../src/curl -q --include --trace-ascii log/7/trace440 --trace-time -x http://127.0.0.1:35671 http://this.hsts.example./440 --hsts log/7/input440 -w '%{url_effective}\n' > log/7/stdout440 2> log/7/stderr440 CMD (33792): ../libtool --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/valgrind443 ../src/curl -q --output log/8/curl443.out --include --trace-ascii log/8/trace443 --trace-time http://attack.invalid:42045/a/b/443 -b log/8/cookie443 --resolve attack.invalid:42045:127.0.0.1 -L > log/8/stdout443 2> log/8/stderr443 endly question received 17:49:29.782495 Wrote request (93 bytes) input to log/23/server.input 17:49:29.782508 Identifying ourselves as friends 17:49:29.782550 Response sent (56 bytes) and written to log/23/server.response 17:49:29.782558 special request received, no persistency 17:49:29.782565 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 58248 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind436 ==100686== ==100686== Process terminating with default action of signal 4 (SIGILL) ==100686== Illegal opcode at address 0x4014520 ==100686== at 0x4014520: getparameter (tool_getparam.c:2862) ==100686== by 0x401E433: parseconfig (tool_parsecfg.c:209) ==100686== by 0x4003479: UnknownInlinedFun (tool_operate.c:2230) ==100686== by 0x4003479: main (tool_main.c:186) === End of file valgrind436 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/7/valgrind440 ../src/curl -q --include --trace-ascii log/7/trace440 --trace-time -x http://127.0.0.1:35671 http://this.hsts.example./440 --hsts log/7/input440 -w '%{url_effective}\n' > log/7/stdout440 2> log/7/stderr440 440: stdout FAILED: --- log/7/check-expected 2026-01-28 17:49:30.076555436 +0000 +++ log/7/check-generated 2026-01-28 17:49:30.076555436 +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/7/ 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/7/valgrind440 ../src/curl -q --include --trace-ascii log/7/trace440 --trace-time -x http://127.0.0.1:35671 http://this.hsts.example./440 --hsts log/7/input440 -w '%{url_effective}\n' > log/7/stdout440 2> log/7/stderr440 === End of file commands.log === Start of file http_server.log 17:49:28.786045 ====> Client connect 17:49:28.786085 accept_connection 3 returned 4 17:49:28.786101 accept_connection 3 returned 0 17:49:28.786114 Read 93 bytes 17:49:28.786124 Process 93 bytes request 17:49:28.786136 Got request: GET /verifiedserver HTTP/1.1 17:49:28.786146 Are-we-friendly question received 17:49:28.787389 Wrote request (93 bytes) input to log/7/server.input 17:49:28.787417 Identifying ourselves as friends 17:49:28.787488 Response sent (56 bytes) and written to log/7/server.response 17:49:28.787498 special request received, no persistency 17:49:28.787506 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 58024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind440 ==100748== ==100748== Process terminating with default action of signal 4 (SIGILL) ==100748== Illegal opcode at address 0x4014520 ==100748== at 0x4014520: getparameter (tool_getparam.c:2862) ==100748== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100748== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100748== by 0x4003728: main (tool_main.c:186) === End of file valgrind440 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/8/valgrind443 ../src/curl -q --output log/8/curl443.out --include --trace-ascii log/8/trace443 --trace-time http://attack.invalid:42045/a/b/443 -b log/8/cookie443 --resolve attack.invalid:42045:127.0.0.1 -L > log/8/stdout443 2> log/8/stderr443 443: 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 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/8/valgrind443 ../src/curl -q --output log/8/curl443.out --include --trace-ascii log/8/trace443 --trace-time http://attack.invalid:42045/a/b/443 -b log/8/cookie443 --resolve attack.invalid:42045:127.0.0.1 -L > log/8/stdout443 2> log/8/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 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-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 17:49:28.826256 ====> Client connect 17:49:28.826291 accept_connection 3 returned 4 17:49:28.826308 accept_connection 3 returned 0 17:49:28.826322 Read 93 bytes 17:49:28.826332 Process 93 bytes request 17:49:28.826344 Got request: GET /verifiedserver HTTP/1.1 17:49:28.826353 Are-we-friendly question received 17:49:28.826380 Wrote request (93 bytes) input to log/8/server.input 17:49:28.826396 Identifying ourselves as friends 17:49:28.826463 Response sent (56 bytes) and written to log/8/server.response 17:49:28.826474 special request received, no persistency 17:49:28.826482 ====> Client disconnect 0 === End of file http_server.log === Start of file 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/13/valgrind441 ../src/curl -q --include --trace-ascii log/13/trace441 --trace-time -x http://127.0.0.1:43845 http://this.hsts.example/441 --hsts log/13/input441 -w '%{url_effective}\n' > log/13/stdout441 2> log/13/stderr441 p_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind443 ==100878== ==100878== Process terminating with default action of signal 4 (SIGILL) ==100878== Illegal opcode at address 0x4014520 ==100878== at 0x4014520: getparameter (tool_getparam.c:2862) ==100878== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100878== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100878== by 0x4003728: main (tool_main.c:186) === End of file valgrind443 CMD (33792): ../libtool --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/valgrind442 ../src/curl -q --output log/15/curl442.out --include --trace-ascii log/15/trace442 --trace-time http://attack.invalid:41057/a/b/442 -b log/15/cookie442 --resolve attack.invalid:41057:127.0.0.1 -L > log/15/stdout442 2> log/15/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/13/valgrind441 ../src/curl -q --include --trace-ascii log/13/trace441 --trace-time -x http://127.0.0.1:43845 http://this.hsts.example/441 --hsts log/13/input441 -w '%{url_effective}\n' > log/13/stdout441 2> log/13/stderr441 441: stdout FAILED: --- log/13/check-expected 2026-01-28 17:49:30.146555435 +0000 +++ log/13/check-generated 2026-01-28 17:49:30.146555435 +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/13/ 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/13/valgrind441 ../src/curl -q --include --trace-ascii log/13/trace441 --trace-time -x http://127.0.0.1:43845 http://this.hsts.example/441 --hsts log/13/input441 -w '%{url_effective}\n' > log/13/stdout441 2> log/13/stderr441 === End of file commands.log === Start of file http_server.log 17:49:29.811920 ====> Client connect 17:49:29.811957 accept_connection 3 returned 4 17:49:29.811975 accept_connection 3 returned 0 17:49:29.811989 Read 93 bytes 17:49:29.811999 Process 93 bytes request 17:49:29.812012 Got request: GET /verifiedserver HTTP/1.1 17:49:29.812021 Are-we-friendly question received 17:49:29.812050 Wrote request (93 bytes) input to log/13/server.input 17:49:29.812068 Identifying ourselves as friends 17:49:29.812130 Response sent (56 bytes) and written to log/13/server.response 17:49:29.812140 special request received, no persistency 17:49:29.812149 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 53052 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind441 ==100825== ==100825== Process terminating with default action of signal 4 (SIGILL) ==100825== Illegal opcode at address 0x4014520 ==100825== at 0x4014520: getparameter (tool_getparam.c:2862) ==100825== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100825== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100825== by 0x4003728: main (tool_main.c:186) === End of file valgrind441 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/15/valgrind442 ../src/curl -q --output log/15/curl442.out --include --trace-ascii log/15/trace442 --trace-time http://attack.invalid:41057/a/b/442 -b log/15/cookie442 --resolve attack.invalid:41057:127.0.0.1 -L > log/15/stdout442 2> log/15/stderr442 442: 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 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/15/valgrind442 ../src/curl -q --output log/15/curl442.out --include --trace-ascii log/15/trace442 --trace-time http://attack.invalid:41057/a/b/442 -b log/15/cookie442 --resolve attack.invalid:41057:127.0.0.1 -L > log/15/stdout442 2> log/15/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 TRUCMD (33792): ../libtool --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/valgrind444 ../src/curl -q --output log/4/curl444.out --include --trace-ascii log/4/trace444 --trace-time http://attack.invalid:34411/a/b/444 -c log/4/cookie444 --resolve attack.invalid:34411:127.0.0.1 > log/4/stdout444 2> log/4/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/20/valgrind448 ../src/curl -q --output log/20/curl448.out --include --trace-ascii log/20/trace448 --trace-time http://127.0.0.1:46725/448 -K log/20/cmd > log/20/stdout448 2> log/20/stderr448 E / 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.invalid 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 17:49:28.815894 ====> Client connect 17:49:28.815926 accept_connection 3 returned 4 17:49:28.815942 accept_connection 3 returned 0 17:49:28.815956 Read 93 bytes 17:49:28.815965 Process 93 bytes request 17:49:28.815978 Got request: GET /verifiedserver HTTP/1.1 17:49:28.815987 Are-we-friendly question received 17:49:28.816040 Wrote request (93 bytes) input to log/15/server.input 17:49:28.816056 Identifying ourselves as friends 17:49:28.816112 Response sent (56 bytes) and written to log/15/server.response 17:49:28.816121 special request received, no persistency 17:49:28.816130 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 39434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind442 ==100887== ==100887== Process terminating with default action of signal 4 (SIGILL) ==100887== Illegal opcode at address 0x4014520 ==100887== at 0x4014520: getparameter (tool_getparam.c:2862) ==100887== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100887== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100887== by 0x4003728: main (tool_main.c:186) === End of file valgrind442 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/20/valgrind448 ../src/curl -q --output log/20/curl448.out --include --trace-ascii log/20/trace448 --trace-time http://127.0.0.1:46725/448 -K log/20/cmd > log/20/stdout448 2> log/20/stderr448 448: 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 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/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/14/valgrind449 ../src/curl -q --output log/14/curl449.out --include --trace-ascii log/14/trace449 --trace-time http://127.0.0.1:37569/449 -K log/14/cmd > log/14/stdout449 2> log/14/stderr449 lgrind.supp --num-callers=16 --log-file=log/20/valgrind448 ../src/curl -q --output log/20/curl448.out --include --trace-ascii log/20/trace448 --trace-time http://127.0.0.1:46725/448 -K log/20/cmd > log/20/stdout448 2> log/20/stderr448 === End of file commands.log === Start of file http_server.log 17:49:28.863651 ====> Client connect 17:49:28.863686 accept_connection 3 returned 4 17:49:28.863703 accept_connection 3 returned 0 17:49:28.863717 Read 93 bytes 17:49:28.863727 Process 93 bytes request 17:49:28.863740 Got request: GET /verifiedserver HTTP/1.1 17:49:28.863748 Are-we-friendly question received 17:49:28.863776 Wrote request (93 bytes) input to log/20/server.input 17:49:28.863793 Identifying ourselves as friends 17:49:28.863853 Response sent (56 bytes) and written to log/20/server.response 17:49:28.863864 special request received, no persistency 17:49:28.863873 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 36006 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind448 ==101008== ==101008== Process terminating with default action of signal 4 (SIGILL) ==101008== Illegal opcode at address 0x4014520 ==101008== at 0x4014520: getparameter (tool_getparam.c:2862) ==101008== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101008== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101008== by 0x4003728: main (tool_main.c:186) === End of file valgrind448 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/4/valgrind444 ../src/curl -q --output log/4/curl444.out --include --trace-ascii log/4/trace444 --trace-time http://attack.invalid:34411/a/b/444 -c log/4/cookie444 --resolve attack.invalid:34411:127.0.0.1 > log/4/stdout444 2> log/4/stderr444 444: 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 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/4/valgrind444 ../src/curl -q --output log/4/curl444.out --include --trace-ascii log/4/trace444 --trace-time http://attack.invalid:34411/a/b/444 -c log/4/cookie444 --resolve attack.invalid:34411:127.0.0.1 > log/4/stdout444 2> log/4/stderr444 === End of file commands.log === Start of file http_server.log 17:49:28.828191 ====> Client connect 17:49:28.828222 accept_connection 3 returned 4 17:49:28.828239 accept_connection 3 returned 0 17:49:28.828253 Read 93 bytes 17:49:28.828262 Process 93 bytes request 17:49:28.828273 Got request: GET /verifiedserver HTTP/1.1 17:49:28.828282 Are-we-friendly question received 17:49:28.828308 Wrote request (93 bytes) input to log/4/server.input 17:49:28.828326 Identifying ourselves as friends 17:49:28.828384 Response sent (56 bytes) and written to log/4/server.response 17:49:28.828394 special request received, no persistency 17:49:28.828403 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 33166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind444 ==100925== ==100925== Process terminating with default action of signal 4 (SIGILL) ==100925== Illegal opcode at address 0x4014520 ==100925== at 0x4014520: getparameter (tool_getparam.c:2862) ==100925== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==100925== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==100925== by 0x4003728: main (tool_main.c:186) === End of file valgrind444 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/14/valgrind449 ../src/curl -q --output log/14/curl449.out --include --trace-ascii log/14/trace449 --trace-time http://127.0.0.1:37569/449 -K log/14/cmd > log/14/stdout449 2> log/14/stderr449 449: 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 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/14/valgrind449 ../src/curl -q --output log/14/curl449.out --include --trace-ascii log/14/trace449 --trace-time http://127.0.0.1:37569/449 -K log/14/cmd > log/14/stdout449 2> log/14/stderr449 === End of file commands.log === Start of file http_server.log 17:49:30.142339 ====> Client connect 17:49:30.142372 accept_connection 3 returned 4 17:49:30.142388 accept_connection 3 returned 0 17:49:30.142403 Read 93 bytes 17:49:30.142412 Process 93 bytes request 17:49:30.142423 Got request: GET /verifiedserver HTTP/1.1 17:49:30.142431 Are-we-friendly question received 17:49:30.142450 Wrote request (93 bytes) input to log/14/server.input 17:49:30.142464 Identifying ourselves as friends 17:49:30.142508 Response sent (56 bytes) and written to log/14/server.response 17:49:30.142515 special request received, no persistency 17:49:30.142522 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43474 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind449 ==101203== ==101203== Process terminating with default action of signal 4 (SIGILL) ==101203== Illegal opcode at address 0x4014520 ==101203== at 0x4014520: getparameter (tool_getparam.c:2862) ==101203== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101203== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101203== by 0x4003728: main (tool_main.c:186) ===CMD (33792): ../libtool --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/valgrind452 ../src/curl -q --output log/12/curl452.out --include --trace-ascii log/12/trace452 --trace-time http://127.0.0.1:36641/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/12/stdout452 2> log/12/stderr452 CMD (33792): ../libtool --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/valgrind450 ../src/curl -q --output log/19/curl450.out --include --trace-ascii log/19/trace450 --trace-time http://127.0.0.1:36987/450 --variable what@log/19/junk --expand-data "{{what:trim:url}}" > log/19/stdout450 2> log/19/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/6/valgrind451 ../src/curl -q --output log/6/curl451.out --include --trace-ascii log/6/trace451 --trace-time http://127.0.0.1:42747/451 --variable what@log/6/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/6/stdout451 2> log/6/stderr451 End of file valgrind449 test 0452...[Variable using illegal function 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/12/valgrind452 ../src/curl -q --output log/12/curl452.out --include --trace-ascii log/12/trace452 --trace-time http://127.0.0.1:36641/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/12/stdout452 2> log/12/stderr452 curl returned 132, when expecting 2 452: exit FAILED == Contents of files in the log/12/ 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/12/valgrind452 ../src/curl -q --output log/12/curl452.out --include --trace-ascii log/12/trace452 --trace-time http://127.0.0.1:36641/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/12/stdout452 2> log/12/stderr452 === End of file commands.log === Start of file http_server.log 17:49:29.211834 ====> Client connect 17:49:29.211870 accept_connection 3 returned 4 17:49:29.211888 accept_connection 3 returned 0 17:49:29.211904 Read 93 bytes 17:49:29.211914 Process 93 bytes request 17:49:29.211927 Got request: GET /verifiedserver HTTP/1.1 17:49:29.211936 Are-we-friendly question received 17:49:29.211965 Wrote request (93 bytes) input to log/12/server.input 17:49:29.211983 Identifying ourselves as friends 17:49:29.212043 Response sent (56 bytes) and written to log/12/server.response 17:49:29.212053 special request received, no persistency 17:49:29.212062 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 32998 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind452 ==101371== ==101371== Process terminating with default action of signal 4 (SIGILL) ==101371== Illegal opcode at address 0x4014520 ==101371== at 0x4014520: getparameter (tool_getparam.c:2862) ==101371== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101371== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101371== by 0x4003728: main (tool_main.c:186) === End of file valgrind452 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/19/valgrind450 ../src/curl -q --output log/19/curl450.out --include --trace-ascii log/19/trace450 --trace-time http://127.0.0.1:36987/450 --variable what@log/19/junk --expand-data "{{what:trim:url}}" > log/19/stdout450 2> log/19/stderr450 450: 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 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/19/valgrind450 ../src/curl -q --output log/19/curl450.out --include --trace-ascii log/19/trace450 --trace-time http://127.0.0.1:36987/450 --variable what@log/19/junk --expand-data "{{what:trim:url}}" > log/19/stdout450 2> log/19/stderr450 === End of file commands.log === Start of file http_server.log 17:49:29.185569 ====> Client connect 17:49:29.185602 accept_connection 3 returned 4 17:49:29.185618 accept_connection 3 returned 0 17:49:29.185632 Read 93 bytes 17:49:29.185641 Process 93 bytes request 17:49:29.185654 Got request: GET /verifiedserver HTTP/1.1 17:49:29.185664 Are-we-friendly question received 17:49:29.185688 Wrote request (93 bytes) input to log/19/server.input 17:49:29.185704 Identifying ourselves as friends 17:49:29.185789 Response sent (56 bytes) and written to log/19/server.response 17:49:29.185799 special request received, no persistency 17:49:29.185807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 58664 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind450 ==101315== ==101315== Process terminating with default action of signal 4 (SIGILL) ==101315== Illegal opcode at address 0x4014520 ==101315== at 0x4014520: getparameter (tool_getparam.c:2862) ==101315== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101315== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101315== by 0x4003728: main (tool_main.c:186) === End of file valgrind450 test 0451...[Variable from file that is JSON and URL encoded (with null 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/6/valgrind451 ../src/curl -q --output log/6/curl451.out --include --trace-ascii log/6/trace451 --trace-time http://127.0.0.1:42747/451 --variable what@log/6/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/6/stdout451 2> log/6/stderr451 451: 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 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/6/valgrind451 ../src/curl -q --output log/6/curl451.out --include --trace-ascii log/6/trace451 --trace-time http://127.0.0.1:42747/451 --variable what@log/6/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/6/stdout451 2> log/6/stderr451 === End of file commands.log === Start of file http_server.log 17:49:29.211442 ====> Client connect 17:49:29.211476 accept_connection 3 returned 4 17:49:29.211492 accept_connection 3 returned 0 17:49:29.211509 Read 93 bytes 17:49:29.211518 Process 93 bytes request 17:49:29.211532 Got request: GET /verifiedserver HTTP/1.1 17:49:29.211541 Are-we-friendly question received 17:49:29.211567 Wrote request (93 bytes) input to log/6/server.input 17:49:29.211583 Identifying ourselves as friends 17:49:29.211661 Response sent (56 bytes) and written to log/6/server.response 17:49:29.211672 special request received, no persistency 17:49:29.211681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 33030 * using HTTP/CMD (33792): ../libtool --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/valgrind456 ../src/curl -q --output log/3/curl456.out --include --trace-ascii log/3/trace456 --trace-time http://127.0.0.1:45927/456 --variable what@log/3/junk --expand-data "{{what}}" > log/3/stdout456 2> log/3/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/16/valgrind454 ../src/curl -q --output log/16/curl454.out --include --trace-ascii log/16/trace454 --trace-time http://127.0.0.1:40899/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/16/stdout454 2> log/16/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/22/valgrind453 ../src/curl -q --output log/22/curl453.out --include --trace-ascii log/22/trace453 --trace-time http://127.0.0.1:42933/453 --variable what@log/22/junk --expand-data "{{what}}" > log/22/stdout453 2> log/22/stderr453 1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind451 ==101398== ==101398== Process terminating with default action of signal 4 (SIGILL) ==101398== Illegal opcode at address 0x4014520 ==101398== at 0x4014520: getparameter (tool_getparam.c:2862) ==101398== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101398== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101398== by 0x4003728: main (tool_main.c:186) === End of file valgrind451 test 0456...[Variable output starting with null 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/valgrind456 ../src/curl -q --output log/3/curl456.out --include --trace-ascii log/3/trace456 --trace-time http://127.0.0.1:45927/456 --variable what@log/3/junk --expand-data "{{what}}" > log/3/stdout456 2> log/3/stderr456 curl returned 132, when expecting 2 456: exit FAILED == Contents of files in the log/3/ 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/3/valgrind456 ../src/curl -q --output log/3/curl456.out --include --trace-ascii log/3/trace456 --trace-time http://127.0.0.1:45927/456 --variable what@log/3/junk --expand-data "{{what}}" > log/3/stdout456 2> log/3/stderr456 === End of file commands.log === Start of file http_server.log 17:49:29.245692 ====> Client connect 17:49:29.245725 accept_connection 3 returned 4 17:49:29.245743 accept_connection 3 returned 0 17:49:29.245756 Read 93 bytes 17:49:29.245766 Process 93 bytes request 17:49:29.245778 Got request: GET /verifiedserver HTTP/1.1 17:49:29.245787 Are-we-friendly question received 17:49:29.245814 Wrote request (93 bytes) input to log/3/server.input 17:49:29.245831 Identifying ourselves as friends 17:49:29.245888 Response sent (56 bytes) and written to log/3/server.response 17:49:29.245897 special request received, no persistency 17:49:29.245906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 47452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind456 ==101555== ==101555== Process terminating with default action of signal 4 (SIGILL) ==101555== Illegal opcode at address 0x4014520 ==101555== at 0x4014520: getparameter (tool_getparam.c:2862) ==101555== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101555== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101555== by 0x4003728: main (tool_main.c:186) === End of file valgrind456 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/16/valgrind454 ../src/curl -q --output log/16/curl454.out --include --trace-ascii log/16/trace454 --trace-time http://127.0.0.1:40899/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/16/stdout454 2> log/16/stderr454 curl returned 132, when expecting 2 454: exit FAILED == Contents of files in the log/16/ 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/16/valgrind454 ../src/curl -q --output log/16/curl454.out --include --trace-ascii log/16/trace454 --trace-time http://127.0.0.1:40899/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/16/stdout454 2> log/16/stderr454 === End of file commands.log === Start of file http_server.log 17:49:29.227295 ====> Client connect 17:49:29.227325 accept_connection 3 returned 4 17:49:29.227340 accept_connection 3 returned 0 17:49:29.227354 Read 93 bytes 17:49:29.227364 Process 93 bytes request 17:49:29.227377 Got request: GET /verifiedserver HTTP/1.1 17:49:29.227386 Are-we-friendly question received 17:49:29.227415 Wrote request (93 bytes) input to log/16/server.input 17:49:29.227431 Identifying ourselves as friends 17:49:29.227485 Response sent (56 bytes) and written to log/16/server.response 17:49:29.227495 special request received, no persistency 17:49:29.227504 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 46174 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind454 ==101431== ==101431== Process terminating with default action of signal 4 (SIGILL) ==101431== Illegal opcode at address 0x4014520 ==101431== at 0x4014520: getparameter (tool_getparam.c:2862) ==101431== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101431== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101431== by 0x4003728: main (tool_main.c:186) === End of file valgrind454 test 0453...[Variable output containing null 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/22/valgrind453 ../src/curl -q --output log/22/curl453.out --include --trace-ascii log/22/trace453 --trace-time http://127.0.0.1:42933/453 --variable what@log/22/junk --expand-data "{{what}}" > log/22/stdout453 2> log/22/stderr453 curl returned 132, when expecting 2 453: exit FAILED == Contents of files in the log/22/ 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/22/valgrind453 ../src/curl -q --output log/22/curl453.out --include --trace-ascii log/22/trace453 --trace-time http://127.0.0.1:42933/453 --variable what@log/22/junk --expand-data "{{what}}" > log/22/stdout453 2> log/22/stderr453 === End of file commands.log === Start of file http_server.log 17:49:29.227309 ====> Client connect 17:49:29.227342 accept_connection 3 returned 4 17:49:29.227359 accept_connection 3 returned 0 17:49:29.227372 Read 93 bytes 17:49:29.227381 Process 93 bytes request 17:49:29.227391 CMD (33792): ../libtool --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/valgrind455 ../src/curl -q --output log/5/curl455.out --include --trace-ascii log/5/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:46875/{{moby:b64}}/{{what:64dec}}/455" > log/5/stdout455 2> log/5/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/10/valgrind457 ../src/curl -q --output log/10/curl457.out --include --trace-ascii log/10/trace457 --trace-time http://127.0.0.1:32889/457 --max-filesize 143 > log/10/stdout457 2> log/10/stderr457 CMD (33792): ../libtool --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/valgrind458 ../src/curl -q --include --trace-ascii log/2/trace458 --trace-time http://127.0.0.1:38779/458 -K log/2/cmd > log/2/stdout458 2> log/2/stderr458 Got request: GET /verifiedserver HTTP/1.1 17:49:29.227400 Are-we-friendly question received 17:49:29.227429 Wrote request (93 bytes) input to log/22/server.input 17:49:29.227446 Identifying ourselves as friends 17:49:29.227509 Response sent (56 bytes) and written to log/22/server.response 17:49:29.227519 special request received, no persistency 17:49:29.227528 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 38402 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind453 ==101448== ==101448== Process terminating with default action of signal 4 (SIGILL) ==101448== Illegal opcode at address 0x4014520 ==101448== at 0x4014520: getparameter (tool_getparam.c:2862) ==101448== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101448== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101448== by 0x4003728: main (tool_main.c:186) === End of file valgrind453 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/5/valgrind455 ../src/curl -q --output log/5/curl455.out --include --trace-ascii log/5/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:46875/{{moby:b64}}/{{what:64dec}}/455" > log/5/stdout455 2> log/5/stderr455 455: 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 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/5/valgrind455 ../src/curl -q --output log/5/curl455.out --include --trace-ascii log/5/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:46875/{{moby:b64}}/{{what:64dec}}/455" > log/5/stdout455 2> log/5/stderr455 === End of file commands.log === Start of file http_server.log 17:49:29.234625 ====> Client connect 17:49:29.234659 accept_connection 3 returned 4 17:49:29.234675 accept_connection 3 returned 0 17:49:29.234690 Read 93 bytes 17:49:29.234700 Process 93 bytes request 17:49:29.234713 Got request: GET /verifiedserver HTTP/1.1 17:49:29.234722 Are-we-friendly question received 17:49:29.234748 Wrote request (93 bytes) input to log/5/server.input 17:49:29.234765 Identifying ourselves as friends 17:49:29.234821 Response sent (56 bytes) and written to log/5/server.response 17:49:29.234830 special request received, no persistency 17:49:29.234839 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 40554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind455 ==101490== ==101490== Process terminating with default action of signal 4 (SIGILL) ==101490== Illegal opcode at address 0x4014520 ==101490== at 0x4014520: getparameter (tool_getparam.c:2862) ==101490== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101490== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101490== by 0x4003728: main (tool_main.c:186) === End of file valgrind455 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/10/valgrind457 ../src/curl -q --output log/10/curl457.out --include --trace-ascii log/10/trace457 --trace-time http://127.0.0.1:32889/457 --max-filesize 143 > log/10/stdout457 2> log/10/stderr457 457: 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 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/10/valgrind457 ../src/curl -q --output log/10/curl457.out --include --trace-ascii log/10/trace457 --trace-time http://127.0.0.1:32889/457 --max-filesize 143 > log/10/stdout457 2> log/10/stderr457 === End of file commands.log === Start of file http_server.log 17:49:29.242877 ====> Client connect 17:49:29.242909 accept_connection 3 returned 4 17:49:29.242925 accept_connection 3 returned 0 17:49:29.242940 Read 93 bytes 17:49:29.242950 Process 93 bytes request 17:49:29.242963 Got request: GET /verifiedserver HTTP/1.1 17:49:29.242972 Are-we-friendly question received 17:49:29.243002 Wrote request (93 bytes) input to log/10/server.input 17:49:29.243020 Identifying ourselves as friends 17:49:29.243081 Response sent (56 bytes) and written to log/10/server.response 17:49:29.243092 special request received, no persistency 17:49:29.243101 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 49666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind457 ==101532== ==101532== Process terminating with default action of signal 4 (SIGILL) ==101532== Illegal opcode at address 0x4014520 ==101532== at 0x4014520: getparameter (tool_getparam.c:2862) ==101532== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101532== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101532== by 0x4003728: main (tool_main.c:186) === End of file valgrind457 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/2/valgrind458 ../src/curl -q --include --trace-ascii log/2/trace458 --trace-time http://127.0.0.1:38779/458 -K log/2/cmd > log/2/stdout458 2> log/2/stderr458 458: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failurCMD (33792): ../libtool --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/valgrind460 ../src/curl -q --output log/21/curl460.out --include --trace-ascii log/21/trace460 --trace-time --expand-url > log/21/stdout460 2> log/21/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/1/valgrind461 ../src/curl -q --output log/1/curl461.out --include --trace-ascii log/1/trace461 --trace-time http://127.0.0.1:39589/461 -H host: > log/1/stdout461 2> log/1/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/18/valgrind459 ../src/curl -q --output log/18/curl459.out --include --trace-ascii log/18/trace459 --trace-time http://127.0.0.1:34067/459 --config log/18/config --silent > log/18/stdout459 2> log/18/stderr459 e? Returned: 132 == Contents of files in the log/2/ directory after test 458 === Start of file cmd --variable %FUNVALUE --expand-output log/2/{{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/2/valgrind458 ../src/curl -q --include --trace-ascii log/2/trace458 --trace-time http://127.0.0.1:38779/458 -K log/2/cmd > log/2/stdout458 2> log/2/stderr458 === End of file commands.log === Start of file http_server.log 17:49:29.505776 ====> Client connect 17:49:29.505806 accept_connection 3 returned 4 17:49:29.505822 accept_connection 3 returned 0 17:49:29.505836 Read 93 bytes 17:49:29.505846 Process 93 bytes request 17:49:29.505858 Got request: GET /verifiedserver HTTP/1.1 17:49:29.505867 Are-we-friendly question received 17:49:29.505893 Wrote request (93 bytes) input to log/2/server.input 17:49:29.505909 Identifying ourselves as friends 17:49:29.505967 Response sent (56 bytes) and written to log/2/server.response 17:49:29.505977 special request received, no persistency 17:49:29.505985 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 36670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind458 ==101871== ==101871== Process terminating with default action of signal 4 (SIGILL) ==101871== Illegal opcode at address 0x4014520 ==101871== at 0x4014520: getparameter (tool_getparam.c:2862) ==101871== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101871== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101871== by 0x4003728: main (tool_main.c:186) === End of file valgrind458 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/21/valgrind460 ../src/curl -q --output log/21/curl460.out --include --trace-ascii log/21/trace460 --trace-time --expand-url > log/21/stdout460 2> log/21/stderr460 curl returned 132, when expecting 2 460: exit FAILED == Contents of files in the log/21/ 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/21/valgrind460 ../src/curl -q --output log/21/curl460.out --include --trace-ascii log/21/trace460 --trace-time --expand-url > log/21/stdout460 2> log/21/stderr460 === End of file commands.log === Start of file server.cmd Testnum 460 === End of file server.cmd === Start of file valgrind460 ==101847== ==101847== Process terminating with default action of signal 4 (SIGILL) ==101847== Illegal opcode at address 0x4014520 ==101847== at 0x4014520: getparameter (tool_getparam.c:2862) ==101847== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101847== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101847== by 0x4003728: main (tool_main.c:186) === End of file valgrind460 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/1/valgrind461 ../src/curl -q --output log/1/curl461.out --include --trace-ascii log/1/trace461 --trace-time http://127.0.0.1:39589/461 -H host: > log/1/stdout461 2> log/1/stderr461 461: 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 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/1/valgrind461 ../src/curl -q --output log/1/curl461.out --include --trace-ascii log/1/trace461 --trace-time http://127.0.0.1:39589/461 -H host: > log/1/stdout461 2> log/1/stderr461 === End of file commands.log === Start of file http_server.log 17:49:29.523069 ====> Client connect 17:49:29.523112 accept_connection 3 returned 4 17:49:29.523130 accept_connection 3 returned 0 17:49:29.523145 Read 93 bytes 17:49:29.523155 Process 93 bytes request 17:49:29.523170 Got request: GET /verifiedserver HTTP/1.1 17:49:29.523179 Are-we-friendly question received 17:49:29.523206 Wrote request (93 bytes) input to log/1/server.input 17:49:29.523222 Identifying ourselves as friends 17:49:29.523279 Response sent (56 bytes) and written to log/1/server.response 17:49:29.523289 special request received, no persistency 17:49:29.523297 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind461 ==101908== ==101908== Process terminating with default action of signal 4 (SIGILL) ==101908== Illegal opcode at address 0x4014520 ==101908== at 0x4014520: getparameter (tool_getparam.c:2862) ==101908== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101908== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101908== by 0x4003728: main (tool_main.c:186) === End of file valgrind461 CMD (33792): ../libtool --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/valgrind462 ../src/curl -q --output log/17/curl462.out --include --trace-ascii log/17/trace462 --trace-time http://127.0.0.1:44593/462 -K log/17/cmd > log/17/stdout462 2> log/17/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/24/valgrind463 ../src/curl -q --output log/24/curl463.out --include --trace-ascii log/24/trace463 --trace-time -d @log/24/input463 http://127.0.0.1:39649/463 > log/24/stdout463 2> log/24/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/11/valgrind467 ../src/curl -q --output log/11/curl467.out --include --trace-ascii log/11/trace467 --trace-time curl -v http://example.com > log/11/stdout467 2> log/11/stderr467 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:34067/459 --config log/18/config --silent > log/18/stdout459 2> log/18/stderr459 459: stderr FAILED: --- log/18/check-expected 2026-01-28 17:49:30.836555435 +0000 +++ log/18/check-generated 2026-01-28 17:49:30.836555435 +0000 @@ -1,2 +0,0 @@ -Warning: log/18/config:1: warning: 'data' uses unquoted whitespace. This may [CR][LF] -Warning: cause side-effects. Consider double quotes.[CR][LF] == Contents of files in the log/18/ directory after test 459 === Start of file check-expected Warning: log/18/config:1: warning: 'data' uses unquoted whitespace. This may [CR][LF] Warning: cause side-effects. Consider double quotes.[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/valgrind459 ../src/curl -q --output log/18/curl459.out --include --trace-ascii log/18/trace459 --trace-time http://127.0.0.1:34067/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 17:49:29.513216 ====> Client connect 17:49:29.513252 accept_connection 3 returned 4 17:49:29.513271 accept_connection 3 returned 0 17:49:29.513286 Read 93 bytes 17:49:29.513297 Process 93 bytes request 17:49:29.513311 Got request: GET /verifiedserver HTTP/1.1 17:49:29.513321 Are-we-friendly question received 17:49:29.513349 Wrote request (93 bytes) input to log/18/server.input 17:49:29.513367 Identifying ourselves as friends 17:49:29.514542 Response sent (56 bytes) and written to log/18/server.response 17:49:29.514561 special request received, no persistency 17:49:29.514570 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 55454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind459 ==101902== ==101902== Process terminating with default action of signal 4 (SIGILL) ==101902== Illegal opcode at address 0x4014520 ==101902== at 0x4014520: getparameter (tool_getparam.c:2862) ==101902== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==101902== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==101902== by 0x4003728: main (tool_main.c:186) === End of file valgrind459 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/17/valgrind462 ../src/curl -q --output log/17/curl462.out --include --trace-ascii log/17/trace462 --trace-time http://127.0.0.1:44593/462 -K log/17/cmd > log/17/stdout462 2> log/17/stderr462 curl returned 132, when expecting 2 462: exit FAILED == Contents of files in the log/17/ 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/17/valgrind462 ../src/curl -q --output log/17/curl462.out --include --trace-ascii log/17/trace462 --trace-time http://127.0.0.1:44593/462 -K log/17/cmd > log/17/stdout462 2> log/17/stderr462 === End of file commands.log === Start of file server.cmd Testnum 462 === End of file server.cmd === Start of file valgrind462 ==102006== ==102006== Process terminating with default action of signal 4 (SIGILL) ==102006== Illegal opcode at address 0x4014520 ==102006== at 0x4014520: getparameter (tool_getparam.c:2862) ==102006== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102006== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102006== by 0x4003728: main (tool_main.c:186) === End of file valgrind462 test 0463...[HTTP with -d @file with file containing CR, LF and null 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/24/valgrind463 ../src/curl -q --output log/24/curl463.out --include --trace-ascii log/24/trace463 --trace-time -d @log/24/input463 http://127.0.0.1:39649/463 > log/24/stdout463 2> log/24/stderr463 463: 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 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/24/valgrind463 ../src/curl -q --output log/24/curl463.out --include --trace-ascii log/24/trace463 --trace-time -d @log/24/input463 http://127.0.0.1:39649/463 > log/24/stdout463 2> log/24/stderr463 === End of file commands.log === Start of file http_server.log 17:49:29.760792 ====> Client connect 17:49:29.760828 accept_connection 3 returned 4 17:49:29.760844 accept_connection 3 returned 0 17:49:29.760859 Read 93 bytes 17:49:29.760869 Process 93 bytes request 17:49:29.760881 Got request: GET /verifiedserver HTTP/1.1 17:49:29.760890 Are-we-friendly question received 17:49:29.760916 Wrote request (93 bytes) input to log/24/server.input 17:49:29.760933 Identifying ourselves as friends 17:49:29.760988 Response sent (56 bytes) and written to log/24/server.response 17:49:29.760998 special request received, no persistency 17:49:29.761007 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 60184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind463 ==102152== ==102152== Process terminating with default action of signal 4 (SIGILL) ==102152== Illegal opcode at address 0x4014520 ==102152== at 0x4014520: getparameter (tool_getparam.c:2862) ==102152== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102152== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102152== by 0x4003728: main (tool_main.c:186) === End of file valgrind463 test 0467...[use a bad short option letter that does not exist (after one does exist)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/CMD (33792): ../libtool --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/valgrind468 ../src/curl -q --trace-ascii log/9/trace468 --trace-time http://127.0.0.1:37413/468 -K log/9/cmd468 -w "" > log/9/stdout468 2> log/9/stderr468 curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind467 ../src/curl -q --output log/11/curl467.out --include --trace-ascii log/11/trace467 --trace-time curl -v http://example.com > log/11/stdout467 2> log/11/stderr467 curl returned 132, when expecting 2 467: exit FAILED == Contents of files in the log/11/ 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/11/valgrind467 ../src/curl -q --output log/11/curl467.out --include --trace-ascii log/11/trace467 --trace-time curl -v http://example.com > log/11/stdout467 2> log/11/stderr467 === End of file commands.log === Start of file server.cmd Testnum 467 === End of file server.cmd === Start of file valgrind467 ==102207== ==102207== Process terminating with default action of signal 4 (SIGILL) ==102207== Illegal opcode at address 0x4014520 ==102207== at 0x4014520: getparameter (tool_getparam.c:2862) ==102207== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102207== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102207== by 0x4003728: main (tool_main.c:186) === 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/8/valgrind471 ../src/curl -q --include --trace-ascii log/8/trace471 --trace-time "http://127.0.0.1:42045/{471,4710001}" -o "log/8/dumpit#1.dump" > log/8/stdout471 2> log/8/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/7/valgrind470 ../src/curl -q --output log/7/curl470.out --include --trace-ascii log/7/trace470 --trace-time 127.0.0.1:35671 --no-progress-meter -K "log/7/input470" > log/7/stdout470 2> log/7/stderr470 CMD (33792): ../libtool --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/valgrind469 ../src/curl -q --output log/23/curl469.out --include --trace-ascii log/23/trace469 --trace-time -H “host: 127.0.0.1:39173/“ -s > log/23/stdout469 2> log/23/stderr469 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/9/valgrind468 ../src/curl -q --trace-ascii log/9/trace468 --trace-time http://127.0.0.1:37413/468 -K log/9/cmd468 -w "" > log/9/stdout468 2> log/9/stderr468 468: stdout FAILED: --- log/9/check-expected 2026-01-28 17:49:31.146555435 +0000 +++ log/9/check-generated 2026-01-28 17:49:31.146555435 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/9/ 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/9/valgrind468 ../src/curl -q --trace-ascii log/9/trace468 --trace-time http://127.0.0.1:37413/468 -K log/9/cmd468 -w "" > log/9/stdout468 2> log/9/stderr468 === End of file commands.log === Start of file http_server.log 17:49:29.904233 ====> Client connect 17:49:29.904269 accept_connection 3 returned 4 17:49:29.904286 accept_connection 3 returned 0 17:49:29.904300 Read 93 bytes 17:49:29.904310 Process 93 bytes request 17:49:29.904324 Got request: GET /verifiedserver HTTP/1.1 17:49:29.904333 Are-we-friendly question received 17:49:29.904361 Wrote request (93 bytes) input to log/9/server.input 17:49:29.904379 Identifying ourselves as friends 17:49:29.904440 Response sent (56 bytes) and written to log/9/server.response 17:49:29.904450 special request received, no persistency 17:49:29.904459 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 56450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind468 ==102261== ==102261== Process terminating with default action of signal 4 (SIGILL) ==102261== Illegal opcode at address 0x4014520 ==102261== at 0x4014520: getparameter (tool_getparam.c:2862) ==102261== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102261== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102261== by 0x4003728: main (tool_main.c:186) === End of file valgrind468 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/8/valgrind471 ../src/curl -q --include --trace-ascii log/8/trace471 --trace-time "http://127.0.0.1:42045/{471,4710001}" -o "log/8/dumpit#1.dump" > log/8/stdout471 2> log/8/stderr471 471: 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 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/8/valgrind471 ../src/curl -q --include --trace-ascii log/8/trace471 --trace-time "http://127.0.0.1:42045/{471,4710001}" -o "log/8/dumpit#1.dump" > log/8/stdout471 2> log/8/stderr471 === End of file commands.log === Start of file http_server.log 17:49:29.955516 ====> Client connect 17:49:29.955554 accept_connection 3 returned 4 17:49:29.955571 accept_connection 3 returned 0 17:49:29.955586 Read 93 bytes 17:49:29.955596 Process 93 bytes request 17:49:29.955609 Got request: GET /verifiedserver HTTP/1.1 17:49:29.955619 Are-we-friendly question received 17:49:29.955650 Wrote request (93 bytes) input to log/8/server.input 17:49:29.955669 Identifying ourselves as friends 17:49:29.955731 Response sent (56 bytes) and written to log/8/server.response 17:49:29.955742 special request received, no persistency 17:49:29.955751 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56466 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind471 ==102392== ==102392== Process terminating with default action of signal 4 (SIGILL) ==102392== Illegal opcode at address 0x4014520 ==102392== at 0x4014520: getparameter (tool_getparam.c:2862) ==102392== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102392== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102392== by 0x4003728: main (tool_main.c:186) === End of file valgrind471 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/7/valgrind470 ../src/curl -q --output log/7/curl470.out --include --trace-ascii log/7/trace470 --trace-time 127.0.0.1:35671 --no-progress-meter -K "log/7/input470" > log/7/stdout470 2> log/7/stderr470 470: stderr FAILED: --- log/7/check-expected 2026-01-28 17:49:31.253222102 +0000 +++ log/7/check-generated 2026-01-28 17:49:31.253222102 +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/7/ 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/7/valgrind470 ../src/curl -q --output log/7/curl470.out --include --trace-ascii log/7/trace470 --trace-time 127.0.0.1:35671 --no-progress-meter -K "log/7/input470" > log/7/stdout470 2> log/7/stderr470 === End of file commands.log === Start of file http_server.log 17:49:29.954814 ====> Client connect 17:49:29.954845 accept_connection 3 returned 4 17:49:29.954861 accept_connection 3 returned 0 17:49:29.954875 Read 93 bytes 17:49:29.954884 Process 93 bytes request 17:49:29.954897 Got request: GET /verifiedserver HTTP/1.1 17:49:29.954906 Are-we-friendly question received 17:49:29.954930 Wrote request (93 bytes) input to log/7/server.input 17:49:29.954946 Identifying ourselves as friends 17:49:29.955000 Response sent (56 bytes) and written to log/7/server.response 17:49:29.955010 special request received, no persistency 17:49:29.955020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 58032 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind470 ==102385== ==102385== Process terminating with default action of signal 4 (SIGILL) ==102385== Illegal opcode at address 0x4014520 ==102385== at 0x4014520: getparameter (tool_getparam.c:2862) ==102385== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102385== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102385== by 0x4003728: main (tool_main.c:186) === 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/13/valgrind473 ../src/curl -q --output log/13/curl473.out --include --trace-ascii log/13/trace473 --trace-time http://127.0.0.1:43845/473 --etag-save log/13/etag473 > log/13/stdout473 2> log/13/stderr473 CMD (33792): ../libtool --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/valgrind477 ../src/curl -q --output log/15/curl477.out --include --trace-ascii log/15/trace477 --trace-time http://127.0.0.1:41057/477 --max-filesize 5 -L > log/15/stdout477 2> log/15/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/23/valgrind469 ../src/curl -q --output log/23/curl469.out --include --trace-ascii log/23/trace469 --trace-time -H “host: 127.0.0.1:39173/“ -s > log/23/stdout469 2> log/23/stderr469 469: stderr FAILED: --- log/23/check-expected 2026-01-28 17:49:31.259888769 +0000 +++ log/23/check-generated 2026-01-28 17:49:31.259888769 +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/23/ 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/23/valgrind469 ../src/curl -q --output log/23/curl469.out --include --trace-ascii log/23/trace469 --trace-time -H “host: 127.0.0.1:39173/“ -s > log/23/stdout469 2> log/23/stderr469 === End of file commands.log === Start of file http_server.log 17:49:30.931197 ====> Client connect 17:49:30.931237 accept_connection 3 returned 4 17:49:30.931253 accept_connection 3 returned 0 17:49:30.931267 Read 93 bytes 17:49:30.931276 Process 93 bytes request 17:49:30.931289 Got request: GET /verifiedserver HTTP/1.1 17:49:30.931299 Are-we-friendly question received 17:49:30.931330 Wrote request (93 bytes) input to log/23/server.input 17:49:30.931347 Identifying ourselves as friends 17:49:30.931411 Response sent (56 bytes) and written to log/23/server.response 17:49:30.931421 special request received, no persistency 17:49:30.931430 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 58256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind469 ==102349== ==102349== Process terminating with default action of signal 4 (SIGILL) ==102349== Illegal opcode at address 0x4014520 ==102349== at 0x4014520: getparameter (tool_getparam.c:2862) ==102349== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102349== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102349== by 0x4003728: main (tool_main.c:186) === End of file valgrind469 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/13/valgrind473 ../src/curl -q --output log/13/curl473.out --include --trace-ascii log/13/trace473 --trace-time http://127.0.0.1:43845/473 --etag-save log/13/etag473 > log/13/stdout473 2> log/13/stderr473 473: 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 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/13/valgrind473 ../src/curl -q --output log/13/curl473.out --include --trace-ascii log/13/trace473 --trace-time http://127.0.0.1:43845/473 --etag-save log/13/etag473 > log/13/stdout473 2> log/13/stderr473 === End of file commands.log === Start of file http_server.log 17:49:31.045430 ====> Client connect 17:49:31.045466 accept_connection 3 returned 4 17:49:31.045484 accept_connection 3 returned 0 17:49:31.045498 Read 93 bytes 17:49:31.045508 Process 93 bytes request 17:49:31.045521 Got request: GET /verifiedserver HTTP/1.1 17:49:31.045531 Are-we-friendly question received 17:49:31.045561 Wrote request (93 bytes) input to log/13/server.input 17:49:31.045580 Identifying ourselves as friends 17:49:31.045648 Response sent (56 bytes) and written to log/13/server.response 17:49:31.045659 special request received, no persistency 17:49:31.045668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 53062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind473 ==102595== ==102595== Process terminating with default action of signal 4 (SIGILL) ==102595== Illegal opcode at address 0x4014520 ==102595== at 0x4014520: getparameter (tool_getparam.c:2862) ==102595== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102595== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102595== by 0x4003728: main (tool_main.c:186) === End of file valgrind473 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/15/valgrind477 ../src/curl -q --output log/15/curl477.out --include --trace-ascii log/15/trace477 --trace-time http://127.0.0.1:41057/477 --max-filesize 5 -L > log/15/stdout477 2> log/15/stderr477 477: 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 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/15/valgrind477 ../src/curl -q --output log/15/curl477.out --include --trace-ascii log/15/trace477 --trace-time http://127.0.0.1:41057/477 --max-filesize 5 -L > log/15/stdout477 2> log/15/stderr477 === End of file commands.log === Start of file http_server.log 17:49:30.074929 ====> Client connect 17:49:30.074972 accept_connection 3 returned 4 17:49:30.074992 accept_connection 3 returned 0 17:49:30.075009 Read 93 bytes 17:49:30.075020 Process 93 bytes request 17:49:30.075034 Got request: GET /verifiedserver HTTP/1.1 17:49:30.075043 Are-we-friendly question received 17:49:30.075071 Wrote request (93 bytes) input to log/15/server.input 17:49:30.075089 Identifying ourselves as friends 17:49:30.075167 Response sent (56 bytes) and written to log/15/server.response 17:49:30.075177 special request received, no persistency 17:49:30.075186 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 39450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request CMD (33792): ../libtool --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/valgrind476 ../src/curl -q --output log/4/curl476.out --include --trace-ascii log/4/trace476 --trace-time "ftp://127.0.0.1:40307/476;type=a" -T log/4/test476.txt > log/4/stdout476 2> log/4/stderr476 completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind477 ==102648== ==102648== Process terminating with default action of signal 4 (SIGILL) ==102648== Illegal opcode at address 0x4014520 ==102648== at 0x4014520: getparameter (tool_getparam.c:2862) ==102648== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102648== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102648== by 0x4003728: main (tool_main.c:186) === End of file valgrind477 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/4/valgrind476 ../src/curl -q --output log/4/curl476.out --include --trace-ascii log/4/trace476 --trace-time "ftp://127.0.0.1:40307/476;type=a" -T log/4/test476.txt > log/4/stdout476 2> log/4/stderr476 476: 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 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/4/valgrind476 ../src/curl -q --output log/4/curl476.out --include --trace-ascii log/4/trace476 --trace-time "ftp://127.0.0.1:40307/476;type=a" -T log/4/test476.txt > log/4/stdout476 2> log/4/stderr476 === End of file commands.log === Start of file ftp_server.log 17:49:30.195010 ====> Client connect 17:49:30.195211 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:30.195529 < "USER anonymous" 17:49:30.195575 > "331 We are happy you popped in![CR][LF]" 17:49:30.196907 < "PASS ftp@example.com" 17:49:30.196939 > "230 Welcome you silly person[CR][LF]" 17:49:30.197108 < "PWD" 17:49:30.197143 > "257 "/" is current directory[CR][LF]" 17:49:30.197321 < "EPSV" 17:49:30.197350 ====> Passive DATA channel requested by client 17:49:30.197366 DATA sockfilt for passive data channel starting... 17:49:30.203571 DATA sockfilt for passive data channel started (pid 102585) 17:49:30.203706 DATA sockfilt for passive data channel listens on port 36013 17:49:30.203758 > "229 Entering Passive Mode (|||36013|)[CR][LF]" 17:49:30.203781 Client has been notified that DATA conn will be accepted on port 36013 17:49:30.204025 Client connects to port 36013 17:49:30.204056 ====> Client established passive DATA connection on port 36013 17:49:30.204152 < "TYPE I" 17:49:30.204187 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:30.204363 < "SIZE verifiedserver" 17:49:30.204409 > "213 17[CR][LF]" 17:49:30.204578 < "RETR verifiedserver" 17:49:30.204619 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:30.204713 =====> Closing passive DATA connection... 17:49:30.204735 Server disconnects passive DATA connection 17:49:30.205087 Server disconnected passive DATA connection 17:49:30.205116 DATA sockfilt for passive data channel quits (pid 102585) 17:49:30.205448 DATA sockfilt for passive data channel quit (pid 102585) 17:49:30.205477 =====> Closed passive DATA connection 17:49:30.205510 > "226 File transfer complete[CR][LF]" 17:49:30.246984 < "QUIT" 17:49:30.247040 > "221 bye bye baby[CR][LF]" 17:49:30.248230 MAIN sockfilt said DISC 17:49:30.248285 ====> Client disconnected 17:49:30.248369 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:30.041069 ====> Client connect 17:49:30.041418 Received DATA (on stdin) 17:49:30.041434 > 146 bytes data, server => client 17:49:30.041446 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:30.041457 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:30.041467 '220 \___|\___/|_| \_\_____|\r\n' 17:49:30.041554 < 16 bytes data, client => server 17:49:30.041568 'USER anonymous\r\n' 17:49:30.041769 Received DATA (on stdin) 17:49:30.041781 > 33 bytes data, server => client 17:49:30.041792 '331 We are happy you popped in!\r\n' 17:49:30.042983 < 22 bytes data, client => server 17:49:30.043001 'PASS ftp@example.com\r\n' 17:49:30.043130 Received DATA (on stdin) 17:49:30.043142 > 30 bytes data, server => client 17:49:30.043153 '230 Welcome you silly person\r\n' 17:49:30.043206 < 5 bytes data, client => server 17:49:30.043217 'PWD\r\n' 17:49:30.043332 Received DATA (on stdin) 17:49:30.043344 > 30 bytes data, server => client 17:49:30.043355 '257 "/" is current directory\r\n' 17:49:30.043417 < 6 bytes data, client => server 17:49:30.043430 'EPSV\r\n' 17:49:30.049979 Received DATA (on stdin) 17:49:30.049995 > 39 bytes data, server => client 17:49:30.050006 '229 Entering Passive Mode (|||36013|)\r\n' 17:49:30.050127 < 8 bytes data, client => server 17:49:30.050143 'TYPE I\r\n' 17:49:30.050380 Received DATA (on stdin) 17:49:30.050392 > 33 bytes data, server => client 17:49:30.050403 '200 I modify TYPE as you wanted\r\n' 17:49:30.050458 < 21 bytes data, client => server 17:49:30.050471 'SIZE verifiedserver\r\n' 17:49:30.050600 Received DATA (on stdin) 17:49:30.050612 > 8 bytes data, server => client 17:49:30.050622 '213 17\r\n' 17:49:30.050674 < 21 bytes data, client => server 17:49:30.050687 'RETR verifiedserver\r\n' 17:49:30.050927 Received DATA (on stdin) 17:49:30.050940 > 29 bytes data, server => client 17:49:30.050950 '150 Binary junk (17 bytes).\r\n' 17:49:30.051700 Received DATA (on stdin) 17:49:30.051713 > 28 bytes data, server => client 17:49:30.051724 '226 File transfer complete\r\n' 17:49:30.092979 < 6 bytes data, client => server 17:49:30.093006 'QUIT\r\n' 17:49:30.093233 Received DATA (on stdin) 17:49:30.093246 > 18 bytes data, server => client 17:49:30.093256 '221 bye bye baby\r\n' 17:49:30.094344 ====> Client disconnect 17:49:30.094563 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:30.045511 Running IPv4 version 17:49:30.045596 Listening on port 36013 17:49:30.045642 Wrote pid 102585 to log/4/server/ftp_sockdata.pid 17:49:30.049692 Received PING (on stdin) 17:49:30.049795 Received PORT (on stdin) 17:49:30.050163 ====> Client connect 17:49:30.051007 Received DATA (on stdin) 17:49:30.051022 > 17 bytes data, server => client 17:49:30.051033 'WE ROOLZ: 80996\r\n' 17:49:30.051208 Received DISC (on stdin) 17:49:30.051224 ====> Client forcibly disconnected 17:49:30.051366 Received QUIT (on stdin) 17:49:30.051381 quits 17:49:30.051444 ============> 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 verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a liCMD (33792): ../libtool --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/valgrind475 ../src/curl -q --output log/20/curl475.out --include --trace-ascii log/20/trace475 --trace-time "ftp://127.0.0.1:35215/475;type=a" -T log/20/test475.txt > log/20/stdout475 2> log/20/stderr475 ne of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this 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 ==102692== ==102692== Process terminating with default action of signal 4 (SIGILL) ==102692== Illegal opcode at address 0x4014520 ==102692== at 0x4014520: getparameter (tool_getparam.c:2862) ==102692== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102692== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102692== by 0x4003728: main (tool_main.c:186) === End of file valgrind476 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/20/valgrind475 ../src/curl -q --output log/20/curl475.out --include --trace-ascii log/20/trace475 --trace-time "ftp://127.0.0.1:35215/475;type=a" -T log/20/test475.txt > log/20/stdout475 2> log/20/stderr475 475: 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 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/20/valgrind475 ../src/curl -q --output log/20/curl475.out --include --trace-ascii log/20/trace475 --trace-time "ftp://127.0.0.1:35215/475;type=a" -T log/20/test475.txt > log/20/stdout475 2> log/20/stderr475 === End of file commands.log === Start of file ftp_server.log 17:49:30.206087 ====> Client connect 17:49:30.206245 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:30.206549 < "USER anonymous" 17:49:30.206586 > "331 We are happy you popped in![CR][LF]" 17:49:30.206758 < "PASS ftp@example.com" 17:49:30.206785 > "230 Welcome you silly person[CR][LF]" 17:49:30.206943 < "PWD" 17:49:30.206974 > "257 "/" is current directory[CR][LF]" 17:49:30.207154 < "EPSV" 17:49:30.207184 ====> Passive DATA channel requested by client 17:49:30.207199 DATA sockfilt for passive data channel starting... 17:49:30.209254 DATA sockfilt for passive data channel started (pid 102589) 17:49:30.209391 DATA sockfilt for passive data channel listens on port 36081 17:49:30.209440 > "229 Entering Passive Mode (|||36081|)[CR][LF]" 17:49:30.209460 Client has been notified that DATA conn will be accepted on port 36081 17:49:30.209761 Client connects to port 36081 17:49:30.209790 ====> Client established passive DATA connection on port 36081 17:49:30.209885 < "TYPE I" 17:49:30.209918 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:30.210087 < "SIZE verifiedserver" 17:49:30.210127 > "213 17[CR][LF]" 17:49:30.210276 < "RETR verifiedserver" 17:49:30.210311 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:30.210409 =====> Closing passive DATA connection... 17:49:30.210428 Server disconnects passive DATA connection 17:49:30.210655 Server disconnected passive DATA connection 17:49:30.210679 DATA sockfilt for passive data channel quits (pid 102589) 17:49:30.210931 DATA sockfilt for passive data channel quit (pid 102589) 17:49:30.210954 =====> Closed passive DATA connection 17:49:30.210982 > "226 File transfer complete[CR][LF]" 17:49:30.254377 < "QUIT" 17:49:30.254435 > "221 bye bye baby[CR][LF]" 17:49:30.255614 MAIN sockfilt said DISC 17:49:30.255648 ====> Client disconnected 17:49:30.255724 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:30.049620 ====> Client connect 17:49:30.052446 Received DATA (on stdin) 17:49:30.052464 > 146 bytes data, server => client 17:49:30.052475 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:30.052484 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:30.052493 '220 \___|\___/|_| \_\_____|\r\n' 17:49:30.052603 < 16 bytes data, client => server 17:49:30.052616 'USER anonymous\r\n' 17:49:30.052775 Received DATA (on stdin) 17:49:30.052787 > 33 bytes data, server => client 17:49:30.052797 '331 We are happy you popped in!\r\n' 17:49:30.052855 < 22 bytes data, client => server 17:49:30.052866 'PASS ftp@example.com\r\n' 17:49:30.052973 Received DATA (on stdin) 17:49:30.052984 > 30 bytes data, server => client 17:49:30.052995 '230 Welcome you silly person\r\n' 17:49:30.053046 < 5 bytes data, client => server 17:49:30.053056 'PWD\r\n' 17:49:30.053160 Received DATA (on stdin) 17:49:30.053172 > 30 bytes data, server => client 17:49:30.053182 '257 "/" is current directory\r\n' 17:49:30.053247 < 6 bytes data, client => server 17:49:30.053260 'EPSV\r\n' 17:49:30.055657 Received DATA (on stdin) 17:49:30.055673 > 39 bytes data, server => client 17:49:30.055684 '229 Entering Passive Mode (|||36081|)\r\n' 17:49:30.055867 < 8 bytes data, client => server 17:49:30.055881 'TYPE I\r\n' 17:49:30.056106 Received DATA (on stdin) 17:49:30.056118 > 33 bytes data, server => client 17:49:30.056128 '200 I modify TYPE as you wanted\r\n' 17:49:30.056192 < 21 bytes data, client => server 17:49:30.056202 'SIZE verifiedserver\r\n' 17:49:30.056311 Received DATA (on stdin) 17:49:30.056322 > 8 bytes data, server => client 17:49:30.056332 '213 17\r\n' 17:49:30.056380 < 21 bytes data, client => server 17:49:30.056391 'RETR verifiedserver\r\n' 17:49:30.056618 Received DATA (on stdin) 17:49:30.056629 > 29 bytes data, server => client 17:49:30.056639 '150 Binary junk (17 bytes).\r\n' 17:49:30.057169 Received DATA (on stdin) 17:49:30.057181 > 28 bytes data, server => client 17:49:30.057192 '226 File transfer complete\r\n' 17:49:30.100398 < 6 bytes data, client => server 17:49:30.100421 'QUIT\r\n' 17:49:30.100627 Received DATA (on stdin) 17:49:30.100640 > 18 bytes data, server => client 17:49:30.100651 '221 bye bye baby\r\n' 17:49:30.101747 ====> Client disconnect 17:49:30.101916 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:30.055073 Running IPv4 version 17:49:30.055159 Listening on port 36081 17:49:30.055205 Wrote pid 102589 to log/20/server/ftp_sockdata.pid 17:49:30.055377 Received PING (on stdin) 17:49:30.055480 Received PORT (on stdin) 17:49:30.055902 ====> Client connect 17:49:30.056664 Received DATA (on stdin) 17:49:30.056676 > 17 bytes data, server => client 17:49:30.056686 'WE ROOLZ: 81259\r\n' 17:49:30.056710 Received DISC (on stdin) 17:49:30.056721 ====> Client forcibly disconnected 17:49:30.056875 Received QUIT (on stdin) 17:49:30.056886 quits 17:49:30.056945 ============> 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 used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text useCMD (33792): ../libtool --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/valgrind478 ../src/curl -q --output log/14/curl478.out --include --trace-ascii log/14/trace478 --trace-time --netrc --netrc-file log/14/netrc478 -x http://127.0.0.1:37569/ http://debbie@github.com/ > log/14/stdout478 2> log/14/stderr478 CMD (33792): ../libtool --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/valgrind485 ../src/curl -q --output log/5/curl485.out --include --trace-ascii log/5/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/5/etag485 > log/5/stdout485 2> log/5/stderr485 d for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this 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 ==102703== ==102703== Process terminating with default action of signal 4 (SIGILL) ==102703== Illegal opcode at address 0x4014520 ==102703== at 0x4014520: getparameter (tool_getparam.c:2862) ==102703== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102703== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102703== by 0x4003728: main (tool_main.c:186) === End of file valgrind475 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/14/valgrind478 ../src/curl -q --output log/14/curl478.out --include --trace-ascii log/14/trace478 --trace-time --netrc --netrc-file log/14/netrc478 -x http://127.0.0.1:37569/ http://debbie@github.com/ > log/14/stdout478 2> log/14/stderr478 478: 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 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/14/valgrind478 ../src/curl -q --output log/14/curl478.out --include --trace-ascii log/14/trace478 --trace-time --netrc --netrc-file log/14/netrc478 -x http://127.0.0.1:37569/ http://debbie@github.com/ > log/14/stdout478 2> log/14/stderr478 === End of file commands.log === Start of file http_server.log 17:49:31.293506 ====> Client connect 17:49:31.293540 accept_connection 3 returned 4 17:49:31.293556 accept_connection 3 returned 0 17:49:31.293570 Read 93 bytes 17:49:31.293578 Process 93 bytes request 17:49:31.293590 Got request: GET /verifiedserver HTTP/1.1 17:49:31.293601 Are-we-friendly question received 17:49:31.293624 Wrote request (93 bytes) input to log/14/server.input 17:49:31.293638 Identifying ourselves as friends 17:49:31.293693 Response sent (56 bytes) and written to log/14/server.response 17:49:31.293705 special request received, no persistency 17:49:31.293714 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43488 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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 "second\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: 74822 === End of file server.response === Start of file valgrind478 ==102846== ==102846== Process terminating with default action of signal 4 (SIGILL) ==102846== Illegal opcode at address 0x4014520 ==102846== at 0x4014520: getparameter (tool_getparam.c:2862) ==102846== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102846== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102846== by 0x4003728: main (tool_main.c:186) === End of file valgrind478 CMD (33792): ../libtool --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/valgrind481 ../src/curl -q --trace-ascii log/6/trace481 --trace-time http://127.0.0.1:42747/481 --no-clobber -C 1 -o "log/6/481" > log/6/stdout481 2> log/6/stderr481 test 0485...[Use --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/5/valgrind485 ../src/curl -q --output log/5/curl485.out --include --trace-ascii log/5/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/5/etag485 > log/5/stdout485 2> log/5/stderr485 485: stderr FAILED: --- log/5/check-expected 2026-01-28 17:49:31.706555435 +0000 +++ log/5/check-generated 2026-01-28 17:49:31.706555435 +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/5/ 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/5/valgrind485 ../src/curl -q --output log/5/curl485.out --include --trace-ascii log/5/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/5/etag485 > log/5/stdout485 2> log/5/stderr485 === End of file commands.log === Start of file server.cmd Testnum 485 === End of file server.cmd === Start of file valgrind485 ==102950== ==102950== Process terminating with default action of signal 4 (SIGILL) ==102950== Illegal opcode at address 0x4014520 ==102950== at 0x4014520: getparameter (tool_getparam.c:2862) ==102950== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102950== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102950== by 0x4003728: main (tool_main.c:186) === End of file valgrind485 CMD (33792): ../libtool --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/valgrind479 ../src/curl -q --output log/12/curl479.out --include --trace-ascii log/12/trace479 --trace-time --netrc --netrc-file log/12/netrc479 -L -x http://127.0.0.1:36641/ http://a.com/ > log/12/stdout479 2> log/12/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/16/valgrind483 ../src/curl -q --output log/16/curl483.out --include --trace-ascii log/16/trace483 --trace-time http://127.0.0.1:40899/483 -c log/16/c483 > log/16/stdout483 2> log/16/stderr483 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/6/valgrind481 ../src/curl -q --trace-ascii log/6/trace481 --trace-time http://127.0.0.1:42747/481 --no-clobber -C 1 -o "log/6/481" > log/6/stdout481 2> log/6/stderr481 481: stderr FAILED: --- log/6/check-expected 2026-01-28 17:49:31.723222102 +0000 +++ log/6/check-generated 2026-01-28 17:49:31.723222102 +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/6/ 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/6/valgrind481 ../src/curl -q --trace-ascii log/6/trace481 --trace-time http://127.0.0.1:42747/481 --no-clobber -C 1 -o "log/6/481" > log/6/stdout481 2> log/6/stderr481 === End of file commands.log === Start of file http_server.log 17:49:30.381260 ====> Client connect 17:49:30.381296 accept_connection 3 returned 4 17:49:30.381312 accept_connection 3 returned 0 17:49:30.381445 Read 93 bytes 17:49:30.381458 Process 93 bytes request 17:49:30.381473 Got request: GET /verifiedserver HTTP/1.1 17:49:30.381482 Are-we-friendly question received 17:49:30.381512 Wrote request (93 bytes) input to log/6/server.input 17:49:30.381529 Identifying ourselves as friends 17:49:30.381589 Response sent (56 bytes) and written to log/6/server.response 17:49:30.381599 special request received, no persistency 17:49:30.381608 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 33036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind481 ==103001== ==103001== Process terminating with default action of signal 4 (SIGILL) ==103001== Illegal opcode at address 0x4014520 ==103001== at 0x4014520: getparameter (tool_getparam.c:2862) ==103001== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103001== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103001== by 0x4003728: main (tool_main.c:186) === End of file valgrind481 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/12/valgrind479 ../src/curl -q --output log/12/curl479.out --include --trace-ascii log/12/trace479 --trace-time --netrc --netrc-file log/12/netrc479 -L -x http://127.0.0.1:36641/ http://a.com/ > log/12/stdout479 2> log/12/stderr479 479: 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 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/12/valgrind479 ../src/curl -q --output log/12/curl479.out --include --trace-ascii log/12/trace479 --trace-time --netrc --netrc-file log/12/netrc479 -L -x http://127.0.0.1:36641/ http://a.com/ > log/12/stdout479 2> log/12/stderr479 === End of file commands.log === Start of file http_server.log 17:49:30.359753 ====> Client connect 17:49:30.359786 accept_connection 3 returned 4 17:49:30.359802 accept_connection 3 returned 0 17:49:30.359816 Read 93 bytes 17:49:30.359826 Process 93 bytes request 17:49:30.359837 Got request: GET /verifiedserver HTTP/1.1 17:49:30.359846 Are-we-friendly question received 17:49:30.359869 Wrote request (93 bytes) input to log/12/server.input 17:49:30.359885 Identifying ourselves as friends 17:49:30.359938 Response sent (56 bytes) and written to log/12/server.response 17:49:30.359948 special request received, no persistency 17:49:30.359957 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 33002 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind479 ==102948== ==102948== Process terminating with default action of signal 4 (SIGILL) ==102948== Illegal opcode at address 0x4014520 ==102948== at 0x4014520: getparameter (tool_getparam.c:2862) ==102948== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102948== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102948== by 0x4003728: main (tool_main.c:186) === End of file valgrind479 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:40899/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:40899/483 -c log/16/c483 > log/16/stdout483 2> log/16/stderr483 === End of file commands.log === Start of file http_server.log 17:49:30.399900 ====> Client connect 17:49:30.399931 accept_connection 3 returned 4 17:49:30.399949 accept_connection 3 returned 0 17:49:30.399965 Read 93 bytes 17:49:30.399975 Process 93 bytes request 17:49:30.399988 Got request: GET /verifiedserver HTTP/1.1 17:49:30.399997 Are-we-friendly question received 17:49:30.400026 Wrote request (93 bytes) input to log/16/server.input 17:49:30.400043 Identifying ourselves as friends 17:49:30.400132 Response sent (56 bytes) and written to log/16/server.response 17:49:30.400143 special request received, no persistency 17:49:30.400152 ====> Client disconnect 0 === End of file http_server.log === Start of file http_veriCMD (33792): ../libtool --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/valgrind484 ../src/curl -q --output log/22/curl484.out --include --trace-ascii log/22/trace484 --trace-time http://example.com/484 --etag-compare log/22/etag484 --etag-save log/22/etag484 --url http://example.net/fooo > log/22/stdout484 2> log/22/stderr484 fy.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 46188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind483 ==103081== ==103081== Process terminating with default action of signal 4 (SIGILL) ==103081== Illegal opcode at address 0x4014520 ==103081== at 0x4014520: getparameter (tool_getparam.c:2862) ==103081== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103081== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103081== by 0x4003728: main (tool_main.c:186) === End of file valgrind483 CMD (33792): ../libtool --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/valgrind486 ../src/curl -q --output log/10/curl486.out --include --trace-ascii log/10/trace486 --trace-time --netrc --netrc-file log/10/netrc486 -L -x http://127.0.0.1:32889/ http://a.com/ > log/10/stdout486 2> log/10/stderr486 CMD (33792): ../libtool --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/valgrind482 ../src/curl -q --trace-ascii log/3/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/3/482" > log/3/stdout482 2> log/3/stderr482 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/22/valgrind484 ../src/curl -q --output log/22/curl484.out --include --trace-ascii log/22/trace484 --trace-time http://example.com/484 --etag-compare log/22/etag484 --etag-save log/22/etag484 --url http://example.net/fooo > log/22/stdout484 2> log/22/stderr484 484: stderr FAILED: --- log/22/check-expected 2026-01-28 17:49:31.763222102 +0000 +++ log/22/check-generated 2026-01-28 17:49:31.763222102 +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/22/ 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/22/valgrind484 ../src/curl -q --output log/22/curl484.out --include --trace-ascii log/22/trace484 --trace-time http://example.com/484 --etag-compare log/22/etag484 --etag-save log/22/etag484 --url http://example.net/fooo > log/22/stdout484 2> log/22/stderr484 === End of file commands.log === Start of file server.cmd Testnum 484 === End of file server.cmd === Start of file valgrind484 ==102943== ==102943== Process terminating with default action of signal 4 (SIGILL) ==102943== Illegal opcode at address 0x4014520 ==102943== at 0x4014520: getparameter (tool_getparam.c:2862) ==102943== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==102943== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==102943== by 0x4003728: main (tool_main.c:186) === End of file valgrind484 CMD (33792): ../libtool --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/valgrind489 ../src/curl -q --output log/1/curl489.out --include --trace-ascii log/1/trace489 --trace-time --output-dir log/1 --url @log/1/urls > log/1/stdout489 2> log/1/stderr489 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/3/valgrind482 ../src/curl -q --trace-ascii log/3/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/3/482" > log/3/stdout482 2> log/3/stderr482 482: stderr FAILED: --- log/3/check-expected 2026-01-28 17:49:31.776555434 +0000 +++ log/3/check-generated 2026-01-28 17:49:31.776555434 +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/3/ 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/3/valgrind482 ../src/curl -q --trace-ascii log/3/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/3/482" > log/3/stdout482 2> log/3/stderr482 === End of file commands.log === Start of file http_server.log 17:49:30.400168 ====> Client connect 17:49:30.400200 accept_connection 3 returned 4 17:49:30.400217 accept_connection 3 returned 0 17:49:30.400230 Read 93 bytes 17:49:30.400239 Process 93 bytes request 17:49:30.400250 Got request: GET /verifiedserver HTTP/1.1 17:49:30.400259 Are-we-friendly question received 17:49:30.400292 Wrote request (93 bytes) input to log/3/server.input 17:49:30.400310 Identifying ourselves as friends 17:49:30.400371 Response sent (56 bytes) and written to log/3/server.response 17:49:30.400382 special request received, no persistency 17:49:30.400391 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 47468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind482 ==103076== ==103076== Process terminating with default action of signal 4 (SIGILL) ==103076== Illegal opcode at address 0x4014520 ==103076== at 0x4014520: getparameter (tool_getparam.c:2862) ==103076== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103076== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103076== by 0x4003728: main (tool_main.c:186) === End of file valgrind482 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/10/valgrind486 ../src/curl -q --output log/10/curl486.out --include --trace-ascii log/10/trace486 --trace-time --netrc --netrc-file log/10/netrc486 -L -x http://127.0.0.1:32889/ http://a.com/ > log/10/stdout486 2> log/10/stderr486 486: 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 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/10/valgrind486 ../src/curl -q --output log/10/curl486.out --include --trace-ascii log/10/trace486 --trace-time --netrc --netrc-file log/10/netrc486 -L -x http://127.0.0.1:32889/ http://a.com/ > log/10/stdout486 2> log/10/stderr486 === End of file commands.log === Start of file http_server.log 17:49:30.438197 ====> Client connect 17:49:30.438229 accept_connection 3 returned 4 17:49:30.438246 accept_connection 3 returned 0 17:49:30.438261 Read 93 bytes 17:49:30.438272 Process 93 bytes request 17:49:30.438288 Got request: GET /verifiedserver HTTP/1.1 17:49:30.438297 Are-we-friendly question received 17:49:30.438327 Wrote request (93 bytes) input to log/10/server.input 17:49:30.438344 Identifying ourselves as friends 17:49:30.438401 Response sent (56 bytes) and written to log/10/server.response 17:49:30.438411 special request received, no persistency 17:49:30.438420 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 49668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind486 ==103258== ==103258== Process terminating with default action of signal 4 (SIGILL) ==103258== Illegal opcode at address 0x4014520 ==103258== at 0x4014520: getparameter (tool_getparam.c:2862) ==103258== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103258== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103258== by 0x4003728: main (tool_main.c:186) === End of file valgrind486 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/1/valgrind489 ../src/curl -q --output log/1/curl489.out --include --trace-ascii log/1/trace489 --trace-time --output-dir log/1 --url @log/1/urls > log/1/stdout489 2> log/1/stderr489 489: 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 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/1/valgrind489 ../src/curl -q --output log/1/curl489.out --include --trace-ascii log/1/trace489 --trace-time --output-dir log/1 --url @log/1/urls > log/1/stdout489 2> log/1/stderr489 === End of file commands.log === Start of file http_server.log 17:49:30.695294 ====> Client connect 17:49:30.695324 accept_connection 3 returned 4 17:49:30.695340 accept_connection 3 returned 0 17:49:30.695353 Read 93 bytes 17:49:30.695363 Process 93 bytes request 17:49:30.695375 Got request: GET /verifiedserver HTTP/1.1 17:49:30.695384 Are-we-friendly question received 17:49:30.695410 Wrote request (93 bytes) input to log/1/server.input 17:49:30.695698 Identifying ourselves as friends 17:49:30.695773 Response sent (56 bytes) and written to log/1/server.response 17:49:30.695783 special request received, no persistency 17:49:30.695791 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * EstaCMD (33792): ../libtool --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/valgrind490 ../src/curl -q --output log/18/curl490.out --include --trace-ascii log/18/trace490 --trace-time http://127.0.0.1:34067/490 -T '{log/18/in490,log/18/in490}' > log/18/stdout490 2> log/18/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/2/valgrind487 ../src/curl -q --output log/2/curl487.out --include --trace-ascii log/2/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:38779/{{what:64dec}}/487" -g > log/2/stdout487 2> log/2/stderr487 CMD (33792): ../libtool --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/valgrind488 ../src/curl -q --output log/21/curl488.out --include --trace-ascii log/21/trace488 --trace-time --output-dir log/21 --url @- log/21/stdout488 2> log/21/stderr488 blished connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file urls http://127.0.0.1:39589/a http://127.0.0.1:39589/b === End of file urls === Start of file valgrind489 ==103444== ==103444== Process terminating with default action of signal 4 (SIGILL) ==103444== Illegal opcode at address 0x4014520 ==103444== at 0x4014520: getparameter (tool_getparam.c:2862) ==103444== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103444== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103444== by 0x4003728: main (tool_main.c:186) === End of file valgrind489 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/18/valgrind490 ../src/curl -q --output log/18/curl490.out --include --trace-ascii log/18/trace490 --trace-time http://127.0.0.1:34067/490 -T '{log/18/in490,log/18/in490}' > log/18/stdout490 2> log/18/stderr490 490: 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 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/18/valgrind490 ../src/curl -q --output log/18/curl490.out --include --trace-ascii log/18/trace490 --trace-time http://127.0.0.1:34067/490 -T '{log/18/in490,log/18/in490}' > log/18/stdout490 2> log/18/stderr490 === End of file commands.log === Start of file http_server.log 17:49:30.711430 ====> Client connect 17:49:30.711464 accept_connection 3 returned 4 17:49:30.711481 accept_connection 3 returned 0 17:49:30.711495 Read 93 bytes 17:49:30.711505 Process 93 bytes request 17:49:30.711517 Got request: GET /verifiedserver HTTP/1.1 17:49:30.711526 Are-we-friendly question received 17:49:30.711551 Wrote request (93 bytes) input to log/18/server.input 17:49:30.711569 Identifying ourselves as friends 17:49:30.711624 Response sent (56 bytes) and written to log/18/server.response 17:49:30.711634 special request received, no persistency 17:49:30.711642 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 55460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind490 ==103491== ==103491== Process terminating with default action of signal 4 (SIGILL) ==103491== Illegal opcode at address 0x4014520 ==103491== at 0x4014520: getparameter (tool_getparam.c:2862) ==103491== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103491== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103491== by 0x4003728: main (tool_main.c:186) === 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/2/valgrind487 ../src/curl -q --output log/2/curl487.out --include --trace-ascii log/2/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:38779/{{what:64dec}}/487" -g > log/2/stdout487 2> log/2/stderr487 487: 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 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/2/valgrind487 ../src/curl -q --output log/2/curl487.out --include --trace-ascii log/2/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:38779/{{what:64dec}}/487" -g > log/2/stdout487 2> log/2/stderr487 === End of file commands.log === Start of file http_server.log 17:49:30.682824 ====> Client connect 17:49:30.682872 accept_connection 3 returned 4 17:49:30.682888 accept_connection 3 returned 0 17:49:30.682901 Read 93 bytes 17:49:30.682910 Process 93 bytes request 17:49:30.682923 Got request: GET /verifiedserver HTTP/1.1 17:49:30.682931 Are-we-friendly question received 17:49:30.682957 Wrote request (93 bytes) input to log/2/server.input 17:49:30.682972 Identifying ourselves as friends 17:49:30.683025 Response sent (56 bytes) and written to log/2/server.response 17:49:30.683034 special request received, no persistency 17:49:30.683041 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 36684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind487 ==103417== ==103417== Process terminating with default action of signal 4 (SIGILL) ==103417== Illegal opcode at address 0x4014520 ==103417== at 0x4014520: getparameter (tool_getparam.c:2862) ==103417== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103417== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103417== by 0x4003728: main (tool_main.c:186) === End of file valgrind487 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/21/valgrind488 ../src/curl -q --output log/21/curl488.out --include --trace-ascii log/21/trace488 --trace-time --output-dir log/21 --url @- log/21/stdout488 2> log/21/stderr488 488: 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 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/21/valgrind488 ../src/curl -q --output log/21/curl488.out --include --trace-ascii log/21/trace488 --trace-time --output-dir log/21 --url @- log/21/stdout488 2> log/21/stderr488 === End CMD (33792): ../libtool --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/valgrind491 ../src/curl -q --output log/17/curl491.out --include --trace-ascii log/17/trace491 --trace-time http://127.0.0.1:44593/491 -T '{log/17/in491,log/17/bad491}' > log/17/stdout491 2> log/17/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/24/valgrind492 ../src/curl -q --output log/24/curl492.out --include --trace-ascii log/24/trace492 --trace-time 'http://127.0.0.1:39649/{one,two}/' -T '{log/24/first492,log/24/second492}' -H "Testno: 492" > log/24/stdout492 2> log/24/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/11/valgrind493 ../src/curl -q --include --trace-ascii log/11/trace493 --trace-time -x http://127.0.0.1:46439 http://this.hsts.example/493 --hsts log/11/input493 -w '%{url_effective}\n' > log/11/stdout493 2> log/11/stderr493 of file commands.log === Start of file http_server.log 17:49:30.698766 ====> Client connect 17:49:30.698802 accept_connection 3 returned 4 17:49:30.698819 accept_connection 3 returned 0 17:49:30.698834 Read 93 bytes 17:49:30.698844 Process 93 bytes request 17:49:30.698856 Got request: GET /verifiedserver HTTP/1.1 17:49:30.698865 Are-we-friendly question received 17:49:30.698891 Wrote request (93 bytes) input to log/21/server.input 17:49:30.698907 Identifying ourselves as friends 17:49:30.698965 Response sent (56 bytes) and written to log/21/server.response 17:49:30.698976 special request received, no persistency 17:49:30.698985 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 54790 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stdin-for-488 http://127.0.0.1:41669/a http://127.0.0.1:41669/b === End of file stdin-for-488 === Start of file valgrind488 ==103445== ==103445== Process terminating with default action of signal 4 (SIGILL) ==103445== Illegal opcode at address 0x4014520 ==103445== at 0x4014520: getparameter (tool_getparam.c:2862) ==103445== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103445== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103445== by 0x4003728: main (tool_main.c:186) === End of file valgrind488 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/17/valgrind491 ../src/curl -q --output log/17/curl491.out --include --trace-ascii log/17/trace491 --trace-time http://127.0.0.1:44593/491 -T '{log/17/in491,log/17/bad491}' > log/17/stdout491 2> log/17/stderr491 491: 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 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/17/valgrind491 ../src/curl -q --output log/17/curl491.out --include --trace-ascii log/17/trace491 --trace-time http://127.0.0.1:44593/491 -T '{log/17/in491,log/17/bad491}' > log/17/stdout491 2> log/17/stderr491 === End of file commands.log === Start of file http_server.log 17:49:30.760339 ====> Client connect 17:49:30.760370 accept_connection 3 returned 4 17:49:30.760386 accept_connection 3 returned 0 17:49:30.760400 Read 93 bytes 17:49:30.760410 Process 93 bytes request 17:49:30.760423 Got request: GET /verifiedserver HTTP/1.1 17:49:30.760432 Are-we-friendly question received 17:49:30.760456 Wrote request (93 bytes) input to log/17/server.input 17:49:30.760472 Identifying ourselves as friends 17:49:30.760524 Response sent (56 bytes) and written to log/17/server.response 17:49:30.760533 special request received, no persistency 17:49:30.760542 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 44112 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind491 ==103633== ==103633== Process terminating with default action of signal 4 (SIGILL) ==103633== Illegal opcode at address 0x4014520 ==103633== at 0x4014520: getparameter (tool_getparam.c:2862) ==103633== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103633== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103633== by 0x4003728: main (tool_main.c:186) === End of file valgrind491 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/24/valgrind492 ../src/curl -q --output log/24/curl492.out --include --trace-ascii log/24/trace492 --trace-time 'http://127.0.0.1:39649/{one,two}/' -T '{log/24/first492,log/24/second492}' -H "Testno: 492" > log/24/stdout492 2> log/24/stderr492 492: 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 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/24/valgrind492 ../src/curl -q --output log/24/curl492.out --include --trace-ascii log/24/trace492 --trace-time 'http://127.0.0.1:39649/{one,two}/' -T '{log/24/first492,log/24/second492}' -H "Testno: 492" > log/24/stdout492 2> log/24/stderr492 === End of file commands.log === Start of file first492 first 492 contents === End of file first492 === Start of file http_server.log 17:49:30.984156 ====> Client connect 17:49:30.984194 accept_connection 3 returned 4 17:49:30.984209 accept_connection 3 returned 0 17:49:30.984321 Read 93 bytes 17:49:30.984332 Process 93 bytes request 17:49:30.984346 Got request: GET /verifiedserver HTTP/1.1 17:49:30.984354 Are-we-friendly question received 17:49:30.984380 Wrote request (93 bytes) input to log/24/server.input 17:49:30.984396 Identifying ourselves as friends 17:49:30.984451 Response sent (56 bytes) and written to log/24/server.response 17:49:30.984460 special request received, no persistency 17:49:30.984469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 60198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind492 ==103751== ==103751== Process terminating with default action of signal 4 (SIGILL) ==103751== Illegal opcode at address 0x4014520 ==103751== at 0x4014520: getparameter (tool_getparam.c:2862) ==103751== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103751== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103751== by 0x4003728: main (tool_main.c:186) === End of file valgrind492 CMD (33792): ../libtool --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/valgrind494 ../src/curl -q --output log/9/curl494.out --include --trace-ascii log/9/trace494 --trace-time --netrc --netrc-file log/9/netrc494 ftp://127.0.0.1:36391/494 > log/9/stdout494 2> log/9/stderr494 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/11/valgrind493 ../src/curl -q --include --trace-ascii log/11/trace493 --trace-time -x http://127.0.0.1:46439 http://this.hsts.example/493 --hsts log/11/input493 -w '%{url_effective}\n' > log/11/stdout493 2> log/11/stderr493 493: stdout FAILED: --- log/11/check-expected 2026-01-28 17:49:32.359888768 +0000 +++ log/11/check-generated 2026-01-28 17:49:32.359888768 +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/11/ 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/11/valgrind493 ../src/curl -q --include --trace-ascii log/11/trace493 --trace-time -x http://127.0.0.1:46439 http://this.hsts.example/493 --hsts log/11/input493 -w '%{url_effective}\n' > log/11/stdout493 2> log/11/stderr493 === End of file commands.log === Start of file http_server.log 17:49:31.005820 ====> Client connect 17:49:31.005854 accept_connection 3 returned 4 17:49:31.005869 accept_connection 3 returned 0 17:49:31.005885 Read 93 bytes 17:49:31.005894 Process 93 bytes request 17:49:31.005906 Got request: GET /verifiedserver HTTP/1.1 17:49:31.005915 Are-we-friendly question received 17:49:31.005940 Wrote request (93 bytes) input to log/11/server.input 17:49:31.005956 Identifying ourselves as friends 17:49:31.006011 Response sent (56 bytes) and written to log/11/server.response 17:49:31.006021 special request received, no persistency 17:49:31.006030 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 60614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind493 ==103779== ==103779== Process terminating with default action of signal 4 (SIGILL) ==103779== Illegal opcode at address 0x4014520 ==103779== at 0x4014520: getparameter (tool_getparam.c:2862) ==103779== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103779== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103779== by 0x4003728: main (tool_main.c:186) === End of file valgrind493 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/9/valgrind494 ../src/curl -q --output log/9/curl494.out --include --trace-ascii log/9/trace494 --trace-time --netrc --netrc-file log/9/netrc494 ftp://127.0.0.1:36391/494 > log/9/stdout494 2> log/9/stderr494 494: 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 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/9/valgrind494 ../src/curl -q --output log/9/curl494.out --include --trace-ascii log/9/trace494 --trace-time --netrc --netrc-file log/9/netrc494 ftp://127.0.0.1:36391/494 > log/9/stdout494 2> log/9/stderr494 === End of file commands.log === Start of file ftp_server.log 17:49:31.179614 ====> Client connect 17:49:31.179777 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:31.180096 < "USER anonymous" 17:49:31.180142 > "331 We are happy you popped in![CR][LF]" 17:49:31.180694 < "PASS ftp@example.com" 17:49:31.180730 > "230 Welcome you silly person[CR][LF]" 17:49:31.180889 < "PWD" 17:49:31.180922 > "257 "/" is current directory[CR][LF]" 17:49:31.181077 < "EPSV" 17:49:31.181103 ====> Passive DATA channel requested by client 17:49:31.181117 DATA sockfilt for passive data channel starting... 17:49:31.183832 DATA sockfilt for passive data channel started (pid 103786) 17:49:31.184644 DATA sockfilt for passive data channel listens on port 36827 17:49:31.184705 > "229 Entering Passive Mode (|||36827|)[CR][LF]" 17:49:31.184725 Client has been notified that DATA conn will be accepted on port 36827 17:49:31.184948 Client connects to port 36827 17:49:31.184978 ====> Client established passive DATA connection on port 36827 17:49:31.185098 < "TYPE I" 17:49:31.185130 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:31.185287 < "SIZE verifiedserver" 17:49:31.185326 > "213 17[CR][LF]" 17:49:31.185469 < "RETR verifiedserver" 17:49:31.185501 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:31.185590 =====> Closing passive DATA connection... 17:49:31.185607 Server disconnects passive DATA connection 17:49:31.185833 Server disconnected passive DATA connection 17:49:31.185859 DATA sockfilt for passive data channel quits (pid 103786) 17:49:31.186089 DATA sockfilt for passive data channel quit (pid 103786) 17:49:31.186112 =====> Closed passive DATA connection 17:49:31.186143 > "226 File transfer complete[CR][LF]" 17:49:31.227135 < "QUIT" 17:49:31.227187 > "221 bye bye baby[CR][LF]" 17:49:31.231420 MAIN sockfilt said DISC 17:49:31.231469 ====> Client disconnected 17:49:31.231556 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:31.025688 ====> Client connect 17:49:31.025980 Received DATA (on stdin) 17:49:31.025995 > 146 bytes data, server => client 17:49:31.026007 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:31.026018 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:31.026027 '220 \___|\___/|_| \_\_____|\r\n' 17:49:31.026108 < 16 bytes data, client => server 17:49:31.026119 'USER anonymous\r\n' 17:49:31.026335 Received DATA (on stdin) 17:49:31.026347 > 33 bytes data, server => client 17:49:31.026357 '331 We are happy you popped in!\r\n' 17:49:31.026761 < 22 bytes data, client => server 17:49:31.026778 'PASS ftp@example.com\r\n' 17:49:31.026918 Received DATA (on stdin) 17:49:31.026929 > 30 bytes data, server => client 17:49:31.026940 '230 Welcome you silly person\r\n' 17:49:31.026987 < 5 bytes data, client => server 17:49:31.026997 'PWD\r\n' 17:49:31.027109 Received DATA (on stdin) 17:49:31.027119 > 30 bytes data, server => client 17:49:31.027129 '257 "/" is current directory\r\n' 17:49:31.027184 < 6 bytes data, client => server 17:49:31.027194 'EPSV\r\n' 17:49:31.030919 Received DATA (on stdin) 17:49:31.030933 > 39 bytes data, server => client 17:49:31.030944 '229 Entering Passive Mode (|||36827|)\r\n' 17:49:31.031185 < 8 bytes data, client => server 17:49:31.031197 'TYPE I\r\n' 17:49:31.031315 Received DATA (on stdin) 17CMD (33792): ../libtool --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/valgrind496 ../src/curl -q --output log/23/curl496.out --include --trace-ascii log/23/trace496 --trace-time 0 -Z -Tz > log/23/stdout496 2> log/23/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/8/valgrind495 ../src/curl -q --output log/8/curl495.out --include --trace-ascii log/8/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:42045/495 --netrc-optional > log/8/stdout495 2> log/8/stderr495 CMD (0): ./libtest/libtests lib518 http://127.0.0.1:37413/518 > log/9/stdout518 2> log/9/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/7/valgrind497 ../src/curl -q --output log/7/curl497.out --include --trace-ascii log/7/trace497 --trace-time http://127.0.0.1:35671/497 > log/7/stdout497 2> log/7/stderr497 CMD (33792): ../libtool --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/valgrind498 ../src/curl -q --output log/13/curl498.out --include --trace-ascii log/13/trace498 --trace-time http://127.0.0.1:43845/498 --max-redirs 400 --location > log/13/stdout498 2> log/13/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/15/valgrind499 ../src/curl -q --output log/15/curl499.out --include --trace-ascii log/15/trace499 --trace-time http://127.0.0.1:41057/499 -I > log/15/stdout499 2> log/15/stderr499 :49:31.031325 > 33 bytes data, server => client 17:49:31.031335 '200 I modify TYPE as you wanted\r\n' 17:49:31.031386 < 21 bytes data, client => server 17:49:31.031397 'SIZE verifiedserver\r\n' 17:49:31.031512 Received DATA (on stdin) 17:49:31.031522 > 8 bytes data, server => client 17:49:31.031532 '213 17\r\n' 17:49:31.031576 < 21 bytes data, client => server 17:49:31.031587 'RETR verifiedserver\r\n' 17:49:31.031796 Received DATA (on stdin) 17:49:31.031806 > 29 bytes data, server => client 17:49:31.031816 '150 Binary junk (17 bytes).\r\n' 17:49:31.032330 Received DATA (on stdin) 17:49:31.032342 > 28 bytes data, server => client 17:49:31.032351 '226 File transfer complete\r\n' 17:49:31.073122 < 6 bytes data, client => server 17:49:31.073158 'QUIT\r\n' 17:49:31.076188 Received DATA (on stdin) 17:49:31.076213 > 18 bytes data, server => client 17:49:31.076224 '221 bye bye baby\r\n' 17:49:31.077539 ====> Client disconnect 17:49:31.077746 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:31.029360 Running IPv4 version 17:49:31.029429 Listening on port 36827 17:49:31.029469 Wrote pid 103786 to log/9/server/ftp_sockdata.pid 17:49:31.029952 Received PING (on stdin) 17:49:31.030047 Received PORT (on stdin) 17:49:31.031081 ====> Client connect 17:49:31.031842 Received DATA (on stdin) 17:49:31.031854 > 17 bytes data, server => client 17:49:31.031864 'WE ROOLZ: 80975\r\n' 17:49:31.031889 Received DISC (on stdin) 17:49:31.031900 ====> Client forcibly disconnected 17:49:31.032052 Received QUIT (on stdin) 17:49:31.032063 quits 17:49:31.032127 ============> 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 ==103852== ==103852== Process terminating with default action of signal 4 (SIGILL) ==103852== Illegal opcode at address 0x4014520 ==103852== at 0x4014520: getparameter (tool_getparam.c:2862) ==103852== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103852== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103852== by 0x4003728: main (tool_main.c:186) === End of file valgrind494 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/23/valgrind496 ../src/curl -q --output log/23/curl496.out --include --trace-ascii log/23/trace496 --trace-time 0 -Z -Tz > log/23/stdout496 2> log/23/stderr496 curl returned 132, when expecting 26 496: exit FAILED == Contents of files in the log/23/ 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/23/valgrind496 ../src/curl -q --output log/23/curl496.out --include --trace-ascii log/23/trace496 --trace-time 0 -Z -Tz > log/23/stdout496 2> log/23/stderr496 === End of file commands.log === Start of file server.cmd Testnum 496 === End of file server.cmd === Start of file valgrind496 ==103916== ==103916== Process terminating with default action of signal 4 (SIGILL) ==103916== Illegal opcode at address 0x4014520 ==103916== at 0x4014520: getparameter (tool_getparam.c:2862) ==103916== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103916== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103916== by 0x4003728: main (tool_main.c:186) === End of file valgrind496 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/8/valgrind495 ../src/curl -q --output log/8/curl495.out --include --trace-ascii log/8/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:42045/495 --netrc-optional > log/8/stdout495 2> log/8/stderr495 495: 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 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/8/valgrind495 ../src/curl -q --output log/8/curl495.out --include --trace-ascii log/8/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:42045/495 --netrc-optional > log/8/stdout495 2> log/8/stderr495 === End of file commands.log === Start of file http_server.log 17:49:31.129571 ====> Client connect 17:49:31.129612 accept_connection 3 returned 4 17:49:31.129629 accept_connection 3 returned 0 17:49:31.129645 Read 93 bytes 17:49:31.129655 Process 93 bytes request 17:49:31.129669 Got request: GET /verifiedserver HTTP/1.1 17:49:31.129678 Are-we-friendly question received 17:49:31.129707 Wrote request (93 bytes) input to log/8/server.input 17:49:31.129724 Identifying ourselves as friends 17:49:31.129799 Response sent (56 bytes) and written to log/8/server.response 17:49:31.129811 special request received, no persistency 17:49:31.129820 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind495 ==103952== ==103952== Process terminating with default action of signal 4 (SIGILL) ==103952== Illegal opcode at address 0x4014520 ==103952== at 0x4014520: getparameter (tool_getparam.c:2862) ==103952== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==103952== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==103952== by 0x4003728: main (tool_main.c:186) === End of file valgrind495 prechecked ./libtest/libtests lib518 check test 0518...[HTTP GET with more than FD_SETSIZE descriptors open] ./libtest/libtests lib518 http://127.0.0.1:37413/518 > log/9/stdout518 2> log/9/stderr518 valgrind SKIPPED --pd---e--- OK (494 out of 1760, remaining: 01:44, took 0.078s, duration: 00:40) 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/7/valgrind497 ../src/curl -q --output log/7/curl497.out --include --trace-ascii log/7/trace497 --trace-time http://127.0.0.1:35671/497 > log/7/stdout497 2> log/7/stderr497 497: 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 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/7/valgrind497 ../src/curl -q --output log/7/curl497.out --include --trace-ascii log/7/trace497 --trace-time http://127.0.0.1:35671/497 > log/7/stdout497 2> log/7/stderr497 === End of file commands.log === Start of file http_server.log 17:49:31.152529 ====> Client connect 17:49:31.152569 accept_connection 3 returned 4 17:49: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/4/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:34411/500 log/4/ip500 > log/4/stdout500 2> log/4/stderr500 1.152586 accept_connection 3 returned 0 17:49:31.152599 Read 93 bytes 17:49:31.152609 Process 93 bytes request 17:49:31.152621 Got request: GET /verifiedserver HTTP/1.1 17:49:31.152629 Are-we-friendly question received 17:49:31.152652 Wrote request (93 bytes) input to log/7/server.input 17:49:31.152668 Identifying ourselves as friends 17:49:31.152729 Response sent (56 bytes) and written to log/7/server.response 17:49:31.152739 special request received, no persistency 17:49:31.152748 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 58038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind497 ==104034== ==104034== Process terminating with default action of signal 4 (SIGILL) ==104034== Illegal opcode at address 0x4014520 ==104034== at 0x4014520: getparameter (tool_getparam.c:2862) ==104034== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==104034== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==104034== by 0x4003728: main (tool_main.c:186) === End of file valgrind497 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/13/valgrind498 ../src/curl -q --output log/13/curl498.out --include --trace-ascii log/13/trace498 --trace-time http://127.0.0.1:43845/498 --max-redirs 400 --location > log/13/stdout498 2> log/13/stderr498 curl returned 132, when expecting 56 498: exit FAILED == Contents of files in the log/13/ 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/13/valgrind498 ../src/curl -q --output log/13/curl498.out --include --trace-ascii log/13/trace498 --trace-time http://127.0.0.1:43845/498 --max-redirs 400 --location > log/13/stdout498 2> log/13/stderr498 === End of file commands.log === Start of file http_server.log 17:49:32.221982 ====> Client connect 17:49:32.222019 accept_connection 3 returned 4 17:49:32.222037 accept_connection 3 returned 0 17:49:32.222052 Read 93 bytes 17:49:32.222061 Process 93 bytes request 17:49:32.222074 Got request: GET /verifiedserver HTTP/1.1 17:49:32.222083 Are-we-friendly question received 17:49:32.222112 Wrote request (93 bytes) input to log/13/server.input 17:49:32.222128 Identifying ourselves as friends 17:49:32.222191 Response sent (56 bytes) and written to log/13/server.response 17:49:32.222201 special request received, no persistency 17:49:32.222209 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 53066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind498 ==104179== ==104179== Process terminating with default action of signal 4 (SIGILL) ==104179== Illegal opcode at address 0x4014520 ==104179== at 0x4014520: getparameter (tool_getparam.c:2862) ==104179== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==104179== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==104179== by 0x4003728: main (tool_main.c:186) === End of file valgrind498 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/15/valgrind499 ../src/curl -q --output log/15/curl499.out --include --trace-ascii log/15/trace499 --trace-time http://127.0.0.1:41057/499 -I > log/15/stdout499 2> log/15/stderr499 499: 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 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/15/valgrind499 ../src/curl -q --output log/15/curl499.out --include --trace-ascii log/15/trace499 --trace-time http://127.0.0.1:41057/499 -I > log/15/stdout499 2> log/15/stderr499 === End of file commands.log === Start of file http_server.log 17:49:31.234993 ====> Client connect 17:49:31.235028 accept_connection 3 returned 4 17:49:31.235044 accept_connection 3 returned 0 17:49:31.235059 Read 93 bytes 17:49:31.235069 Process 93 bytes request 17:49:31.235081 Got request: GET /verifiedserver HTTP/1.1 17:49:31.235091 Are-we-friendly question received 17:49:31.235117 Wrote request (93 bytes) input to log/15/server.input 17:49:31.235134 Identifying ourselves as friends 17:49:31.235193 Response sent (56 bytes) and written to log/15/server.response 17:49:31.235203 special request received, no persistency 17:49:31.235212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 39460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind499 ==104140== ==104140== Process terminating with default action of signal 4 (SIGILL) ==104140== Illegal opcode at address 0x4014520 ==104140== at 0x4014520: getparameter (tool_getparam.c:2862) ==104140== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==104140== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==104140== by 0x4003728: main (tool_main.c:186) === End of file valgrind499 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/4/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:34411/500 log/4/ip500 > log/4/stdout500 2> log/4/stderr500 500: 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 500 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --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/19/valgrind480 ../src/curl -q --output log/19/curl480.out --include --trace-ascii log/19/trace480 --trace-time --netrc --netrc-file log/19/netrc480 pop3://127.0.0.1:41113/480 > log/19/stdout480 2> log/19/stderr480 CMD (33792): ../libtool --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/valgrind501 ./libtest/libtests lib501 - > log/20/stdout501 2> log/20/stderr501 CMD (33792): ../libtool --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/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/14/test502.txt > log/14/stdout502 2> log/14/stderr502 og-file=log/4/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:34411/500 log/4/ip500 > log/4/stdout500 2> log/4/stderr500 === End of file commands.log === Start of file http_server.log 17:49:31.263272 ====> Client connect 17:49:31.263315 accept_connection 3 returned 4 17:49:31.263333 accept_connection 3 returned 0 17:49:31.263348 Read 93 bytes 17:49:31.263358 Process 93 bytes request 17:49:31.263371 Got request: GET /verifiedserver HTTP/1.1 17:49:31.263380 Are-we-friendly question received 17:49:31.263405 Wrote request (93 bytes) input to log/4/server.input 17:49:31.263422 Identifying ourselves as friends 17:49:31.263488 Response sent (56 bytes) and written to log/4/server.response 17:49:31.263500 special request received, no persistency 17:49:31.263508 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 33182 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file stderr500 URL: http://127.0.0.1:34411/500 === End of file stderr500 === Start of file valgrind500 ==104200== ==104200== Process terminating with default action of signal 4 (SIGILL) ==104200== Illegal opcode at address 0x51D97AF ==104200== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104200== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104200== by 0x51D97AF: Curl_open (url.c:502) ==104200== by 0x515120F: curl_easy_init (easy.c:365) ==104200== by 0x4009B81: test_lib500.lto_priv.0 (lib500.c:65) ==104200== by 0x40034B5: main (first.c:279) ==104200== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==104200== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104200== by 0x51D96BD: Curl_open (url.c:479) ==104200== by 0x515120F: curl_easy_init (easy.c:365) ==104200== by 0x4009B81: test_lib500.lto_priv.0 (lib500.c:65) ==104200== by 0x40034B5: main (first.c:279) ==104200== === End of file valgrind500 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 41113 (log/19/server/pop3_server.port) RUN: POP3 server is PID 102884 port 41113 * pid pop3 => 102884 102884 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/19/valgrind480 ../src/curl -q --output log/19/curl480.out --include --trace-ascii log/19/trace480 --trace-time --netrc --netrc-file log/19/netrc480 pop3://127.0.0.1:41113/480 > log/19/stdout480 2> log/19/stderr480 curl returned 132, when expecting 26 480: exit FAILED == Contents of files in the log/19/ 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/19/valgrind480 ../src/curl -q --output log/19/curl480.out --include --trace-ascii log/19/trace480 --trace-time --netrc --netrc-file log/19/netrc480 pop3://127.0.0.1:41113/480 > log/19/stdout480 2> log/19/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 17:49:30.541227 POP3 server listens on port IPv4/41113 17:49:30.541342 logged pid 102884 in log/19/server/pop3_server.pid 17:49:30.541373 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:49:30.386988 Running IPv4 version 17:49:30.387058 Listening on port 41113 17:49:30.387107 Wrote pid 102958 to log/19/server/pop3_sockfilt.pid 17:49:30.387141 Wrote port 41113 to log/19/server/pop3_server.port 17:49:30.387309 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 ==104310== ==104310== Process terminating with default action of signal 4 (SIGILL) ==104310== Illegal opcode at address 0x4014520 ==104310== at 0x4014520: getparameter (tool_getparam.c:2862) ==104310== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==104310== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==104310== by 0x4003728: main (tool_main.c:186) === End of file valgrind480 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/20/valgrind501 ./libtest/libtests lib501 - > log/20/stdout501 2> log/20/stderr501 libtests returned 132, when expecting 3 501: exit FAILED == Contents of files in the log/20/ 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/20/valgrind501 ./libtest/libtests lib501 - > log/20/stdout501 2> log/20/stderr501 === End of file commands.log === Start of file server.cmd Testnum 501 === End of file server.cmd === Start of file stderr501 URL: - === End of file stderr501 === Start of file valgrind501 ==104312== ==104312== Process terminating with default action of signal 4 (SIGILL) ==104312== Illegal opcode at address 0x51D97AF ==104312== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104312== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104312== by 0x51D97AF: Curl_open (url.c:502) ==104312== by 0x515120F: curl_easy_init (easy.c:365) ==104312== by 0x400A121: test_lib501.lto_priv.0 (lib501.c:38) ==104312== by 0x40034B5: main (first.c:279) ==104312== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==104312== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104312== by 0x51D96BD: Curl_open (url.c:479) ==104312== by 0x515120F: curl_easy_init (easy.c:365) ==104312== by 0x400A121: test_lib501.lto_priv.0 (lib501.c:38) ==104312== by 0x40034B5: main (first.c:279) ==104312== === End of file valgrind501 CMD (33792): ../libtool --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/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/6/stdout504 2> log/6/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/10/valgrind509 ./libtest/libtests lib509 - > log/10/stdout509 2> log/10/stderr509 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/14/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/14/test502.txt > log/14/stdout502 2> log/14/stderr502 502: data FAILED: --- log/14/check-expected 2026-01-28 17:49:32.696555434 +0000 +++ log/14/check-generated 2026-01-28 17:49:32.696555434 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar swsclose[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/14/ 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/14/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/14/test502.txt > log/14/stdout502 2> log/14/stderr502 === End of file commands.log === Start of file server.cmd Testnum 502 === End of file server.cmd === Start of file stderr502 URL: file:///startdir/src/build-curl/tests/log/14/test502.txt === End of file stderr502 === Start of file test502.txt foo bar swsclose bar foo moo === End of file test502.txt === Start of file valgrind502 ==104373== ==104373== Process terminating with default action of signal 4 (SIGILL) ==104373== Illegal opcode at address 0x51D97AF ==104373== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104373== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104373== by 0x51D97AF: Curl_open (url.c:502) ==104373== by 0x515120F: curl_easy_init (easy.c:365) ==104373== by 0x4064255: test_lib502.part.0.lto_priv.0 (lib502.c:41) ==104373== by 0x40034B5: main (first.c:279) ==104373== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==104373== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104373== by 0x51D96BD: Curl_open (url.c:479) ==104373== by 0x515120F: curl_easy_init (easy.c:365) ==104373== by 0x4064255: test_lib502.part.0.lto_priv.0 (lib502.c:41) ==104373== by 0x40034B5: main (first.c:279) ==104373== === End of file valgrind502 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/6/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/6/stdout504 2> log/6/stderr504 libtests returned 132, when expecting 41 504: exit FAILED == Contents of files in the log/6/ 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/6/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/6/stdout504 2> log/6/stderr504 === End of file commands.log === Start of file server.cmd Testnum 504 === End of file server.cmd === Start of file stderr504 URL: http://127.0.0.1:47/504 === End of file stderr504 === Start of file valgrind504 ==104487== ==104487== Process terminating with default action of signal 4 (SIGILL) ==104487== Illegal opcode at address 0x51D97AF ==104487== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104487== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104487== by 0x51D97AF: Curl_open (url.c:502) ==104487== by 0x515120F: curl_easy_init (easy.c:365) ==104487== by 0x4063055: test_lib504.part.0.lto_priv.0 (lib504.c:45) ==104487== by 0x40034B5: main (first.c:279) ==104487== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==104487== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104487== by 0x51D96BD: Curl_open (url.c:479) ==104487== by 0x515120F: curl_easy_init (easy.c:365) ==104487== by 0x4063055: test_lib504.part.0.lto_priv.0 (lib504.c:45) ==104487== by 0x40034B5: main (first.c:279) ==104487== === 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/16/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/16/stdout507 2> log/16/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/3/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:45927/510 > log/3/stdout510 2> log/3/stderr510 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/10/valgrind509 ./libtest/libtests lib509 - > log/10/stdout509 2> log/10/stderr509 509: stdout FAILED: --- log/10/check-expected 2026-01-28 17:49:32.926555434 +0000 +++ log/10/check-generated 2026-01-28 17:49:32.926555434 +0000 @@ -1 +0,0 @@ -Callbacks were invoked![LF] == Contents of files in the log/10/ 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/10/valgrind509 ./libtest/libtests lib509 - > log/10/stdout509 2> log/10/stderr509 === End of file commands.log === Start of file server.cmd Testnum 509 === End of file server.cmd === Start of file stderr509 URL: - === End of file stderr509 === Start of file valgrind509 ==104579== ==104579== Process terminating with default action of signal 4 (SIGILL) ==104579== Illegal opcode at address 0x51D97AF ==104579== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104579== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104579== by 0x51D97AF: Curl_open (url.c:502) ==104579== by 0x515120F: curl_easy_init (easy.c:365) ==104579== by 0x400DF4A: test_lib509.lto_priv.0 (lib509.c:100) ==104579== by 0x40034B5: main (first.c:279) ==104579== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==104579== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104579== by 0x51D96BD: Curl_open (url.c:479) ==104579== by 0x515120F: curl_easy_init (easy.c:365) ==104579== by 0x400DF4A: test_lib509.lto_priv.0 (lib509.c:100) ==104579== by 0x40034B5: main (first.c:279) ==104579== === End of file valgrind509 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/16/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/16/stdout507 2> log/16/stderr507 libtests returned 132, when expecting 6 507: exit FAILED == Contents of files in the log/16/ 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/16/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/16/stdout507 2> log/16/stderr507 === End of file commands.log === Start of file http_server.log 17:49:31.636852 ====> Client connect 17:49:31.636890 accept_connection 3 returned 4 17:49:31.636908 accept_connection 3 returned 0 17:49:31.636924 Read 93 bytes 17:49:31.636934 Process 93 bytes request 17:49:31.636947 Got request: GET /verifiedserver HTTP/1.1 17:49:31.636956 Are-we-friendly question received 17:49:31.636984 Wrote request (93 bytes) input to log/16/server.input 17:49:31.637000 Identifying ourselves as friends 17:49:31.637067 Response sent (56 bytes) and written to log/16/server.response 17:49:31.637076 special request received, no persistency 17:49:31.637085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 46202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file stderr507 URL: http://non-existing-host.haxx.se/ === End of file stderr507 === Start of file valgrind507 ==104591== ==104591== Process terminating with default action of signal 4 (SIGILL) ==104591== Illegal opcode at address 0x51A0F00 ==104591== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==104591== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==104591== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==104591== by 0x40627B5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==104591== by 0x40034B5: main (first.c:279) ==104591== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==104591== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104591== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==104591== by 0x40627B5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==104591== by 0x40034B5: main (first.c:279) ==104591== === End of file valgrind507 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/3/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:45927/510 > log/3/stdout510 2> log/3/stderr510 510: 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 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/3/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:45927/510 > log/3/stdout510 2> log/3/stderr510 === End of file commands.log === Start of file http_server.log 17:49:31.663118 ====> Client connect 17:49:31.663153 accept_connection 3 returned 4 17:49:31.663169 accept_connection 3 returned 0 17:49:31.663184 Read 93 bytes 17:49:31.663194 Process 93 bytes request 17:49:31.663207 Got request: GET /verifiedserver HTTP/1.1 17:49:31.663216 Are-we-friendly question received 17:49:31.663243 Wrote request (93 bytes) input to log/3/server.input 17:49:31.663261 Identifying ourselves as friends 17:49:31.663319 Response sent (56 bytes) and written to log/3/server.response 17:49:31.663329 special request received, no persistency 17:49:31.663338 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 47480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file stderr510 URL: http://127.0.0.1:45927/510 === End of file stderr510 === Start of file valgrind510 ==104681== ==104681== Process terminating with default action of signal 4 (SIGILL) ==104681== Illegal opcode at address 0x51D97AF ==104681== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104681== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104681== by 0x51D97AF: Curl_open (url.c:502) ==104681== by 0x515120F: curl_easy_init (easy.c:365) ==104681== by 0x400A3C0: test_lib510.lto_priv.0 (lib510.c:74) ==104681== by 0x40034B5: main (first.c:279) ==104681== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 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/22/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:42933/508 > log/22/stdout508 2> log/22/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/12/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:38035/505 log/12/upload505 > log/12/stdout505 2> log/12/stderr505 87 ==104681== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104681== by 0x51D96BD: Curl_open (url.c:479) ==104681== by 0x515120F: curl_easy_init (easy.c:365) ==104681== by 0x400A3C0: test_lib510.lto_priv.0 (lib510.c:74) ==104681== by 0x40034B5: main (first.c:279) ==104681== === End of file valgrind510 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/22/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:42933/508 > log/22/stdout508 2> log/22/stderr508 508: 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 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/22/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:42933/508 > log/22/stdout508 2> log/22/stderr508 === End of file commands.log === Start of file http_server.log 17:49:31.649864 ====> Client connect 17:49:31.649898 accept_connection 3 returned 4 17:49:31.649915 accept_connection 3 returned 0 17:49:31.649931 Read 93 bytes 17:49:31.649941 Process 93 bytes request 17:49:31.649954 Got request: GET /verifiedserver HTTP/1.1 17:49:31.649963 Are-we-friendly question received 17:49:31.649991 Wrote request (93 bytes) input to log/22/server.input 17:49:31.650007 Identifying ourselves as friends 17:49:31.650067 Response sent (56 bytes) and written to log/22/server.response 17:49:31.650077 special request received, no persistency 17:49:31.650086 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 38414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file stderr508 URL: http://127.0.0.1:42933/508 === End of file stderr508 === Start of file valgrind508 ==104645== ==104645== Process terminating with default action of signal 4 (SIGILL) ==104645== Illegal opcode at address 0x51D97AF ==104645== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104645== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104645== by 0x51D97AF: Curl_open (url.c:502) ==104645== by 0x515120F: curl_easy_init (easy.c:365) ==104645== by 0x400A22A: test_lib508.lto_priv.0 (lib508.c:66) ==104645== by 0x40034B5: main (first.c:279) ==104645== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==104645== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104645== by 0x51D96BD: Curl_open (url.c:479) ==104645== by 0x515120F: curl_easy_init (easy.c:365) ==104645== by 0x400A22A: test_lib508.lto_priv.0 (lib508.c:66) ==104645== by 0x40034B5: main (first.c:279) ==104645== === End of file valgrind508 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/12/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:38035/505 log/12/upload505 > log/12/stdout505 2> log/12/stderr505 505: 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 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/12/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:38035/505 log/12/upload505 > log/12/stdout505 2> log/12/stderr505 === End of file commands.log === Start of file ftp_server.log 17:49:31.775569 ====> Client connect 17:49:31.775725 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:31.775996 < "USER anonymous" 17:49:31.776031 > "331 We are happy you popped in![CR][LF]" 17:49:31.776195 < "PASS ftp@example.com" 17:49:31.776222 > "230 Welcome you silly person[CR][LF]" 17:49:31.776374 < "PWD" 17:49:31.776403 > "257 "/" is current directory[CR][LF]" 17:49:31.776561 < "EPSV" 17:49:31.776589 ====> Passive DATA channel requested by client 17:49:31.776603 DATA sockfilt for passive data channel starting... 17:49:31.778396 DATA sockfilt for passive data channel started (pid 104528) 17:49:31.778500 DATA sockfilt for passive data channel listens on port 41761 17:49:31.778537 > "229 Entering Passive Mode (|||41761|)[CR][LF]" 17:49:31.778555 Client has been notified that DATA conn will be accepted on port 41761 17:49:31.778774 Client connects to port 41761 17:49:31.778804 ====> Client established passive DATA connection on port 41761 17:49:31.778880 < "TYPE I" 17:49:31.778909 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:31.779059 < "SIZE verifiedserver" 17:49:31.779098 > "213 17[CR][LF]" 17:49:31.779248 < "RETR verifiedserver" 17:49:31.779280 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:31.779360 =====> Closing passive DATA connection... 17:49:31.779377 Server disconnects passive DATA connection 17:49:31.779595 Server disconnected passive DATA connection 17:49:31.779623 DATA sockfilt for passive data channel quits (pid 104528) 17:49:31.779827 DATA sockfilt for passive data channel quit (pid 104528) 17:49:31.779850 =====> Closed passive DATA connection 17:49:31.779878 > "226 File transfer complete[CR][LF]" 17:49:31.820404 < "QUIT" 17:49:31.820473 > "221 bye bye baby[CR][LF]" 17:49:31.821639 MAIN sockfilt said DISC 17:49:31.821671 ====> Client disconnected 17:49:31.821752 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:31.621648 ====> Client connect 17:49:31.621923 Received DATA (on stdin) 17:49:31.621937 > 146 bytes data, server => client 17:49:31.621949 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:31.621959 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:31.621969 '220 \___|\___/|_| \_\_____|\r\n' 17:49:31.622042 < 16 bytes data, client => server 17:49:31.622054 'USER anonymous\r\n' 17:49:31.622220 Received DATA (on stdin) 17:49:31.622231 > 33 bytes data, server => client 17:49:31.622242 '331 We are happy you popped in!\r\n' 17:49:31.622293 < 22 bytes data, client => server 17:49:31.622304 'PASS ftp@example.com\r\n' 17:49:31.622408 Received DATA (on stdin) 17:49:31.622420 > 30 bytes data, server => client 17:49:31.622431 '230 Welcome you silly person\r\n' 17:49:31.622479 < 5 bytes data, client => server 17:49:31.622490 'PWD\r\n' 17:49:31.622589 Received DATA (on stdin) 17:49:31.622600 > 30 bytes data, server => client 17:49:31.622610 '257 "/" is current directory\r\n' 17:49:31.622668 < 6 bytes data, client => server 17:49:31.622678 'EPSV\r\n' 17:49:31.624747 Received DATA (on stdin) 17:49:31.624760 > 39 bytes data, server => client 17:49:31.624771 '229 Entering Passive Mode (|||41761|)\r\n' 17:49:31.624882 < 8 bytes data, client => server 17:49:31.624896 'TYPE I\r\n' 17:49:31.625094 Received DATA (on stdin) 17:49:31.625106 > 33 bytes data, server => client 17:49:31.625117 '200 I modify TYPE as you wanted\r\n' 17:49:31.625165 < 21 bytes data, client => server 17:49:31.62517CMD (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/11/valgrind517 ./libtest/libtests lib517 - > log/11/stdout517 2> log/11/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/18/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:34067/512 > log/18/stdout512 2> log/18/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/2/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:38779/513 > log/2/stdout513 2> log/2/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/1/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:39965/511 > log/1/stdout511 2> log/1/stderr511 6 'SIZE verifiedserver\r\n' 17:49:31.625286 Received DATA (on stdin) 17:49:31.625298 > 8 bytes data, server => client 17:49:31.625308 '213 17\r\n' 17:49:31.625354 < 21 bytes data, client => server 17:49:31.625365 'RETR verifiedserver\r\n' 17:49:31.625566 Received DATA (on stdin) 17:49:31.625577 > 29 bytes data, server => client 17:49:31.625588 '150 Binary junk (17 bytes).\r\n' 17:49:31.626065 Received DATA (on stdin) 17:49:31.626077 > 28 bytes data, server => client 17:49:31.626088 '226 File transfer complete\r\n' 17:49:31.666423 < 6 bytes data, client => server 17:49:31.666445 'QUIT\r\n' 17:49:31.666667 Received DATA (on stdin) 17:49:31.666679 > 18 bytes data, server => client 17:49:31.666689 '221 bye bye baby\r\n' 17:49:31.667771 ====> Client disconnect 17:49:31.667938 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:31.624281 Running IPv4 version 17:49:31.624336 Listening on port 41761 17:49:31.624375 Wrote pid 104528 to log/12/server/ftp_sockdata.pid 17:49:31.624527 Received PING (on stdin) 17:49:31.624605 Received PORT (on stdin) 17:49:31.624915 ====> Client connect 17:49:31.625612 Received DATA (on stdin) 17:49:31.625624 > 17 bytes data, server => client 17:49:31.625635 'WE ROOLZ: 81047\r\n' 17:49:31.625656 Received DISC (on stdin) 17:49:31.625667 ====> Client forcibly disconnected 17:49:31.625818 Received QUIT (on stdin) 17:49:31.625828 quits 17:49:31.625890 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 505 === End of file server.cmd === Start of file stderr505 URL: ftp://127.0.0.1:38035/505 === End of file stderr505 === Start of file upload505 Contents of a file to verify ftp upload works? === End of file upload505 === Start of file valgrind505 ==104697== ==104697== Process terminating with default action of signal 4 (SIGILL) ==104697== Illegal opcode at address 0x51D97AF ==104697== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104697== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104697== by 0x51D97AF: Curl_open (url.c:502) ==104697== by 0x515120F: curl_easy_init (easy.c:365) ==104697== by 0x400EF98: test_lib505.lto_priv.0 (lib505.c:85) ==104697== by 0x40034B5: main (first.c:279) ==104697== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==104697== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104697== by 0x51D96BD: Curl_open (url.c:479) ==104697== by 0x515120F: curl_easy_init (easy.c:365) ==104697== by 0x400EF98: test_lib505.lto_priv.0 (lib505.c:85) ==104697== by 0x40034B5: main (first.c:279) ==104697== === End of file valgrind505 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/11/valgrind517 ./libtest/libtests lib517 - > log/11/stdout517 2> log/11/stderr517 -------e-v- OK (493 out of 1760, remaining: 01:46, took 0.738s, duration: 00:41) 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/18/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:34067/512 > log/18/stdout512 2> log/18/stderr512 512: 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 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/18/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:34067/512 > log/18/stdout512 2> log/18/stderr512 === End of file commands.log === Start of file http_server.log 17:49:31.881286 ====> Client connect 17:49:31.881325 accept_connection 3 returned 4 17:49:31.881342 accept_connection 3 returned 0 17:49:31.881358 Read 93 bytes 17:49:31.881368 Process 93 bytes request 17:49:31.881381 Got request: GET /verifiedserver HTTP/1.1 17:49:31.881391 Are-we-friendly question received 17:49:31.881418 Wrote request (93 bytes) input to log/18/server.input 17:49:31.881435 Identifying ourselves as friends 17:49:31.881510 Response sent (56 bytes) and written to log/18/server.response 17:49:31.881521 special request received, no persistency 17:49:31.881529 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 55468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file stderr512 URL: http://127.0.0.1:34067/512 === End of file stderr512 === Start of file valgrind512 ==104921== ==104921== Process terminating with default action of signal 4 (SIGILL) ==104921== Illegal opcode at address 0x51D97AF ==104921== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104921== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104921== by 0x51D97AF: Curl_open (url.c:502) ==104921== by 0x515120F: curl_easy_init (easy.c:365) ==104921== by 0x400E075: test_lib512.lto_priv.0 (lib512.c:36) ==104921== by 0x40034B5: main (first.c:279) ==104921== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==104921== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104921== by 0x51D96BD: Curl_open (url.c:479) ==104921== by 0x515120F: curl_easy_init (easy.c:365) ==104921== by 0x400E075: test_lib512.lto_priv.0 (lib512.c:36) ==104921== by 0x40034B5: main (first.c:279) ==104921== === End of file valgrind512 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/1/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:39965/511 > log/1/stdout511 2> log/1/stderr511 511: 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 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/1/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:39965/511 > log/1/stdout511 2> log/1/stderr511 === End of file commands.log === Start of file ftp_server.log 17:49:32.038029 ====> Client connect 17:49:32.038180 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.038540 < "USER anonymous" 17:49:32.038575 > "331 We are happy you popped in![CR][LF]" 17:49:32.038733 < "PASS ftp@example.com" 17:49:32.038758 > "230 Welcome you silly person[CR][LF]" 17:49:32.038899 < "PWD" 17:49:32.038928 > "257 "/" is current directory[CR][LF]" 17:49:32.039079 < "EPSV" 17:49:32.039105 ====> Passive DATA channel requested by client 17:49:32.039119 DATA sockfilt for passive data channel starting... 17:49:32.043542 DATA sockfilt for passive data channel started (pid 104907) 17:49:32.043647 DATA sockfilt for passive data channel listens on port 44181 17:49:32.043696 > "229 Entering Passive Mode (|||44181|)[CR][LF]" 17:49:32.043714CMD (33792): ../libtool --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/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:41669/514 > log/21/stdout514 2> log/21/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/17/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:44593/515 > log/17/stdout515 2> log/17/stderr515 Client has been notified that DATA conn will be accepted on port 44181 17:49:32.043941 Client connects to port 44181 17:49:32.043968 ====> Client established passive DATA connection on port 44181 17:49:32.044044 < "TYPE I" 17:49:32.044073 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.044222 < "SIZE verifiedserver" 17:49:32.044255 > "213 17[CR][LF]" 17:49:32.044395 < "RETR verifiedserver" 17:49:32.044430 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.044514 =====> Closing passive DATA connection... 17:49:32.044530 Server disconnects passive DATA connection 17:49:32.044720 Server disconnected passive DATA connection 17:49:32.044745 DATA sockfilt for passive data channel quits (pid 104907) 17:49:32.045075 DATA sockfilt for passive data channel quit (pid 104907) 17:49:32.045101 =====> Closed passive DATA connection 17:49:32.045127 > "226 File transfer complete[CR][LF]" 17:49:32.090650 < "QUIT" 17:49:32.090707 > "221 bye bye baby[CR][LF]" 17:49:32.091943 MAIN sockfilt said DISC 17:49:32.091986 ====> Client disconnected 17:49:32.092060 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:31.884120 ====> Client connect 17:49:31.884375 Received DATA (on stdin) 17:49:31.884389 > 146 bytes data, server => client 17:49:31.884401 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:31.884411 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:31.884421 '220 \___|\___/|_| \_\_____|\r\n' 17:49:31.884488 < 16 bytes data, client => server 17:49:31.884499 'USER anonymous\r\n' 17:49:31.884764 Received DATA (on stdin) 17:49:31.884775 > 33 bytes data, server => client 17:49:31.884786 '331 We are happy you popped in!\r\n' 17:49:31.884836 < 22 bytes data, client => server 17:49:31.884846 'PASS ftp@example.com\r\n' 17:49:31.884942 Received DATA (on stdin) 17:49:31.884952 > 30 bytes data, server => client 17:49:31.884963 '230 Welcome you silly person\r\n' 17:49:31.885008 < 5 bytes data, client => server 17:49:31.885018 'PWD\r\n' 17:49:31.885113 Received DATA (on stdin) 17:49:31.885124 > 30 bytes data, server => client 17:49:31.885134 '257 "/" is current directory\r\n' 17:49:31.885189 < 6 bytes data, client => server 17:49:31.885199 'EPSV\r\n' 17:49:31.889906 Received DATA (on stdin) 17:49:31.889918 > 39 bytes data, server => client 17:49:31.889929 '229 Entering Passive Mode (|||44181|)\r\n' 17:49:31.890046 < 8 bytes data, client => server 17:49:31.890059 'TYPE I\r\n' 17:49:31.890258 Received DATA (on stdin) 17:49:31.890269 > 33 bytes data, server => client 17:49:31.890280 '200 I modify TYPE as you wanted\r\n' 17:49:31.890327 < 21 bytes data, client => server 17:49:31.890338 'SIZE verifiedserver\r\n' 17:49:31.890441 Received DATA (on stdin) 17:49:31.890451 > 8 bytes data, server => client 17:49:31.890460 '213 17\r\n' 17:49:31.890505 < 21 bytes data, client => server 17:49:31.890515 'RETR verifiedserver\r\n' 17:49:31.890718 Received DATA (on stdin) 17:49:31.890729 > 29 bytes data, server => client 17:49:31.890739 '150 Binary junk (17 bytes).\r\n' 17:49:31.891315 Received DATA (on stdin) 17:49:31.891327 > 28 bytes data, server => client 17:49:31.891337 '226 File transfer complete\r\n' 17:49:31.936662 < 6 bytes data, client => server 17:49:31.936689 'QUIT\r\n' 17:49:31.936902 Received DATA (on stdin) 17:49:31.936916 > 18 bytes data, server => client 17:49:31.936927 '221 bye bye baby\r\n' 17:49:31.938067 ====> Client disconnect 17:49:31.938252 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.887278 Running IPv4 version 17:49:32.887350 Listening on port 44181 17:49:32.887392 Wrote pid 104907 to log/1/server/ftp_sockdata.pid 17:49:32.889660 Received PING (on stdin) 17:49:32.889754 Received PORT (on stdin) 17:49:32.890081 ====> Client connect 17:49:32.890800 Received DATA (on stdin) 17:49:32.890815 > 17 bytes data, server => client 17:49:32.890825 'WE ROOLZ: 81139\r\n' 17:49:32.890848 Received DISC (on stdin) 17:49:32.890860 ====> Client forcibly disconnected 17:49:32.890985 Received QUIT (on stdin) 17:49:32.890998 quits 17:49:32.891068 ============> 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 stderr511 URL: ftp://127.0.0.1:39965/511 === End of file stderr511 === Start of file valgrind511 ==105050== ==105050== Process terminating with default action of signal 4 (SIGILL) ==105050== Illegal opcode at address 0x51D97AF ==105050== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105050== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105050== by 0x51D97AF: Curl_open (url.c:502) ==105050== by 0x515120F: curl_easy_init (easy.c:365) ==105050== by 0x400A5EA: test_lib511.lto_priv.0 (lib511.c:36) ==105050== by 0x40034B5: main (first.c:279) ==105050== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105050== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105050== by 0x51D96BD: Curl_open (url.c:479) ==105050== by 0x515120F: curl_easy_init (easy.c:365) ==105050== by 0x400A5EA: test_lib511.lto_priv.0 (lib511.c:36) ==105050== by 0x40034B5: main (first.c:279) ==105050== === End of file valgrind511 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/17/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:44593/515 > log/17/stdout515 2> log/17/stderr515 515: 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 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/17/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:44593/515 > log/17/stdout515 2> log/17/stderr515 === End of file commands.log === Start of file http_server.log 17:49:31.929590 ====> Client connect 17:49:31.929628 accept_connection 3 returned 4 17:49:31.929645 accept_connection 3 returned 0 17:49:31.929661 Read 93 bytes 17:49:31.929670 Process 93 bytes request 17:49:31.929683 Got request: GET /verifiedserver HTTP/1.1 17:49:31.929692 Are-we-friendly question received 17:49:31.929718 Wrote request (93 bytes) input to log/17/server.input 17:49:31.929735 Identifying ourselves as friends 17:49:31.929795 Response sent (56 bytes) and written to log/17/server.response 17:49:31.929805 special request received, no persistency 17:49:31.929814 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 44124 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file stderr515 URL: http://127.0.0.1:44593/515 === End of file stderr515 === Start of file valgrind515 ==105027== ==105027== Process terminating with default action of signal 4 (SIGILL) ==105027== Illegal opcode at address 0x51D97AF ==105027== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105027== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105027== by 0x51D97AF: Curl_open (url.c:502) ==105027== by 0x515120F: curl_easy_init (easyCMD (33792): ../libtool --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/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:39173/519 > log/23/stdout519 2> log/23/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/24/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:39649/516 > log/24/stdout516 2> log/24/stderr516 CMD (33792): ../libtool --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/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:42799/520 > log/8/stdout520 2> log/8/stderr520 .c:365) ==105027== by 0x400A9EA: test_lib515.lto_priv.0 (lib515.c:36) ==105027== by 0x40034B5: main (first.c:279) ==105027== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105027== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105027== by 0x51D96BD: Curl_open (url.c:479) ==105027== by 0x515120F: curl_easy_init (easy.c:365) ==105027== by 0x400A9EA: test_lib515.lto_priv.0 (lib515.c:36) ==105027== by 0x40034B5: main (first.c:279) ==105027== === End of file valgrind515 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/23/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:39173/519 > log/23/stdout519 2> log/23/stderr519 519: 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 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/23/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:39173/519 > log/23/stdout519 2> log/23/stderr519 === End of file commands.log === Start of file http_server.log 17:49:33.257787 ====> Client connect 17:49:33.257817 accept_connection 3 returned 4 17:49:33.257832 accept_connection 3 returned 0 17:49:33.257845 Read 93 bytes 17:49:33.257855 Process 93 bytes request 17:49:33.257866 Got request: GET /verifiedserver HTTP/1.1 17:49:33.257875 Are-we-friendly question received 17:49:33.257901 Wrote request (93 bytes) input to log/23/server.input 17:49:33.257918 Identifying ourselves as friends 17:49:33.257970 Response sent (56 bytes) and written to log/23/server.response 17:49:33.257980 special request received, no persistency 17:49:33.257988 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 58260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file stderr519 URL: http://127.0.0.1:39173/519 === End of file stderr519 === Start of file valgrind519 ==105374== ==105374== Process terminating with default action of signal 4 (SIGILL) ==105374== Illegal opcode at address 0x51D97AF ==105374== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105374== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105374== by 0x51D97AF: Curl_open (url.c:502) ==105374== by 0x515120F: curl_easy_init (easy.c:365) ==105374== by 0x400AC2A: test_lib519.lto_priv.0 (lib519.c:36) ==105374== by 0x40034B5: main (first.c:279) ==105374== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105374== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105374== by 0x51D96BD: Curl_open (url.c:479) ==105374== by 0x515120F: curl_easy_init (easy.c:365) ==105374== by 0x400AC2A: test_lib519.lto_priv.0 (lib519.c:36) ==105374== by 0x40034B5: main (first.c:279) ==105374== === End of file valgrind519 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:39649/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:39649/516 > log/24/stdout516 2> log/24/stderr516 === End of file commands.log === Start of file http_server.log 17:49:32.209474 ====> Client connect 17:49:32.209517 accept_connection 3 returned 4 17:49:32.209538 accept_connection 3 returned 0 17:49:32.209553 Read 93 bytes 17:49:32.209563 Process 93 bytes request 17:49:32.209576 Got request: GET /verifiedserver HTTP/1.1 17:49:32.209585 Are-we-friendly question received 17:49:32.209613 Wrote request (93 bytes) input to log/24/server.input 17:49:32.209631 Identifying ourselves as friends 17:49:32.209693 Response sent (56 bytes) and written to log/24/server.response 17:49:32.209705 special request received, no persistency 17:49:32.209714 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 60210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file stderr516 URL: http://127.0.0.1:39649/516 === End of file stderr516 === Start of file valgrind516 ==105226== ==105226== Process terminating with default action of signal 4 (SIGILL) ==105226== Illegal opcode at address 0x51D97AF ==105226== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105226== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105226== by 0x51D97AF: Curl_open (url.c:502) ==105226== by 0x515120F: curl_easy_init (easy.c:365) ==105226== by 0x400AB0A: test_lib516.lto_priv.0 (lib516.c:36) ==105226== by 0x40034B5: main (first.c:279) ==105226== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105226== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105226== by 0x51D96BD: Curl_open (url.c:479) ==105226== by 0x515120F: curl_easy_init (easy.c:365) ==105226== by 0x400AB0A: test_lib516.lto_priv.0 (lib516.c:36) ==105226== by 0x40034B5: main (first.c:279) ==105226== === End of file valgrind516 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/8/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:42799/520 > log/8/stdout520 2> log/8/stderr520 520: 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 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/8/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:42799/520 > log/8/stdout520 2> log/8/stderr520 === End of file commands.log === Start of file ftp_server.log 17:49:32.425593 ====> Client connect 17:49:32.425765 > "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/9/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 36391 > log/9/stdout521 2> log/9/stderr521 CMD (33792): ../libtool --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/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 35671 > log/7/stdout522 2> log/7/stderr522 ___/|_| \_\_____|[CR][LF]" 17:49:32.426201 < "USER anonymous" 17:49:32.426251 > "331 We are happy you popped in![CR][LF]" 17:49:32.426456 < "PASS ftp@example.com" 17:49:32.426495 > "230 Welcome you silly person[CR][LF]" 17:49:32.426678 < "PWD" 17:49:32.426711 > "257 "/" is current directory[CR][LF]" 17:49:32.426894 < "EPSV" 17:49:32.426943 ====> Passive DATA channel requested by client 17:49:32.426961 DATA sockfilt for passive data channel starting... 17:49:32.429047 DATA sockfilt for passive data channel started (pid 105376) 17:49:32.429178 DATA sockfilt for passive data channel listens on port 33157 17:49:32.429226 > "229 Entering Passive Mode (|||33157|)[CR][LF]" 17:49:32.429244 Client has been notified that DATA conn will be accepted on port 33157 17:49:32.429544 Client connects to port 33157 17:49:32.429587 ====> Client established passive DATA connection on port 33157 17:49:32.429686 < "TYPE I" 17:49:32.429722 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.429892 < "SIZE verifiedserver" 17:49:32.429929 > "213 17[CR][LF]" 17:49:32.430092 < "RETR verifiedserver" 17:49:32.430129 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.430225 =====> Closing passive DATA connection... 17:49:32.430240 Server disconnects passive DATA connection 17:49:32.430534 Server disconnected passive DATA connection 17:49:32.430576 DATA sockfilt for passive data channel quits (pid 105376) 17:49:32.430860 DATA sockfilt for passive data channel quit (pid 105376) 17:49:32.430893 =====> Closed passive DATA connection 17:49:32.430936 > "226 File transfer complete[CR][LF]" 17:49:32.477931 < "QUIT" 17:49:32.477996 > "221 bye bye baby[CR][LF]" 17:49:32.479198 MAIN sockfilt said DISC 17:49:32.479245 ====> Client disconnected 17:49:32.479327 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:33.271657 ====> Client connect 17:49:33.271973 Received DATA (on stdin) 17:49:33.271990 > 146 bytes data, server => client 17:49:33.272002 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:33.272012 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:33.272022 '220 \___|\___/|_| \_\_____|\r\n' 17:49:33.272105 < 16 bytes data, client => server 17:49:33.272119 'USER anonymous\r\n' 17:49:33.272448 Received DATA (on stdin) 17:49:33.272462 > 33 bytes data, server => client 17:49:33.272473 '331 We are happy you popped in!\r\n' 17:49:33.272530 < 22 bytes data, client => server 17:49:33.272544 'PASS ftp@example.com\r\n' 17:49:33.272684 Received DATA (on stdin) 17:49:33.272696 > 30 bytes data, server => client 17:49:33.272707 '230 Welcome you silly person\r\n' 17:49:33.272760 < 5 bytes data, client => server 17:49:33.272772 'PWD\r\n' 17:49:33.272898 Received DATA (on stdin) 17:49:33.272910 > 30 bytes data, server => client 17:49:33.272920 '257 "/" is current directory\r\n' 17:49:33.272985 < 6 bytes data, client => server 17:49:33.272999 'EPSV\r\n' 17:49:33.275441 Received DATA (on stdin) 17:49:33.275459 > 39 bytes data, server => client 17:49:33.275470 '229 Entering Passive Mode (|||33157|)\r\n' 17:49:33.275671 < 8 bytes data, client => server 17:49:33.275683 'TYPE I\r\n' 17:49:33.275909 Received DATA (on stdin) 17:49:33.275920 > 33 bytes data, server => client 17:49:33.275930 '200 I modify TYPE as you wanted\r\n' 17:49:33.275990 < 21 bytes data, client => server 17:49:33.276001 'SIZE verifiedserver\r\n' 17:49:33.276115 Received DATA (on stdin) 17:49:33.276125 > 8 bytes data, server => client 17:49:33.276134 '213 17\r\n' 17:49:33.276193 < 21 bytes data, client => server 17:49:33.276204 'RETR verifiedserver\r\n' 17:49:33.276517 Received DATA (on stdin) 17:49:33.276538 > 29 bytes data, server => client 17:49:33.276550 '150 Binary junk (17 bytes).\r\n' 17:49:33.277136 Received DATA (on stdin) 17:49:33.277151 > 28 bytes data, server => client 17:49:33.277164 '226 File transfer complete\r\n' 17:49:33.323895 < 6 bytes data, client => server 17:49:33.323937 'QUIT\r\n' 17:49:33.324196 Received DATA (on stdin) 17:49:33.324211 > 18 bytes data, server => client 17:49:33.324222 '221 bye bye baby\r\n' 17:49:33.325317 ====> Client disconnect 17:49:33.325524 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.275040 Running IPv4 version 17:49:32.275112 Listening on port 33157 17:49:32.275145 Wrote pid 105376 to log/8/server/ftp_sockdata.pid 17:49:32.275165 Received PING (on stdin) 17:49:32.275273 Received PORT (on stdin) 17:49:32.275640 ====> Client connect 17:49:32.276432 Received DATA (on stdin) 17:49:32.276447 > 17 bytes data, server => client 17:49:32.276457 'WE ROOLZ: 81155\r\n' 17:49:32.276483 Received DISC (on stdin) 17:49:32.276502 ====> Client forcibly disconnected 17:49:32.276784 Received QUIT (on stdin) 17:49:32.276803 quits 17:49:32.276874 ============> 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 stderr520 URL: ftp://127.0.0.1:42799/520 === End of file stderr520 === Start of file valgrind520 ==105456== ==105456== Process terminating with default action of signal 4 (SIGILL) ==105456== Illegal opcode at address 0x51D97AF ==105456== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105456== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105456== by 0x51D97AF: Curl_open (url.c:502) ==105456== by 0x515120F: curl_easy_init (easy.c:365) ==105456== by 0x400AD6A: test_lib520.lto_priv.0 (lib520.c:36) ==105456== by 0x40034B5: main (first.c:279) ==105456== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105456== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105456== by 0x51D96BD: Curl_open (url.c:479) ==105456== by 0x515120F: curl_easy_init (easy.c:365) ==105456== by 0x400AD6A: test_lib520.lto_priv.0 (lib520.c:36) ==105456== by 0x40034B5: main (first.c:279) ==105456== === End of file valgrind520 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/9/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 36391 > log/9/stdout521 2> log/9/stderr521 521: 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 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/9/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 36391 > log/9/stdout521 2> log/9/stderr521 === End of file commands.log === Start of file ftp_server.log 17:49:32.485722 ====> Client connect 17:49:32.485887 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.486157 < "USER anonymous" 17:49:32.486192 > "331 We are happy you popped in![CR][LF]" 17:49:32.486352 < "PASS ftp@example.com" 17:49:32.486377 > "230 Welcome you silly person[CR][LF]" 17:49:32.486522 < "PWD" 17:49:32.486553 > "257 "/" is current directory[CR][LF]" 17:49:32.486739 < "EPSV" 17:49:32.486768 ====> Passive DATA channel requested by client 17:49:32.486783 DATA sockfilt for passive data channel starting... 17:49:32.489098 DATA sockfilt for passive data channel started (pid 105454) 17:49:32.489235 DATA sockfilt for passive data channel listens on port 46047 17:49:32.489294 > "229 Entering Passive Mode (|||46047|)[CR][LF]" 17:49:32.489316 Client has been notified that DATA conn will be accepted on port 46047 17:49:32.489622 Client connects to port 46047 17:49:32.489655 ====> Client established passive DATA connection on port 46047 17:49:32.489751 < "TYPE I" 17:49:32.489797 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.489987 < "SIZE verifiedserver" 17:49:32.490048 > "213 17[CR][LF]" 17:49:32.490234 < "RETR verifiedserver" 17:49:32.490274 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.490363 =====> Closing passive DATA connection... 17:49:32.490386 Server disconnects passive DATA connection 17:49:32.490634 Server disconnected passive DATA connection 17:49:32.490665 DATA sockfilt for passive data channel quits (pid 105454) 17:49:32.490914 DATA sockfilt for passive data channel quit (pid 105454) 17:49:32.490944 =====> Closed passive DATA connection 17:49:32.490973 > "226 File transfer complete[CR][LF]" 17:49:32.533643 < "QUIT" 17:49:32.533698 > "221 bye bye baby[CR][LF]" 17:49:32.534771 MAIN sockfilt said DISC 17:49:32.534817 ====> Client disconnected 17:49:32.534893 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:32.331786 ====> Client connect 17:49:32.332086 Received DATA (on stdin) 17:49:32.332100 > 146 bytes data, server => client 17:49:32.332112 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:32.332122 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:32.332131 '220 \___|\___/|_| \_\_____|\r\n' 17:49:32.332203 < 16 bytes data, client => server 17:49:32.332215 'USER anonymous\r\n' 17:49:32.332381 Received DATA (on stdin) 17:49:32.332392 > 33 bytes data, server => client 17:49:32.332403 '331 We are happy you popped in!\r\n' 17:49:32.332452 < 22 bytes data, client => server 17:49:32.332463 'PASS ftp@example.com\r\n' 17:49:32.332563 Received DATA (on stdin) 17:49:32.332573 > 30 bytes data, server => client 17:49:32.332583 '230 Welcome you silly person\r\n' 17:49:32.332629 < 5 bytes data, client => server 17:49:32.332639 'PWD\r\n' 17:49:32.332738 Received DATA (on stdin) 17:49:32.332749 > 30 bytes data, server => client 17:49:32.332759 '257 "/" is current directory\r\n' 17:49:32.332814 < 6 bytes data, client => server 17:49:32.332825 'EPSV\r\n' 17:49:32.335516 Received DATA (on stdin) 17:49:32.335534 > 39 bytes data, server => client 17:49:32.335546 '229 Entering Passive Mode (|||46047|)\r\n' 17:49:32.335752 < 8 bytes data, client => server 17:49:32.335765 'TYPE I\r\n' 17:49:32.335988 Received DATA (on stdin) 17:49:32.336001 > 33 bytes data, server => client 17:49:32.336012 '200 I modify TYPE as you wanted\r\n' 17:49:32.336073 < 21 bytes data, client => server 17:49:32.336087 'SIZE verifiedserver\r\n' 17:49:32.336242 Received DATA (on stdin) 17:49:32.336256 > 8 bytes data, server => client 17:49:32.336266 '213 17\r\n' 17:49:32.336325 < 21 bytes data, client => server 17:49:32.336337 'RETR verifiedserver\r\n' 17:49:32.336578 Received DATA (on stdin) 17:49:32.336591 > 29 bytes data, server => client 17:49:32.336602 '150 Binary junk (17 bytes).\r\n' 17:49:32.337163 Received DATA (on stdin) 17:49:32.337176 > 28 bytes data, server => client 17:49:32.337187 '226 File transfer complete\r\n' 17:49:32.379639 < 6 bytes data, client => server 17:49:32.379664 'QUIT\r\n' 17:49:32.379893 Received DATA (on stdin) 17:49:32.379907 > 18 bytes data, server => client 17:49:32.379917 '221 bye bye baby\r\n' 17:49:32.380895 ====> Client disconnect 17:49:32.381087 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.334907 Running IPv4 version 17:49:32.334973 Listening on port 46047 17:49:32.335018 Wrote pid 105454 to log/9/server/ftp_sockdata.pid 17:49:32.335218 Received PING (on stdin) 17:49:32.335323 Received PORT (on stdin) 17:49:32.335719 ====> Client connect 17:49:32.336630 Received DATA (on stdin) 17:49:32.336642 > 17 bytes data, server => client 17:49:32.336653 'WE ROOLZ: 80975\r\n' 17:49:32.336678 Received DISC (on stdin) 17:49:32.336690 ====> Client forcibly disconnected 17:49:32.336861 Received QUIT (on stdin) 17:49:32.336873 quits 17:49:32.336932 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 521 === End of file server.cmd === Start of file stderr521 URL: ftp://127.0.0.1/521/ === End of file stderr521 === Start of file valgrind521 ==105557== ==105557== Process terminating with default action of signal 4 (SIGILL) ==105557== Illegal opcode at address 0x51D97AF ==105557== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105557== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105557== by 0x51D97AF: Curl_open (url.c:502) ==105557== by 0x515120F: curl_easy_init (easy.c:365) ==105557== by 0x4013CF0: test_lib521.lto_priv.0 (lib521.c:40) ==105557== by 0x40034B5: main (first.c:279) ==105557== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105557== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105557== by 0x51D96BD: Curl_open (url.c:479) ==105557== by 0x515120F: curl_easy_init (easy.c:365) ==105557== by 0x4013CF0: test_lib521.lto_priv.0 (lib521.c:40) ==105557== by 0x40034B5: main (first.c:279) ==105557== === End of file valgrind521 CMD (33792): ../libtool --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/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:41057 > log/15/stdout523 2> log/15/stderr523 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/7/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 35671 > log/7/stdout522 2> log/7/stderr522 522: stdout FAILED: --- log/7/check-expected 2026-01-28 17:49:33.636555434 +0000 +++ log/7/check-generated 2026-01-28 17:49:33.633222100 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/7/ 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/7/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 35671 > log/7/stdout522 2> log/7/stderr522 === End of file commands.log === Start of file http_server.log 17:49:32.371929 ====> Client connect 17:49:32.371963 accept_connection 3 returned 4 17:49:32.371981 accept_connection 3 returned 0 17:49:32.371997 Read 93 bytes 17:49:32.372010 Process 93 bytes request 17:49:32.372024 Got request: GET /verifiedserver HTTP/1.1 17:49:32.372033 Are-we-friendly question received 17:49:32.372059 Wrote request (93 bytes) input to log/7/server.input 17:49:32.372077 Identifying ourselves as friends 17:49:32.372137 Response sent (56 bytes) and written to log/7/server.response 17:49:32.372147 special request received, no persistency 17:49:32.372155 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 58042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file stderr522 URL: http://127.0.0.1/522 === End of file stderr522 === Start of file valgrind522 ==105531== ==105531== Process terminating with default action of signal 4 (SIGILL) ==105531== Illegal opcode at address 0x51D97AF ==105531== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105531== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105531== by 0x51D97AF: Curl_open (url.c:502) ==105531== by 0x515120F: curl_easy_init (easy.c:365) ==105531== by 0x4013CF0: test_lib521.lto_priv.0 (lib521.c:40) ==105531== by 0x40034B5: main (first.c:279) ==105531== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105531== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105531== by 0x51D96BD: Curl_open (url.c:479) ==105531== by 0x515120F: curl_easy_init (easy.c:365) ==105531== by 0x4013CF0: test_lib521.lto_priv.0 (lib521.c:40) ==105531== by 0x40034B5: main (first.c:279) ==105531== === End of file valgrind522 CMD (33792): ../libtool --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:32981/path/to/ > log/13/stdout524 2> log/13/stderr524 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/15/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:41057 > log/15/stdout523 2> log/15/stderr523 523: stdout FAILED: --- log/15/check-expected 2026-01-28 17:49:33.669888767 +0000 +++ log/15/check-generated 2026-01-28 17:49:33.669888767 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/15/ 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/15/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:41057 > log/15/stdout523 2> log/15/stderr523 === End of file commands.log === Start of file http_server.log 17:49:32.394404 ====> Client connect 17:49:32.394442 accept_connection 3 returned 4 17:49:32.394460 accept_connection 3 returned 0 17:49:32.394476 Read 93 bytes 17:49:32.394489 Process 93 bytes request 17:49:32.394502 Got request: GET /verifiedserver HTTP/1.1 17:49:32.394511 Are-we-friendly question received 17:49:32.394539 Wrote request (93 bytes) input to log/15/server.input 17:49:32.394557 Identifying ourselves as friends 17:49:32.394659 Response sent (56 bytes) and written to log/15/server.response 17:49:32.394671 special request received, no persistency 17:49:32.394680 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 39476 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file stderr523 URL: http://www.example.com:999/523 === End of file stderr523 === Start of file valgrind523 ==105598== ==105598== Process terminating with default action of signal 4 (SIGILL) ==105598== Illegal opcode at address 0x51D97AF ==105598== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105598== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105598== by 0x51D97AF: Curl_open (url.c:502) ==105598== by 0x515120F: curl_easy_init (easy.c:365) ==105598== by 0x400AE6A: test_lib523.lto_priv.0 (lib523.c:36) ==105598== by 0x40034B5: main (first.c:279) ==105598== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105598== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105598== by 0x51D96BD: Curl_open (url.c:479) ==105598== by 0x515120F: curl_easy_init (easy.c:365) ==105598== by 0x400AE6A: test_lib523.lto_priv.0 (lib523.c:36) ==105598== by 0x40034B5: main (first.c:279) ==105598== === End of file valgrind523 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:32981/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:32981/path/to/ > log/13/stdout524 2> log/13/stderr524 === End of file commands.log === Start of file ftp_server.log 17:49:32.555792 ====> Client connect 17:49:32.555949 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.556250 < "USER anonymous" 17:49:32.556284 > "331 We are happy you popped in![CR][LF]" 17:49:32.556454 < "PASS ftp@example.com" 17:49:32.556482 > "230 Welcome you silly person[CR][LF]" 17:49:32.556645 < "PWD" 17:49:32.556686 > "257 "/" is current directory[CR][LF]" 17:49:32.556861 < "EPSV" 17:49:32.556891 ====> Passive DATA channel requested by client 17:49:32.556906 DATA sockfilt for passive data channel starting... 17:49:32.558897 DATA sockfilt for passive data channel started (pid 105586) 17:49:32.559003 DATA sockfilt for passive data channel listens on port 39845 17:49:32.559043 > "229 Entering Passive Mode (|||39845|)[CR][LF]" 17:49:32.559065 Client has been notified that DATA conn will be accepted on port 39845 17:49:32.559299 Client connects to port 39845 17:49:32.559329 ====> Client established passive DATA connection on port 39845 17:49:32.559402 < "TYPE I" 17:49:32.559431 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.559589 < "SIZE verifiedserver" 17:49:32.559628 > "213 17[CR][LF]" 17:49:32.559794 < "RETR verifiedserver" 17:49:32.559833 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.559917 =====> Closing passive DATA connection... 17:49:32.559936 Server disconnects passive DATA connection 17:49:32.560019 Server disconnected passive DATA connection 17:49:32.560047 DATA sockfilt for passive data channel quits (pid 105586) 17:49:32.560280 DATA sockfilt for passive data channel quit (pid 105586) 17:49:32.560306 =====> Closed passive DATA connection 17:49:32.560334 > "226 File transfer complete[CR][LF]" 17:49:32.600461 < "QUIT" 17:49:32.600522 > "221 bye bye baby[CR][LF]" 17:49:32.601874 MAIN sockfilt said DISC 17:49:32.601906 ====> Client disconnected 17:49:32.602015 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:32.401868 ====> Client connect 17:49:32.402148 Received DATA (on stdin) 17:49:32.402163 > 146 bytes data, server => client 17:49:32.402175 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:32.402186 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:32.402195 '220 \___|\___/|_| \_\_____|\r\n' 17:49:32.402295 < 16 bytes data, client => server 17:49:32.402309 'USER anonymous\r\n' 17:49:32.402474 Received DATA (on stdin) 17:49:32.402485 > 33 bytes data, server => client 17:49:32.402496 '331 We are happy you popped in!\r\n' 17:49:32.402549 < 22 bytes data, client => server 17:49:32.402562 'PASS ftp@example.com\r\n' 17:49:32.402670 Received DATA (on stdin) 17:49:32.402681 > 30 bytes data, server => client 17:49:32.402692 '230 Welcome you silly person\r\n' 17:49:32.402742 < 5 bytes data, client => server 17:49:32.402754 'PWD\r\n' 17:49:32.402876 Received DATA (on stdin) 17:49:32.402888 > 30 bytes data, server => client 17:49:32.402898 '257 "/" is current directory\r\n' 17:49:32.402961 < 6 bytes data, client => server 17:49:32.402973 'EPSV\r\n' 17:49:32.405256 Received DATA (on stdin) 17:49:32.405268 > 39 bytes data, server => client 17:49:32.405278 '229 Entering Passive Mode (|||39845|)\r\n' 17:49:32.405435 < 8 bytes data, client => server 17:49:32.405445 'TYPE I\r\n' 17:49:32.405619 Received DATA (on stdin) 17:49:32.405630 > 33 bytes data, server => client 17:49:32.405640 '200 I modify TYPE as you wanted\r\n' 17:49:32.405690 < 21 bytes data, client => server 17:49:32.405701 'SIZE verifiedserver\r\n' 17:49:32.405804 Received DATA (on stdin) 17:49:32.405822 > 8 bytes data, server => client 17:49:32.405832 '213 17\r\n' 17:49:32.405887 < 21 bytCMD (33792): ../libtool --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/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:40307/path/525 log/4/upload525 > log/4/stdout525 2> log/4/stderr525 es data, client => server 17:49:32.405900 'RETR verifiedserver\r\n' 17:49:32.406102 Received DATA (on stdin) 17:49:32.406115 > 29 bytes data, server => client 17:49:32.406126 '150 Binary junk (17 bytes).\r\n' 17:49:32.406522 Received DATA (on stdin) 17:49:32.406534 > 28 bytes data, server => client 17:49:32.406545 '226 File transfer complete\r\n' 17:49:32.446450 < 6 bytes data, client => server 17:49:32.446485 'QUIT\r\n' 17:49:32.446716 Received DATA (on stdin) 17:49:32.446728 > 18 bytes data, server => client 17:49:32.446738 '221 bye bye baby\r\n' 17:49:32.448007 ====> Client disconnect 17:49:32.448206 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.404790 Running IPv4 version 17:49:32.404856 Listening on port 39845 17:49:32.404890 Wrote pid 105586 to log/13/server/ftp_sockdata.pid 17:49:32.405030 Received PING (on stdin) 17:49:32.405109 Received PORT (on stdin) 17:49:32.405409 ====> Client connect 17:49:32.406034 Received DATA (on stdin) 17:49:32.406053 > 17 bytes data, server => client 17:49:32.406063 'WE ROOLZ: 80972\r\n' 17:49:32.406127 Received DISC (on stdin) 17:49:32.406141 ====> Client forcibly disconnected 17:49:32.406231 Received QUIT (on stdin) 17:49:32.406244 quits 17:49:32.406303 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 524 === End of file server.cmd === Start of file stderr524 URL: ftp://127.0.0.1:32981/path/to/ === End of file stderr524 === Start of file valgrind524 ==105716== ==105716== Process terminating with default action of signal 4 (SIGILL) ==105716== Illegal opcode at address 0x51D97AF ==105716== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105716== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105716== by 0x51D97AF: Curl_open (url.c:502) ==105716== by 0x515120F: curl_easy_init (easy.c:365) ==105716== by 0x400AFAA: test_lib524.lto_priv.0 (lib524.c:36) ==105716== by 0x40034B5: main (first.c:279) ==105716== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105716== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105716== by 0x51D96BD: Curl_open (url.c:479) ==105716== by 0x515120F: curl_easy_init (easy.c:365) ==105716== by 0x400AFAA: test_lib524.lto_priv.0 (lib524.c:36) ==105716== by 0x40034B5: main (first.c:279) ==105716== === 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/4/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:40307/path/525 log/4/upload525 > log/4/stdout525 2> log/4/stderr525 525: 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 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/4/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:40307/path/525 log/4/upload525 > log/4/stdout525 2> log/4/stderr525 === End of file commands.log === Start of file ftp_server.log 17:49:32.612060 ====> Client connect 17:49:32.612221 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.612488 < "USER anonymous" 17:49:32.612523 > "331 We are happy you popped in![CR][LF]" 17:49:32.612675 < "PASS ftp@example.com" 17:49:32.612829 > "230 Welcome you silly person[CR][LF]" 17:49:32.613068 < "PWD" 17:49:32.613103 > "257 "/" is current directory[CR][LF]" 17:49:32.613253 < "EPSV" 17:49:32.613278 ====> Passive DATA channel requested by client 17:49:32.613291 DATA sockfilt for passive data channel starting... 17:49:32.615246 DATA sockfilt for passive data channel started (pid 105720) 17:49:32.615343 DATA sockfilt for passive data channel listens on port 40841 17:49:32.615382 > "229 Entering Passive Mode (|||40841|)[CR][LF]" 17:49:32.615399 Client has been notified that DATA conn will be accepted on port 40841 17:49:32.615603 Client connects to port 40841 17:49:32.615630 ====> Client established passive DATA connection on port 40841 17:49:32.615697 < "TYPE I" 17:49:32.615724 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.615865 < "SIZE verifiedserver" 17:49:32.615901 > "213 17[CR][LF]" 17:49:32.616045 < "RETR verifiedserver" 17:49:32.616077 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.616156 =====> Closing passive DATA connection... 17:49:32.616173 Server disconnects passive DATA connection 17:49:32.616235 Server disconnected passive DATA connection 17:49:32.616264 DATA sockfilt for passive data channel quits (pid 105720) 17:49:32.616513 DATA sockfilt for passive data channel quit (pid 105720) 17:49:32.616542 =====> Closed passive DATA connection 17:49:32.616569 > "226 File transfer complete[CR][LF]" 17:49:32.660299 < "QUIT" 17:49:32.660356 > "221 bye bye baby[CR][LF]" 17:49:32.661334 MAIN sockfilt said DISC 17:49:32.661368 ====> Client disconnected 17:49:32.661441 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:32.458131 ====> Client connect 17:49:32.458418 Received DATA (on stdin) 17:49:32.458431 > 146 bytes data, server => client 17:49:32.458442 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:32.458451 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:32.458459 '220 \___|\___/|_| \_\_____|\r\n' 17:49:32.458533 < 16 bytes data, client => server 17:49:32.458544 'USER anonymous\r\n' 17:49:32.458711 Received DATA (on stdin) 17:49:32.458722 > 33 bytes data, server => client 17:49:32.458731 '331 We are happy you popped in!\r\n' 17:49:32.458779 < 22 bytes data, client => server 17:49:32.458789 'PASS ftp@example.com\r\n' 17:49:32.459038 Received DATA (on stdin) 17:49:32.459057 > 30 bytes data, server => client 17:49:32.459068 '230 Welcome you silly person\r\n' 17:49:32.459161 < 5 bytes data, client => server 17:49:32.459173 'PWD\r\n' 17:49:32.459290 Received DATA (on stdin) 17:49:32.459300 > 30 bytes data, server => client 17:49:32.459310 '257 "/" is current directory\r\n' 17:49:32.459363 < 6 bytes data, client => server 17:49:32.459372 'EPSV\r\n' 17:49:32.461589 Received DATA (on stdin) 17:49:32.461600 > 39 bytes data, server => client 17:49:32.461610 '229 Entering Passive Mode (|||40841|)\r\n' 17:49:32.461715 < 8 bytes data, client => server 17:49:32.461728 'TYPE I\r\n' 17:49:32.461909 Received DATA (on stdin) 17:49:32.461920 > 33 bytes data, server => client 17:49:32.461929 '200 I modify TYPE as you wanted\r\n' 17:49:32.461975 < 21 bytes data, client => server 17:49:32.461985 'SIZE verifiedserver\r\n' 17:49:32.462089 Received DATA (on stdin) 17:49:32.462099 > 8 bytes data, server => client 17:49:32.462108 '213 17\r\n' 17:49:32.462152 < 21 bytes data, client => server 17:49:32.462166 'RETR verifiedserver\r\n' 17:49:32.462362 Received DATA (on stdin) 17:49:32.462373 > 29 bytes data, server => client 17:49:32.462384 '150 Binary junk (17 bytes).\r\n' 17:49:32.462756 Received DATA (on stdin) 17:49:32.462768 > 28 bytes data, server => client 17:49:32.462779 '226 File transfer complete\r\n' 17:49:32.506272 < 6 bytes data, client => server 17:49:32.506306 'QUIT\r\n' 17:49:32.506555 Received DATA (on stdin) 17:49:32.506568 > 18 bytes data, server => client 17:49:32.506579 '221 bye bye baby\r\n' 17:49:32.507472 ====> Client disconnect 17:49:32.507637 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.461154 Running IPv4 version 17:49:32.461214 Listening on port 40841 17:49:32.461252 Wrote pid 105720 to log/4/server/ftp_sockdata.pid 17:49:32.461380 Received PING (on stdin) 17:49:32.461453 Received PORT (on stdin) 17:49:32.461746 ====> Client connect 17:49:32.462CMD (33792): ../libtool --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/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:37569/path/528 > log/14/stdout528 2> log/14/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/19/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:40075/path/526 > log/19/stdout526 2> log/19/stderr526 275 Received DATA (on stdin) 17:49:32.462295 > 17 bytes data, server => client 17:49:32.462306 'WE ROOLZ: 80996\r\n' 17:49:32.462359 Received DISC (on stdin) 17:49:32.462372 ====> Client forcibly disconnected 17:49:32.462460 Received QUIT (on stdin) 17:49:32.462470 quits 17:49:32.462529 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 525 === End of file server.cmd === Start of file stderr525 URL: ftp://127.0.0.1:40307/path/525 === End of file stderr525 === Start of file upload525 Moooooooooooo upload this === End of file upload525 === Start of file valgrind525 ==105770== ==105770== Process terminating with default action of signal 4 (SIGILL) ==105770== Illegal opcode at address 0x51D97AF ==105770== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105770== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105770== by 0x51D97AF: Curl_open (url.c:502) ==105770== by 0x515120F: curl_easy_init (easy.c:365) ==105770== by 0x401051C: test_lib525.lto_priv.0 (lib525.c:69) ==105770== by 0x40034B5: main (first.c:279) ==105770== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==105770== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105770== by 0x51D96BD: Curl_open (url.c:479) ==105770== by 0x515120F: curl_easy_init (easy.c:365) ==105770== by 0x401051C: test_lib525.lto_priv.0 (lib525.c:69) ==105770== by 0x40034B5: main (first.c:279) ==105770== === End of file valgrind525 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/14/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:37569/path/528 > log/14/stdout528 2> log/14/stderr528 528: 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 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/14/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:37569/path/528 > log/14/stdout528 2> log/14/stderr528 === End of file commands.log === Start of file http_server.log 17:49:33.568991 ====> Client connect 17:49:33.569024 accept_connection 3 returned 4 17:49:33.569041 accept_connection 3 returned 0 17:49:33.569056 Read 93 bytes 17:49:33.569066 Process 93 bytes request 17:49:33.569080 Got request: GET /verifiedserver HTTP/1.1 17:49:33.569089 Are-we-friendly question received 17:49:33.569115 Wrote request (93 bytes) input to log/14/server.input 17:49:33.569133 Identifying ourselves as friends 17:49:33.569192 Response sent (56 bytes) and written to log/14/server.response 17:49:33.569203 special request received, no persistency 17:49:33.569212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file stderr528 URL: http://127.0.0.1:37569/path/528 === End of file stderr528 === Start of file valgrind528 ==105876== ==105876== Process terminating with default action of signal 4 (SIGILL) ==105876== Illegal opcode at address 0x51D97AF ==105876== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105876== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105876== by 0x51D97AF: Curl_open (url.c:502) ==105876== by 0x515120F: curl_easy_init (easy.c:365) ==105876== by 0x4010E89: test_lib526.lto_priv.0 (lib526.c:63) ==105876== by 0x40034B5: main (first.c:279) ==105876== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105876== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105876== by 0x51D96BD: Curl_open (url.c:479) ==105876== by 0x515120F: curl_easy_init (easy.c:365) ==105876== by 0x4010E89: test_lib526.lto_priv.0 (lib526.c:63) ==105876== by 0x40034B5: main (first.c:279) ==105876== === End of file valgrind528 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/19/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:40075/path/526 > log/19/stdout526 2> log/19/stderr526 526: 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 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 --log-file=log/19/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:40075/path/526 > log/19/stdout526 2> log/19/stderr526 === End of file commands.log === Start of file ftp_server.log 17:49:32.705445 ====> Client connect 17:49:32.705603 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.705906 < "USER anonymous" 17:49:32.705952 > "331 We are happy you popped in![CR][LF]" 17:49:32.706150 < "PASS ftp@example.com" 17:49:32.706182 > "230 Welcome you silly person[CR][LF]" 17:49:32.706353 < "PWD" 17:49:32.706387 > "257 "/" is current directory[CR][LF]" 17:49:32.706566 < "EPSV" 17:49:32.706595 ====> Passive DATA channel requested by client 17:49:32.706612 DATA sockfilt for passive data channel starting... 17:49:32.708513 DATA sockfilt for passive data channel started (pid 105827) 17:49:32.708625 DATA sockfilt for passive data channel listens on port 41695 17:49:32.708672 > "229 Entering Passive Mode (|||41695|)[CR][LF]" 17:49:32.708696 Client has been notified that DATA conn will be accepted on port 41695 17:49:32.708928 Client connects to port 41695 17:49:32.708962 ====> Client established passive DATA connection on port 41695 17:49:32.709045 < "TYPE I" 17:49:32.709078 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.709250 < "SIZE verifiedserver" 17:49:32.709294 > "213 17[CR][LF]" 17:49:32.709464 < "RETR verifiedserver" 17:49:32.709501 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.709593 =====> Closing passive DATA connection... 17:49:32.709611 Server disconnects passive DATA connection 17:49:32.709862 Server disconnected passive DATA connection 17:49:32.709891 DATA sockfilt for passive data channel quits (pid 105827) 17:49:32.710116 DATA sockfilt for passive data channel quit (pid 105827) 17:49:32.710140 =====> Closed passive DATA connection 17:49:32.710169 > "226 File transfer complete[CR][LF]" 17:49:32.750441 < "QUIT" 17:49:32.750495 > "221 bye bye baby[CR][LF]" 17:49:32.751673 MAIN sockfilt said DISC 17:49:32.751723 ====> Client disconnected 17:49:32.751816 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:32.551529 ====> Client connect 17:49:32.551808 Received DATA (on stdin) 17:49:32.551824 > 146 bytes data, server => client 17:49:32.551836 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:32.551847 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:32.551857 '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/20/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:35215/path/527 > log/20/stdout527 2> log/20/stderr527 _| \_\_____|\r\n' 17:49:32.551939 < 16 bytes data, client => server 17:49:32.551954 'USER anonymous\r\n' 17:49:32.552148 Received DATA (on stdin) 17:49:32.552161 > 33 bytes data, server => client 17:49:32.552172 '331 We are happy you popped in!\r\n' 17:49:32.552233 < 22 bytes data, client => server 17:49:32.552247 'PASS ftp@example.com\r\n' 17:49:32.552371 Received DATA (on stdin) 17:49:32.552383 > 30 bytes data, server => client 17:49:32.552394 '230 Welcome you silly person\r\n' 17:49:32.552447 < 5 bytes data, client => server 17:49:32.552459 'PWD\r\n' 17:49:32.552576 Received DATA (on stdin) 17:49:32.552588 > 30 bytes data, server => client 17:49:32.552599 '257 "/" is current directory\r\n' 17:49:32.552661 < 6 bytes data, client => server 17:49:32.552674 'EPSV\r\n' 17:49:32.554893 Received DATA (on stdin) 17:49:32.554906 > 39 bytes data, server => client 17:49:32.554917 '229 Entering Passive Mode (|||41695|)\r\n' 17:49:32.555029 < 8 bytes data, client => server 17:49:32.555045 'TYPE I\r\n' 17:49:32.555268 Received DATA (on stdin) 17:49:32.555281 > 33 bytes data, server => client 17:49:32.555292 '200 I modify TYPE as you wanted\r\n' 17:49:32.555346 < 21 bytes data, client => server 17:49:32.555359 'SIZE verifiedserver\r\n' 17:49:32.555485 Received DATA (on stdin) 17:49:32.555497 > 8 bytes data, server => client 17:49:32.555508 '213 17\r\n' 17:49:32.555560 < 21 bytes data, client => server 17:49:32.555573 'RETR verifiedserver\r\n' 17:49:32.555799 Received DATA (on stdin) 17:49:32.555817 > 29 bytes data, server => client 17:49:32.555828 '150 Binary junk (17 bytes).\r\n' 17:49:32.556356 Received DATA (on stdin) 17:49:32.556375 > 28 bytes data, server => client 17:49:32.556386 '226 File transfer complete\r\n' 17:49:32.596459 < 6 bytes data, client => server 17:49:32.596482 'QUIT\r\n' 17:49:32.596689 Received DATA (on stdin) 17:49:32.596702 > 18 bytes data, server => client 17:49:32.596712 '221 bye bye baby\r\n' 17:49:32.597793 ====> Client disconnect 17:49:32.598006 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.554386 Running IPv4 version 17:49:32.554441 Listening on port 41695 17:49:32.554482 Wrote pid 105827 to log/19/server/ftp_sockdata.pid 17:49:32.554636 Received PING (on stdin) 17:49:32.554725 Received PORT (on stdin) 17:49:32.555066 ====> Client connect 17:49:32.555897 Received DATA (on stdin) 17:49:32.555911 > 17 bytes data, server => client 17:49:32.555920 'WE ROOLZ: 81054\r\n' 17:49:32.555945 Received DISC (on stdin) 17:49:32.555956 ====> Client forcibly disconnected 17:49:32.556085 Received QUIT (on stdin) 17:49:32.556094 quits 17:49:32.556147 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 526 === End of file server.cmd === Start of file stderr526 URL: ftp://127.0.0.1:40075/path/526 === End of file stderr526 === Start of file valgrind526 ==105913== ==105913== Process terminating with default action of signal 4 (SIGILL) ==105913== Illegal opcode at address 0x51D97AF ==105913== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105913== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105913== by 0x51D97AF: Curl_open (url.c:502) ==105913== by 0x515120F: curl_easy_init (easy.c:365) ==105913== by 0x4010E89: test_lib526.lto_priv.0 (lib526.c:63) ==105913== by 0x40034B5: main (first.c:279) ==105913== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105913== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105913== by 0x51D96BD: Curl_open (url.c:479) ==105913== by 0x515120F: curl_easy_init (easy.c:365) ==105913== by 0x4010E89: test_lib526.lto_priv.0 (lib526.c:63) ==105913== by 0x40034B5: main (first.c:279) ==105913== === End of file valgrind526 test 0527...[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/20/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:35215/path/527 > log/20/stdout527 2> log/20/stderr527 527: 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 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/20/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:35215/path/527 > log/20/stdout527 2> log/20/stderr527 === End of file commands.log === Start of file ftp_server.log 17:49:32.705449 ====> Client connect 17:49:32.705623 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.705928 < "USER anonymous" 17:49:32.705975 > "331 We are happy you popped in![CR][LF]" 17:49:32.706174 < "PASS ftp@example.com" 17:49:32.706210 > "230 Welcome you silly person[CR][LF]" 17:49:32.706389 < "PWD" 17:49:32.706424 > "257 "/" is current directory[CR][LF]" 17:49:32.706595 < "EPSV" 17:49:32.706624 ====> Passive DATA channel requested by client 17:49:32.706640 DATA sockfilt for passive data channel starting... 17:49:32.708668 DATA sockfilt for passive data channel started (pid 105828) 17:49:32.708787 DATA sockfilt for passive data channel listens on port 44149 17:49:32.708836 > "229 Entering Passive Mode (|||44149|)[CR][LF]" 17:49:32.708857 Client has been notified that DATA conn will be accepted on port 44149 17:49:32.709095 Client connects to port 44149 17:49:32.709127 ====> Client established passive DATA connection on port 44149 17:49:32.709219 < "TYPE I" 17:49:32.709249 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.709414 < "SIZE verifiedserver" 17:49:32.709456 > "213 17[CR][LF]" 17:49:32.709626 < "RETR verifiedserver" 17:49:32.709668 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.709756 =====> Closing passive DATA connection... 17:49:32.709778 Server disconnects passive DATA connection 17:49:32.710030 Server disconnected passive DATA connection 17:49:32.710065 DATA sockfilt for passive data channel quits (pid 105828) 17:49:32.710289 DATA sockfilt for passive data channel quit (pid 105828) 17:49:32.710319 =====> Closed passive DATA connection 17:49:32.710352 > "226 File transfer complete[CR][LF]" 17:49:32.750373 < "QUIT" 17:49:32.750437 > "221 bye bye baby[CR][LF]" 17:49:32.751819 MAIN sockfilt said DISC 17:49:32.751869 ====> Client disconnected 17:49:32.751946 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:32.551529 ====> Client connect 17:49:32.551832 Received DATA (on stdin) 17:49:32.551850 > 146 bytes data, server => client 17:49:32.551863 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:32.551875 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:32.551885 '220 \___|\___/|_| \_\_____|\r\n' 17:49:32.551963 < 16 bytes data, client => server 17:49:32.551979 'USER anonymous\r\n' 17:49:32.552169 Received DATA (on stdin) 17:49:32.552182 > 33 bytes data, server => client 17:49:32.552194 '331 We are happy you popped in!\r\n' 17:49:32.552252 < 22 bytes data, client => server 17:49:32.552265 'PASS ftp@example.com\r\n' 17:49:32.552401 Received DATA (on stdin) 17:49:32.552415 > 30 bytes data, server => client 17:49:32.552426 '230 Welcome you silly person\r\n' 17:49:32.552483 < 5 bytes data, client => server 17:49:32.552495 'PWD\r\n' 17:49:32.552612 Received DATA (on stdin) 17:49:32.552624 > 30 bytes data, server => client 17:49:32.552635 '257 "/" is current directory\r\n' 17:49:32.552693 < 6 bytes data, client => server 17:49:32.552705 'EPSV\r\n' 17:49:32.555051 Received DATA (on stdin) 17:49:32.555065 > 39 bytes data, server => client 17:49:32.555077 '229 Entering Passive Mode (|||44149|)\r\n' 17:49:32.555193 < 8 bytes data, client => 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/5/valgrind503 ./libtest/libtests lib503 http://machine.503:46875/503 127.0.0.1:44309 > log/5/stdout503 2> log/5/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/10/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:32889/file530 > log/10/stdout530 2> log/10/stderr530 17:49:32.555210 'TYPE I\r\n' 17:49:32.555438 Received DATA (on stdin) 17:49:32.555449 > 33 bytes data, server => client 17:49:32.555460 '200 I modify TYPE as you wanted\r\n' 17:49:32.555512 < 21 bytes data, client => server 17:49:32.555524 'SIZE verifiedserver\r\n' 17:49:32.555645 Received DATA (on stdin) 17:49:32.555657 > 8 bytes data, server => client 17:49:32.555667 '213 17\r\n' 17:49:32.555719 < 21 bytes data, client => server 17:49:32.555732 'RETR verifiedserver\r\n' 17:49:32.555970 Received DATA (on stdin) 17:49:32.555984 > 29 bytes data, server => client 17:49:32.555996 '150 Binary junk (17 bytes).\r\n' 17:49:32.556546 Received DATA (on stdin) 17:49:32.556558 > 28 bytes data, server => client 17:49:32.556570 '226 File transfer complete\r\n' 17:49:32.596340 < 6 bytes data, client => server 17:49:32.596371 'QUIT\r\n' 17:49:32.596636 Received DATA (on stdin) 17:49:32.596652 > 18 bytes data, server => client 17:49:32.596663 '221 bye bye baby\r\n' 17:49:32.597937 ====> Client disconnect 17:49:32.598144 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.554521 Running IPv4 version 17:49:32.554581 Listening on port 44149 17:49:32.554622 Wrote pid 105828 to log/20/server/ftp_sockdata.pid 17:49:32.554788 Received PING (on stdin) 17:49:32.554884 Received PORT (on stdin) 17:49:32.555232 ====> Client connect 17:49:32.556024 Received DATA (on stdin) 17:49:32.556038 > 17 bytes data, server => client 17:49:32.556049 'WE ROOLZ: 81259\r\n' 17:49:32.556074 Received DISC (on stdin) 17:49:32.556087 ====> Client forcibly disconnected 17:49:32.556264 Received QUIT (on stdin) 17:49:32.556277 quits 17:49:32.556333 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 527 === End of file server.cmd === Start of file stderr527 URL: ftp://127.0.0.1:35215/path/527 === End of file stderr527 === Start of file valgrind527 ==105914== ==105914== Process terminating with default action of signal 4 (SIGILL) ==105914== Illegal opcode at address 0x51D97AF ==105914== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105914== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105914== by 0x51D97AF: Curl_open (url.c:502) ==105914== by 0x515120F: curl_easy_init (easy.c:365) ==105914== by 0x4010E89: test_lib526.lto_priv.0 (lib526.c:63) ==105914== by 0x40034B5: main (first.c:279) ==105914== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105914== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105914== by 0x51D96BD: Curl_open (url.c:479) ==105914== by 0x515120F: curl_easy_init (easy.c:365) ==105914== by 0x4010E89: test_lib526.lto_priv.0 (lib526.c:63) ==105914== by 0x40034B5: main (first.c:279) ==105914== === End of file valgrind527 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 104511 port 44309 * pid http-proxy => 104511 104511 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/5/valgrind503 ./libtest/libtests lib503 http://machine.503:46875/503 127.0.0.1:44309 > log/5/stdout503 2> log/5/stderr503 503: 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 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/5/valgrind503 ./libtest/libtests lib503 http://machine.503:46875/503 127.0.0.1:44309 > log/5/stdout503 2> log/5/stderr503 === End of file commands.log === Start of file http2_server.log 17:49:31.639619 Run as proxy, CONNECT to host 127.0.0.1 17:49:31.639719 Running HTTP IPv4 version on port 44309 17:49:31.639764 Wrote pid 104511 to log/5/server/http2_server.pid 17:49:31.639795 Wrote port 44309 to log/5/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:49:31.607431 ====> Client connect 17:49:31.607463 accept_connection 3 returned 4 17:49:31.607478 accept_connection 3 returned 0 17:49:31.607492 Read 93 bytes 17:49:31.607501 Process 93 bytes request 17:49:31.607512 Got request: GET /verifiedserver HTTP/1.1 17:49:31.607520 Are-we-friendly question received 17:49:31.607549 Wrote request (93 bytes) input to log/5/server.input 17:49:31.607564 Identifying ourselves as friends 17:49:31.607616 Response sent (56 bytes) and written to log/5/server.response 17:49:31.607625 special request received, no persistency 17:49:31.607633 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 40556 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === End of file http_verify.out === 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: 77918 === End of file server.response === Start of file stderr503 URL: http://machine.503:46875/503 === End of file stderr503 === Start of file test503.txt foo bar bar foo moo === End of file test503.txt === Start of file valgrind503 ==105952== ==105952== Process terminating with default action of signal 4 (SIGILL) ==105952== Illegal opcode at address 0x51D97AF ==105952== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==105952== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==105952== by 0x51D97AF: Curl_open (url.c:502) ==105952== by 0x515120F: curl_easy_init (easy.c:365) ==105952== by 0x4063AB5: test_lib503.part.0.lto_priv.0 (lib503.c:45) ==105952== by 0x40034B5: main (first.c:279) ==105952== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==105952== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==105952== by 0x51D96BD: Curl_open (url.c:479) ==105952== by 0x515120F: curl_easy_init (easy.c:365) ==105952== by 0x4063AB5: test_lib503.part.0.lto_priv.0 (lib503.c:45) ==105952== by 0x40034B5: main (first.c:279) ==105952== === End of file valgrind503 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/10/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:32889/file530 > log/10/stdout530 2> log/10/stderr530 libtests returned 132, when expecting 0 530: exit FAILED == Contents of files in the log/10/ 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/10/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:32889/file530 > log/10/stdout530 2> log/10/stderr530 === End of file commands.log === Start of file http_server.log 17:49:32.805728 ====> Client connect 17:49:32.805757 accept_connection 3 returned 4 17:49:32.805772 accept_connection 3 returned 0 17:49:32.805786 Read 93 bytes 17:49:32.805795 Process 93 bytes request 17:49:32.805808 Got request: GET /verifiedsCMD (33792): ../libtool --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/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:36757/path/529 log/6/upload529 > log/6/stdout529 2> log/6/stderr529 erver HTTP/1.1 17:49:32.805819 Are-we-friendly question received 17:49:32.805842 Wrote request (93 bytes) input to log/10/server.input 17:49:32.805859 Identifying ourselves as friends 17:49:32.805910 Response sent (56 bytes) and written to log/10/server.response 17:49:32.805919 special request received, no persistency 17:49:32.805927 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 49672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file stderr530 URL: http://127.0.0.1:32889/file530 [T530-0-0] [0/0] start === End of file stderr530 === Start of file valgrind530 ==106146== ==106146== Process terminating with default action of signal 4 (SIGILL) ==106146== Illegal opcode at address 0x51D97AF ==106146== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106146== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106146== by 0x51D97AF: Curl_open (url.c:502) ==106146== by 0x515120F: curl_easy_init (easy.c:365) ==106146== by 0x4011A05: testone (lib530.c:304) ==106146== by 0x40126F8: test_lib530.lto_priv.0 (lib530.c:402) ==106146== by 0x40034B5: main (first.c:279) ==106146== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==106146== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106146== by 0x51D96BD: Curl_open (url.c:479) ==106146== by 0x515120F: curl_easy_init (easy.c:365) ==106146== by 0x4011A05: testone (lib530.c:304) ==106146== by 0x40126F8: test_lib530.lto_priv.0 (lib530.c:402) ==106146== by 0x40034B5: main (first.c:279) ==106146== === End of file valgrind530 test 0529...[FTP PORT upload using multi interface (weird cleanup function sequence)] ../libtool --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/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:36757/path/529 log/6/upload529 > log/6/stdout529 2> log/6/stderr529 529: 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 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/6/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:36757/path/529 log/6/upload529 > log/6/stdout529 2> log/6/stderr529 === End of file commands.log === Start of file ftp_server.log 17:49:32.934499 ====> Client connect 17:49:32.934671 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.934916 < "USER anonymous" 17:49:32.934951 > "331 We are happy you popped in![CR][LF]" 17:49:32.935091 < "PASS ftp@example.com" 17:49:32.935112 > "230 Welcome you silly person[CR][LF]" 17:49:32.935226 < "PWD" 17:49:32.935249 > "257 "/" is current directory[CR][LF]" 17:49:32.935371 < "EPSV" 17:49:32.935393 ====> Passive DATA channel requested by client 17:49:32.935404 DATA sockfilt for passive data channel starting... 17:49:32.942438 DATA sockfilt for passive data channel started (pid 106092) 17:49:32.942592 DATA sockfilt for passive data channel listens on port 38527 17:49:32.942645 > "229 Entering Passive Mode (|||38527|)[CR][LF]" 17:49:32.942664 Client has been notified that DATA conn will be accepted on port 38527 17:49:32.942984 Client connects to port 38527 17:49:32.943016 ====> Client established passive DATA connection on port 38527 17:49:32.943129 < "TYPE I" 17:49:32.943162 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.943338 < "SIZE verifiedserver" 17:49:32.943385 > "213 17[CR][LF]" 17:49:32.943535 < "RETR verifiedserver" 17:49:32.943584 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.943683 =====> Closing passive DATA connection... 17:49:32.943699 Server disconnects passive DATA connection 17:49:32.943948 Server disconnected passive DATA connection 17:49:32.943974 DATA sockfilt for passive data channel quits (pid 106092) 17:49:32.944268 DATA sockfilt for passive data channel quit (pid 106092) 17:49:32.944292 =====> Closed passive DATA connection 17:49:32.944319 > "226 File transfer complete[CR][LF]" 17:49:32.987333 < "QUIT" 17:49:32.987383 > "221 bye bye baby[CR][LF]" 17:49:32.987637 MAIN sockfilt said DISC 17:49:32.987687 ====> Client disconnected 17:49:32.987765 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:32.780577 ====> Client connect 17:49:32.780868 Received DATA (on stdin) 17:49:32.780881 > 146 bytes data, server => client 17:49:32.780891 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:32.780899 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:32.780906 '220 \___|\___/|_| \_\_____|\r\n' 17:49:32.780975 < 16 bytes data, client => server 17:49:32.780984 'USER anonymous\r\n' 17:49:32.781137 Received DATA (on stdin) 17:49:32.781147 > 33 bytes data, server => client 17:49:32.781155 '331 We are happy you popped in!\r\n' 17:49:32.781196 < 22 bytes data, client => server 17:49:32.781204 'PASS ftp@example.com\r\n' 17:49:32.781293 Received DATA (on stdin) 17:49:32.781302 > 30 bytes data, server => client 17:49:32.781310 '230 Welcome you silly person\r\n' 17:49:32.781345 < 5 bytes data, client => server 17:49:32.781352 'PWD\r\n' 17:49:32.781431 Received DATA (on stdin) 17:49:32.781439 > 30 bytes data, server => client 17:49:32.781447 '257 "/" is current directory\r\n' 17:49:32.781490 < 6 bytes data, client => server 17:49:32.781499 'EPSV\r\n' 17:49:32.788860 Received DATA (on stdin) 17:49:32.788877 > 39 bytes data, server => client 17:49:32.788888 '229 Entering Passive Mode (|||38527|)\r\n' 17:49:32.789117 < 8 bytes data, client => server 17:49:32.789128 'TYPE I\r\n' 17:49:32.789349 Received DATA (on stdin) 17:49:32.789360 > 33 bytes data, server => client 17:49:32.789371 '200 I modify TYPE as you wanted\r\n' 17:49:32.789423 < 21 bytes data, client => server 17:49:32.789433 'SIZE verifiedserver\r\n' 17:49:32.789571 Received DATA (on stdin) 17:49:32.789582 > 8 bytes data, server => client 17:49:32.789592 '213 17\r\n' 17:49:32.789642 < 21 bytes data, client => server 17:49:32.789652 'RETR verifiedserver\r\n' 17:49:32.789986 Received DATA (on stdin) 17:49:32.789998 > 29 bytes data, server => client 17:49:32.790009 '150 Binary junk (17 bytes).\r\n' 17:49:32.790509 Received DATA (on stdin) 17:49:32.790521 > 28 bytes data, server => client 17:49:32.790532 '226 File transfer complete\r\n' 17:49:32.833345 < 6 bytes data, client => server 17:49:32.833367 'QUIT\r\n' 17:49:32.833573 Received DATA (on stdin) 17:49:32.833585 > 18 bytes data, server => client 17:49:32.833595 '221 bye bye baby\r\n' 17:49:32.833756 ====> Client disconnect 17:49:32.833954 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.787241 Running IPv4 version 17:49:32.787320 Listening on port 38527 17:49:32.787359 Wrote pid 106092 to log/6/server/ftp_sockdata.pid 17:49:32.788551 Received PING (on stdin) 17:49:32.788659 Received PORT (on stdin) 17:49:32.789087 ====> Client connect 17:49:32.789890 Received DATA (on stdin) 17:49:32.789903 > 17 bytes data, server => client 17:49:32.789913 'WE ROOLZ: 81072\r\n' 17:49:32.789939CMD (33792): ../libtool --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/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:35383/path/532 > log/3/stdout532 2> log/3/stderr532 CMD (33792): ../libtool --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/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:39205/path/531 log/16/upload531 > log/16/stdout531 2> log/16/stderr531 Received DISC (on stdin) 17:49:32.789950 ====> Client forcibly disconnected 17:49:32.790169 Received QUIT (on stdin) 17:49:32.790181 quits 17:49:32.790273 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 529 === End of file server.cmd === Start of file stderr529 URL: ftp://127.0.0.1:36757/path/529 === End of file stderr529 === Start of file upload529 Moooooooooooo upload this === End of file upload529 === Start of file valgrind529 ==106215== ==106215== Process terminating with default action of signal 4 (SIGILL) ==106215== Illegal opcode at address 0x51D97AF ==106215== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106215== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106215== by 0x51D97AF: Curl_open (url.c:502) ==106215== by 0x515120F: curl_easy_init (easy.c:365) ==106215== by 0x401051C: test_lib525.lto_priv.0 (lib525.c:69) ==106215== by 0x40034B5: main (first.c:279) ==106215== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==106215== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106215== by 0x51D96BD: Curl_open (url.c:479) ==106215== by 0x515120F: curl_easy_init (easy.c:365) ==106215== by 0x401051C: test_lib525.lto_priv.0 (lib525.c:69) ==106215== by 0x40034B5: main (first.c:279) ==106215== === End of file valgrind529 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/3/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:35383/path/532 > log/3/stdout532 2> log/3/stderr532 532: 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 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/3/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:35383/path/532 > log/3/stdout532 2> log/3/stderr532 === End of file commands.log === Start of file ftp_server.log 17:49:32.963167 ====> Client connect 17:49:32.963344 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.963651 < "USER anonymous" 17:49:32.963701 > "331 We are happy you popped in![CR][LF]" 17:49:32.963900 < "PASS ftp@example.com" 17:49:32.963934 > "230 Welcome you silly person[CR][LF]" 17:49:32.964112 < "PWD" 17:49:32.964149 > "257 "/" is current directory[CR][LF]" 17:49:32.965149 < "EPSV" 17:49:32.965180 ====> Passive DATA channel requested by client 17:49:32.965194 DATA sockfilt for passive data channel starting... 17:49:32.967158 DATA sockfilt for passive data channel started (pid 106141) 17:49:32.967294 DATA sockfilt for passive data channel listens on port 44285 17:49:32.967339 > "229 Entering Passive Mode (|||44285|)[CR][LF]" 17:49:32.967355 Client has been notified that DATA conn will be accepted on port 44285 17:49:32.967602 Client connects to port 44285 17:49:32.967633 ====> Client established passive DATA connection on port 44285 17:49:32.967724 < "TYPE I" 17:49:32.967755 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.967906 < "SIZE verifiedserver" 17:49:32.967943 > "213 17[CR][LF]" 17:49:32.968077 < "RETR verifiedserver" 17:49:32.968110 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.968192 =====> Closing passive DATA connection... 17:49:32.968207 Server disconnects passive DATA connection 17:49:32.968364 Server disconnected passive DATA connection 17:49:32.968401 DATA sockfilt for passive data channel quits (pid 106141) 17:49:32.968644 DATA sockfilt for passive data channel quit (pid 106141) 17:49:32.968770 =====> Closed passive DATA connection 17:49:32.968814 > "226 File transfer complete[CR][LF]" 17:49:33.013623 < "QUIT" 17:49:33.013671 > "221 bye bye baby[CR][LF]" 17:49:33.014837 MAIN sockfilt said DISC 17:49:33.014885 ====> Client disconnected 17:49:33.014964 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:32.809252 ====> Client connect 17:49:32.809554 Received DATA (on stdin) 17:49:32.809573 > 146 bytes data, server => client 17:49:32.809587 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:32.809598 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:32.809608 '220 \___|\___/|_| \_\_____|\r\n' 17:49:32.809687 < 16 bytes data, client => server 17:49:32.809701 'USER anonymous\r\n' 17:49:32.809894 Received DATA (on stdin) 17:49:32.809908 > 33 bytes data, server => client 17:49:32.809920 '331 We are happy you popped in!\r\n' 17:49:32.809978 < 22 bytes data, client => server 17:49:32.809991 'PASS ftp@example.com\r\n' 17:49:32.810124 Received DATA (on stdin) 17:49:32.810137 > 30 bytes data, server => client 17:49:32.810148 '230 Welcome you silly person\r\n' 17:49:32.810201 < 5 bytes data, client => server 17:49:32.810214 'PWD\r\n' 17:49:32.810338 Received DATA (on stdin) 17:49:32.810350 > 30 bytes data, server => client 17:49:32.810361 '257 "/" is current directory\r\n' 17:49:32.811239 < 6 bytes data, client => server 17:49:32.811251 'EPSV\r\n' 17:49:32.813549 Received DATA (on stdin) 17:49:32.813566 > 39 bytes data, server => client 17:49:32.813577 '229 Entering Passive Mode (|||44285|)\r\n' 17:49:32.813736 < 8 bytes data, client => server 17:49:32.813747 'TYPE I\r\n' 17:49:32.813942 Received DATA (on stdin) 17:49:32.813952 > 33 bytes data, server => client 17:49:32.813962 '200 I modify TYPE as you wanted\r\n' 17:49:32.814012 < 21 bytes data, client => server 17:49:32.814022 'SIZE verifiedserver\r\n' 17:49:32.814127 Received DATA (on stdin) 17:49:32.814136 > 8 bytes data, server => client 17:49:32.814146 '213 17\r\n' 17:49:32.814188 < 21 bytes data, client => server 17:49:32.814198 'RETR verifiedserver\r\n' 17:49:32.814394 Received DATA (on stdin) 17:49:32.814404 > 29 bytes data, server => client 17:49:32.814414 '150 Binary junk (17 bytes).\r\n' 17:49:32.814998 Received DATA (on stdin) 17:49:32.815015 > 28 bytes data, server => client 17:49:32.815024 '226 File transfer complete\r\n' 17:49:32.859658 < 6 bytes data, client => server 17:49:32.859680 'QUIT\r\n' 17:49:32.859859 Received DATA (on stdin) 17:49:32.859883 > 18 bytes data, server => client 17:49:32.859895 '221 bye bye baby\r\n' 17:49:32.860956 ====> Client disconnect 17:49:32.861153 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.813143 Running IPv4 version 17:49:32.813216 Listening on port 44285 17:49:32.813253 Wrote pid 106141 to log/3/server/ftp_sockdata.pid 17:49:32.813276 Received PING (on stdin) 17:49:32.813388 Received PORT (on stdin) 17:49:32.813708 ====> Client connect 17:49:32.814436 Received DATA (on stdin) 17:49:32.814448 > 17 bytes data, server => client 17:49:32.814458 'WE ROOLZ: 81126\r\n' 17:49:32.814480 Received DISC (on stdin) 17:49:32.814490 ====> Client forcibly disconnected 17:49:32.814593 Received QUIT (on stdin) 17:49:32.814604 quits 17:49:32.814661 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 532 === End of file server.cmd === Start of file stderr532 URL: ftp://127.0.0.1:35383/path/532 === End of file stderr532 === Start of file valgrind532 ==106269== ==106269== Process terminating with default action of signal 4 (SIGILL) ==106269== Illegal opcode at address 0x51D97AF ==106269== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106269== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106269== by 0x51D97AF: Curl_open (url.c:502) ==106269== by 0x515120F: curl_easy_init (easy.c:365) ==106269== by 0x4010E89: test_lib526.lto_priv.0 (lib526.c:63) ==106269== by 0x40034B5: main (first.c:279) ==106269== 5,512 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/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:44871/path/533 ftp://127.0.0.1:44871/path/533 > log/22/stdout533 2> log/22/stderr533 in 1 blocks are definitely lost in loss record 776 of 787 ==106269== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106269== by 0x51D96BD: Curl_open (url.c:479) ==106269== by 0x515120F: curl_easy_init (easy.c:365) ==106269== by 0x4010E89: test_lib526.lto_priv.0 (lib526.c:63) ==106269== by 0x40034B5: main (first.c:279) ==106269== === End of file valgrind532 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/16/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:39205/path/531 log/16/upload531 > log/16/stdout531 2> log/16/stderr531 531: 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 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/16/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:39205/path/531 log/16/upload531 > log/16/stdout531 2> log/16/stderr531 === End of file commands.log === Start of file ftp_server.log 17:49:32.960273 ====> Client connect 17:49:32.960442 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.960718 < "USER anonymous" 17:49:32.960756 > "331 We are happy you popped in![CR][LF]" 17:49:32.960915 < "PASS ftp@example.com" 17:49:32.960941 > "230 Welcome you silly person[CR][LF]" 17:49:32.961078 < "PWD" 17:49:32.961107 > "257 "/" is current directory[CR][LF]" 17:49:32.961250 < "EPSV" 17:49:32.961271 ====> Passive DATA channel requested by client 17:49:32.961285 DATA sockfilt for passive data channel starting... 17:49:32.963100 DATA sockfilt for passive data channel started (pid 106140) 17:49:32.963199 DATA sockfilt for passive data channel listens on port 44975 17:49:32.963238 > "229 Entering Passive Mode (|||44975|)[CR][LF]" 17:49:32.963256 Client has been notified that DATA conn will be accepted on port 44975 17:49:32.963474 Client connects to port 44975 17:49:32.963504 ====> Client established passive DATA connection on port 44975 17:49:32.963578 < "TYPE I" 17:49:32.963607 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.963759 < "SIZE verifiedserver" 17:49:32.963792 > "213 17[CR][LF]" 17:49:32.963932 < "RETR verifiedserver" 17:49:32.963962 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.964046 =====> Closing passive DATA connection... 17:49:32.964061 Server disconnects passive DATA connection 17:49:32.964268 Server disconnected passive DATA connection 17:49:32.964295 DATA sockfilt for passive data channel quits (pid 106140) 17:49:32.964503 DATA sockfilt for passive data channel quit (pid 106140) 17:49:32.964526 =====> Closed passive DATA connection 17:49:32.964552 > "226 File transfer complete[CR][LF]" 17:49:33.007105 < "QUIT" 17:49:33.007160 > "221 bye bye baby[CR][LF]" 17:49:33.008167 MAIN sockfilt said DISC 17:49:33.008224 ====> Client disconnected 17:49:33.008311 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:32.806346 ====> Client connect 17:49:32.806642 Received DATA (on stdin) 17:49:32.806656 > 146 bytes data, server => client 17:49:32.806668 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:32.806677 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:32.806686 '220 \___|\___/|_| \_\_____|\r\n' 17:49:32.806757 < 16 bytes data, client => server 17:49:32.806767 'USER anonymous\r\n' 17:49:32.806944 Received DATA (on stdin) 17:49:32.806954 > 33 bytes data, server => client 17:49:32.806964 '331 We are happy you popped in!\r\n' 17:49:32.807014 < 22 bytes data, client => server 17:49:32.807024 'PASS ftp@example.com\r\n' 17:49:32.807125 Received DATA (on stdin) 17:49:32.807135 > 30 bytes data, server => client 17:49:32.807145 '230 Welcome you silly person\r\n' 17:49:32.807188 < 5 bytes data, client => server 17:49:32.807197 'PWD\r\n' 17:49:32.807290 Received DATA (on stdin) 17:49:32.807300 > 30 bytes data, server => client 17:49:32.807310 '257 "/" is current directory\r\n' 17:49:32.807361 < 6 bytes data, client => server 17:49:32.807370 'EPSV\r\n' 17:49:32.809447 Received DATA (on stdin) 17:49:32.809460 > 39 bytes data, server => client 17:49:32.809471 '229 Entering Passive Mode (|||44975|)\r\n' 17:49:32.809584 < 8 bytes data, client => server 17:49:32.809597 'TYPE I\r\n' 17:49:32.809791 Received DATA (on stdin) 17:49:32.809804 > 33 bytes data, server => client 17:49:32.809815 '200 I modify TYPE as you wanted\r\n' 17:49:32.809866 < 21 bytes data, client => server 17:49:32.809876 'SIZE verifiedserver\r\n' 17:49:32.809978 Received DATA (on stdin) 17:49:32.809988 > 8 bytes data, server => client 17:49:32.809997 '213 17\r\n' 17:49:32.810041 < 21 bytes data, client => server 17:49:32.810051 'RETR verifiedserver\r\n' 17:49:32.810248 Received DATA (on stdin) 17:49:32.810258 > 29 bytes data, server => client 17:49:32.810269 '150 Binary junk (17 bytes).\r\n' 17:49:32.811177 Received DATA (on stdin) 17:49:32.811193 > 28 bytes data, server => client 17:49:32.811203 '226 File transfer complete\r\n' 17:49:32.853109 < 6 bytes data, client => server 17:49:32.853133 'QUIT\r\n' 17:49:32.853355 Received DATA (on stdin) 17:49:32.853368 > 18 bytes data, server => client 17:49:32.853378 '221 bye bye baby\r\n' 17:49:32.854281 ====> Client disconnect 17:49:32.854452 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.808960 Running IPv4 version 17:49:32.809021 Listening on port 44975 17:49:32.809217 Wrote pid 106140 to log/16/server/ftp_sockdata.pid 17:49:32.809238 Received PING (on stdin) 17:49:32.809309 Received PORT (on stdin) 17:49:32.809617 ====> Client connect 17:49:32.810293 Received DATA (on stdin) 17:49:32.810304 > 17 bytes data, server => client 17:49:32.810314 'WE ROOLZ: 81124\r\n' 17:49:32.810337 Received DISC (on stdin) 17:49:32.810347 ====> Client forcibly disconnected 17:49:32.810490 Received QUIT (on stdin) 17:49:32.810500 quits 17:49:32.810558 ============> 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 stderr531 URL: ftp://127.0.0.1:39205/path/531 === End of file stderr531 === Start of file upload531 Moooooooooooo do not upload this === End of file upload531 === Start of file valgrind531 ==106251== ==106251== Process terminating with default action of signal 4 (SIGILL) ==106251== Illegal opcode at address 0x51D97AF ==106251== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106251== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106251== by 0x51D97AF: Curl_open (url.c:502) ==106251== by 0x515120F: curl_easy_init (easy.c:365) ==106251== by 0x401051C: test_lib525.lto_priv.0 (lib525.c:69) ==106251== by 0x40034B5: main (first.c:279) ==106251== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==106251== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106251== by 0x51D96BD: Curl_open (url.c:479) ==106251== by 0x515120F: curl_easy_init (easy.c:365) ==106251== by 0x401051C: test_lib525.lto_priv.0 (lib525.c:69) ==106251== by 0x40034B5: main (first.c:279) ==106251== === End of file valgrind531 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/22/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:44871/path/533 ftp://127.0.0.1:44871/path/533 > log/22/stdout533 2> log/22/stderr533 533: protocol FAILED! There was no content at all 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/12/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:38035/path/534 > log/12/stdout534 2> log/12/stderr534 file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ 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/22/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:44871/path/533 ftp://127.0.0.1:44871/path/533 > log/22/stdout533 2> log/22/stderr533 === End of file commands.log === Start of file ftp_server.log 17:49:32.990152 ====> Client connect 17:49:32.990304 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.990574 < "USER anonymous" 17:49:32.990610 > "331 We are happy you popped in![CR][LF]" 17:49:32.990782 < "PASS ftp@example.com" 17:49:32.990812 > "230 Welcome you silly person[CR][LF]" 17:49:32.990973 < "PWD" 17:49:32.991015 > "257 "/" is current directory[CR][LF]" 17:49:32.991187 < "EPSV" 17:49:32.991213 ====> Passive DATA channel requested by client 17:49:32.991228 DATA sockfilt for passive data channel starting... 17:49:32.993062 DATA sockfilt for passive data channel started (pid 106202) 17:49:32.993169 DATA sockfilt for passive data channel listens on port 40237 17:49:32.993214 > "229 Entering Passive Mode (|||40237|)[CR][LF]" 17:49:32.993230 Client has been notified that DATA conn will be accepted on port 40237 17:49:32.993460 Client connects to port 40237 17:49:32.993489 ====> Client established passive DATA connection on port 40237 17:49:32.993567 < "TYPE I" 17:49:32.993596 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:32.993864 < "SIZE verifiedserver" 17:49:32.993923 > "213 17[CR][LF]" 17:49:32.994094 < "RETR verifiedserver" 17:49:32.994128 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:32.994227 =====> Closing passive DATA connection... 17:49:32.994246 Server disconnects passive DATA connection 17:49:32.994335 Server disconnected passive DATA connection 17:49:32.994360 DATA sockfilt for passive data channel quits (pid 106202) 17:49:32.994607 DATA sockfilt for passive data channel quit (pid 106202) 17:49:32.994640 =====> Closed passive DATA connection 17:49:32.994671 > "226 File transfer complete[CR][LF]" 17:49:33.037071 < "QUIT" 17:49:33.037133 > "221 bye bye baby[CR][LF]" 17:49:33.037550 MAIN sockfilt said DISC 17:49:33.037622 ====> Client disconnected 17:49:33.037715 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:32.836231 ====> Client connect 17:49:32.836503 Received DATA (on stdin) 17:49:32.836518 > 146 bytes data, server => client 17:49:32.836529 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:32.836540 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:32.836549 '220 \___|\___/|_| \_\_____|\r\n' 17:49:32.836619 < 16 bytes data, client => server 17:49:32.836633 'USER anonymous\r\n' 17:49:32.836801 Received DATA (on stdin) 17:49:32.836813 > 33 bytes data, server => client 17:49:32.836824 '331 We are happy you popped in!\r\n' 17:49:32.836876 < 22 bytes data, client => server 17:49:32.836889 'PASS ftp@example.com\r\n' 17:49:32.837000 Received DATA (on stdin) 17:49:32.837012 > 30 bytes data, server => client 17:49:32.837022 '230 Welcome you silly person\r\n' 17:49:32.837072 < 5 bytes data, client => server 17:49:32.837085 'PWD\r\n' 17:49:32.837203 Received DATA (on stdin) 17:49:32.837214 > 30 bytes data, server => client 17:49:32.837225 '257 "/" is current directory\r\n' 17:49:32.837286 < 6 bytes data, client => server 17:49:32.837298 'EPSV\r\n' 17:49:32.839422 Received DATA (on stdin) 17:49:32.839434 > 39 bytes data, server => client 17:49:32.839445 '229 Entering Passive Mode (|||40237|)\r\n' 17:49:32.839568 < 8 bytes data, client => server 17:49:32.839582 'TYPE I\r\n' 17:49:32.839789 Received DATA (on stdin) 17:49:32.839814 > 33 bytes data, server => client 17:49:32.839826 '200 I modify TYPE as you wanted\r\n' 17:49:32.839910 < 21 bytes data, client => server 17:49:32.839923 'SIZE verifiedserver\r\n' 17:49:32.840117 Received DATA (on stdin) 17:49:32.840130 > 8 bytes data, server => client 17:49:32.840140 '213 17\r\n' 17:49:32.840192 < 21 bytes data, client => server 17:49:32.840205 'RETR verifiedserver\r\n' 17:49:32.840408 Received DATA (on stdin) 17:49:32.840423 > 29 bytes data, server => client 17:49:32.840435 '150 Binary junk (17 bytes).\r\n' 17:49:32.840863 Received DATA (on stdin) 17:49:32.840875 > 28 bytes data, server => client 17:49:32.840886 '226 File transfer complete\r\n' 17:49:32.883063 < 6 bytes data, client => server 17:49:32.883092 'QUIT\r\n' 17:49:32.883330 Received DATA (on stdin) 17:49:32.883345 > 18 bytes data, server => client 17:49:32.883356 '221 bye bye baby\r\n' 17:49:32.883652 ====> Client disconnect 17:49:32.883917 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.838948 Running IPv4 version 17:49:32.839012 Listening on port 40237 17:49:32.839050 Wrote pid 106202 to log/22/server/ftp_sockdata.pid 17:49:32.839193 Received PING (on stdin) 17:49:32.839272 Received PORT (on stdin) 17:49:32.839600 ====> Client connect 17:49:32.840334 Received DATA (on stdin) 17:49:32.840348 > 17 bytes data, server => client 17:49:32.840358 'WE ROOLZ: 81056\r\n' 17:49:32.840446 Received DISC (on stdin) 17:49:32.840466 ====> Client forcibly disconnected 17:49:32.840552 Received QUIT (on stdin) 17:49:32.840568 quits 17:49:32.840631 ============> 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 stderr533 URL: ftp://127.0.0.1:44871/path/533 === End of file stderr533 === Start of file valgrind533 ==106339== ==106339== Process terminating with default action of signal 4 (SIGILL) ==106339== Illegal opcode at address 0x51D97AF ==106339== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106339== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106339== by 0x51D97AF: Curl_open (url.c:502) ==106339== by 0x515120F: curl_easy_init (easy.c:365) ==106339== by 0x4061FD5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==106339== by 0x40034B5: main (first.c:279) ==106339== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==106339== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106339== by 0x51D96BD: Curl_open (url.c:479) ==106339== by 0x515120F: curl_easy_init (easy.c:365) ==106339== by 0x4061FD5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==106339== by 0x40034B5: main (first.c:279) ==106339== === End of file valgrind533 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/12/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:38035/path/534 > log/12/stdout534 2> log/12/stderr534 534: 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 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/12/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:38035/path/534 > log/12/stdout534 2> log/12/stderr534 === End of file commands.log === Start of file ftp_server.log 17:49:32.997224 ====> Client connect 17:49:32.997378 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:32.997713 < "USER anonymous" 17:49:32.997753 > "331 We are happy you popped in![CR][LF]" 17:49:32.997925 < "PASS ftp@example.com" 17:49:32.997956 > "230 Welcome you silly person[CR][LF]" 17:49:32.998119 < "PWD" 17:49:32.998152 > "257 "/" is current directory[CR][LF]" 17:49:32.998321 < "EPSV" 17:49:32.998351 ====> Passive DATA channel requested by client 17:49:32.998367 DATA sockfilt for passive data channel starting... 17:49:33.000162 DATA sockfilt for passive data channel started (pid 106213) 17:49:33.000270 DATA sockfilt for passive data channel listens on port 36901 17:49:33.000317 > "229 Entering Passive Mode (|||36901|)[CR][LF]" 17:49:33.000339 Client has been notified that DATA conn will be accepted on port 36901 17:49:33.000565 Client connects to port 36901 17:49:33.000598 ====> Client established passive DATA connection on port 36901 17:49:33.000676 < "TYPE I" 17:49:33.000709 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:33.000902 < "SIZE verifiedserver" 17:49:33.000947 > "213 17[CR][LF]" 17:49:33.001113 < "RETR verifiedserver" 17:49:33.001149 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:33.001231 =====> Closing passive DATA connection... 17:49:33.001249 Server disconnects passive DATA connection 17:49:33.001458 Server disconnected passive DATA connection 17:49:33.001505 DATA sockfilt for passive data channel quits (pid 106213) 17:49:33.001820 DATA sockfilt for passive data channel quit (pid 106213) 17:49:33.001845 =====> Closed passive DATA connection 17:49:33.001880 > "226 File transfer complete[CR][LF]" 17:49:33.047634 < "QUIT" 17:49:33.047690 > "221 bye bye baby[CR][LF]" 17:49:33.048153 MAIN sockfilt said DISC 17:49:33.048210 ====> Client disconnected 17:49:33.048294 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:32.843318 ====> Client connect 17:49:32.843579 Received DATA (on stdin) 17:49:32.843595 > 146 bytes data, server => client 17:49:32.843607 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:32.843617 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:32.843627 '220 \___|\___/|_| \_\_____|\r\n' 17:49:32.843759 < 16 bytes data, client => server 17:49:32.843773 'USER anonymous\r\n' 17:49:32.843945 Received DATA (on stdin) 17:49:32.843957 > 33 bytes data, server => client 17:49:32.843967 '331 We are happy you popped in!\r\n' 17:49:32.844019 < 22 bytes data, client => server 17:49:32.844032 'PASS ftp@example.com\r\n' 17:49:32.844144 Received DATA (on stdin) 17:49:32.844156 > 30 bytes data, server => client 17:49:32.844167 '230 Welcome you silly person\r\n' 17:49:32.844216 < 5 bytes data, client => server 17:49:32.844229 'PWD\r\n' 17:49:32.844338 Received DATA (on stdin) 17:49:32.844350 > 30 bytes data, server => client 17:49:32.844360 '257 "/" is current directory\r\n' 17:49:32.844419 < 6 bytes data, client => server 17:49:32.844432 'EPSV\r\n' 17:49:32.846507 Received DATA (on stdin) 17:49:32.846531 > 39 bytes data, server => client 17:49:32.846543 '229 Entering Passive Mode (|||36901|)\r\n' 17:49:32.846727 < 8 bytes data, client => server 17:49:32.846738 'TYPE I\r\n' 17:49:32.846900 Received DATA (on stdin) 17:49:32.846919 > 33 bytes data, server => client 17:49:32.846930 '200 I modify TYPE as you wanted\r\n' 17:49:32.846997 < 21 bytes data, client => server 17:49:32.847010 'SIZE verifiedserver\r\n' 17:49:32.847137 Received DATA (on stdin) 17:49:32.847150 > 8 bytes data, server => client 17:49:32.847160 '213 17\r\n' 17:49:32.847212 < 21 bytes data, client => server 17:49:32.847224 'RETR verifiedserver\r\n' 17:49:32.847440 Received DATA (on stdin) 17:49:32.847452 > 29 bytes data, server => client 17:49:32.847463 '150 Binary junk (17 bytes).\r\n' 17:49:32.848075 Received DATA (on stdin) 17:49:32.848091 > 28 bytes data, server => client 17:49:32.848101 '226 File transfer complete\r\n' 17:49:32.893396 < 6 bytes data, client => server 17:49:32.893416 'QUIT\r\n' 17:49:32.893979 Received DATA (on stdin) 17:49:32.894003 > 18 bytes data, server => client 17:49:32.894015 '221 bye bye baby\r\n' 17:49:32.894269 ====> Client disconnect 17:49:32.894494 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:32.845992 Running IPv4 version 17:49:32.846049 Listening on port 36901 17:49:32.846265 Wrote pid 106213 to log/12/server/ftp_sockdata.pid 17:49:32.846289 Received PING (on stdin) 17:49:32.846374 Received PORT (on stdin) 17:49:32.846696 ====> Client connect 17:49:32.847491 Received DATA (on stdin) 17:49:32.847506 > 17 bytes data, server => client 17:49:32.847517 'WE ROOLZ: 81047\r\n' 17:49:32.847542 Received DISC (on stdin) 17:49:32.847554 ====> Client forcibly disconnected 17:49:32.847708 Received QUIT (on stdin) 17:49:32.847723 quits 17:49:32.847795 ============> 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 stderr534 URL: ftp://non-existing-host.haxx.se/path/534 === End of file stderr534 === Start of file valgrind534 ==106373== ==106373== Process terminating with default action of signal 4 (SIGILL) ==106373== Illegal opcode at address 0x51D97AF ==106373== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106373== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106373== by 0x51D97AF: Curl_open (url.c:502) ==106373== by 0x515120F: curl_easy_init (easy.c:365) ==106373== by 0x4061FD5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==106373== by 0x40034B5: main (first.c:279) ==106373== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==106373== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106373== by 0x51D96BD: Curl_open (url.c:479) ==106373== by 0x515120F: curl_easy_init (easy.c:365) ==106373== by 0x4061FD5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==106373== by 0x40034B5: main (first.c:279) ==106373== === End of file valgrind534 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/2/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:38779/513 > log/2/stdout513 2> log/2/stderr513 libtests returned 132, when expecting 42 513: exit FAILED == Contents of files in the log/2/ 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/2/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:38779/513 > log/2/stdout513 2> log/2/stderr513 === End of file commands.log === Start of file http_server.log 17:49:31.888158 ====> Client connect 17:49:31.888190 accept_connection 3 returned 4 17:49:31.888206 accept_connection 3 returned 0 17:49:31.888220 Read 93 bytes 17:49:31.888230 Process 93 bytes request 17:49:31.888243 Got request: GET /verifiedserver HTTP/1.1 17:49:31.888252 Are-we-friendly question received 17:49:31.888278 Wrote request (93 bytes) input to log/2/server.input 17:49:31.888295 Identifying ourselves as friends 17:49:31.888352 Response sent (56 bytes) and written to log/2/server.response 17:49:31.888362 special request received, no persistency 17:49:31.888371 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 36694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === End of file http_verify.out === Start of file server.cmd Testnum 513 === End 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/11/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:46439/535 http://127.0.0.1:46439/5350001 > log/11/stdout535 2> log/11/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/18/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:34067 goingdirect.com:34067 goingdirect.com:34067:127.0.0.1 > log/18/stdout536 2> log/18/stderr536 file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76626 === End of file server.response === Start of file stderr513 URL: http://127.0.0.1:38779/513 === End of file stderr513 === Start of file valgrind513 ==104928== ==104928== Process terminating with default action of signal 4 (SIGILL) ==104928== Illegal opcode at address 0x51D97AF ==104928== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104928== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104928== by 0x51D97AF: Curl_open (url.c:502) ==104928== by 0x515120F: curl_easy_init (easy.c:365) ==104928== by 0x400A70A: test_lib513.lto_priv.0 (lib513.c:45) ==104928== by 0x40034B5: main (first.c:279) ==104928== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==104928== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104928== by 0x51D96BD: Curl_open (url.c:479) ==104928== by 0x515120F: curl_easy_init (easy.c:365) ==104928== by 0x400A70A: test_lib513.lto_priv.0 (lib513.c:45) ==104928== by 0x40034B5: main (first.c:279) ==104928== === End of file valgrind513 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/11/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:46439/535 http://127.0.0.1:46439/5350001 > log/11/stdout535 2> log/11/stderr535 535: 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 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/11/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:46439/535 http://127.0.0.1:46439/5350001 > log/11/stdout535 2> log/11/stderr535 === End of file commands.log === Start of file http_server.log 17:49:32.975393 ====> Client connect 17:49:32.975425 accept_connection 3 returned 4 17:49:32.975440 accept_connection 3 returned 0 17:49:32.975454 Read 93 bytes 17:49:32.975463 Process 93 bytes request 17:49:32.975477 Got request: GET /verifiedserver HTTP/1.1 17:49:32.975485 Are-we-friendly question received 17:49:32.975508 Wrote request (93 bytes) input to log/11/server.input 17:49:32.975523 Identifying ourselves as friends 17:49:32.975574 Response sent (56 bytes) and written to log/11/server.response 17:49:32.975583 special request received, no persistency 17:49:32.975591 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 60624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file stderr535 URL: http://127.0.0.1:46439/535 === End of file stderr535 === Start of file valgrind535 ==106495== ==106495== Process terminating with default action of signal 4 (SIGILL) ==106495== Illegal opcode at address 0x51D97AF ==106495== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106495== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106495== by 0x51D97AF: Curl_open (url.c:502) ==106495== by 0x515120F: curl_easy_init (easy.c:365) ==106495== by 0x4061FD5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==106495== by 0x40034B5: main (first.c:279) ==106495== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==106495== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106495== by 0x51D96BD: Curl_open (url.c:479) ==106495== by 0x515120F: curl_easy_init (easy.c:365) ==106495== by 0x4061FD5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==106495== by 0x40034B5: main (first.c:279) ==106495== === End of file valgrind535 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/21/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:41669/514 > log/21/stdout514 2> log/21/stderr514 514: 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 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/21/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:41669/514 > log/21/stdout514 2> log/21/stderr514 === End of file commands.log === Start of file http_server.log 17:49:31.907747 ====> Client connect 17:49:31.907780 accept_connection 3 returned 4 17:49:31.907795 accept_connection 3 returned 0 17:49:31.907810 Read 93 bytes 17:49:31.907819 Process 93 bytes request 17:49:31.907832 Got request: GET /verifiedserver HTTP/1.1 17:49:31.907841 Are-we-friendly question received 17:49:31.907864 Wrote request (93 bytes) input to log/21/server.input 17:49:31.907880 Identifying ourselves as friends 17:49:31.907932 Response sent (56 bytes) and written to log/21/server.response 17:49:31.907941 special request received, no persistency 17:49:31.907949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 54792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stderr514 URL: http://127.0.0.1:41669/514 === End of file stderr514 === Start of file valgrind514 ==104979== ==104979== Process terminating with default action of signal 4 (SIGILL) ==104979== Illegal opcode at address 0x51D97AF ==104979== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==104979== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==104979== by 0x51D97AF: Curl_open (url.c:502) ==104979== by 0x515120F: curl_easy_init (easy.c:365) ==104979== by 0x400A86A: test_lib514.lto_priv.0 (lib514.c:36) ==104979== by 0x40034B5: main (first.c:279) ==104979== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==104979== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104979== by 0x51D96BD: Curl_open (url.c:479) ==104979== by 0x515120F: curl_easy_init (easy.c:365) ==104979== by 0x400A86A: test_lib514.lto_priv.0 (lib514.c:36) ==104979== by 0x40034B5: main (first.c:279) ==104979== === End of file valgrind514 CMD (33792): ../libtool --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/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:38963/538 > log/17/stdout538 2> log/17/stderr538 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:34067 goingdirect.com:34067 goingdirect.com:34067:127.0.0.1 > log/18/stdout536 2> log/18/stderr536 536: stdout FAILED: --- log/18/check-expected 2026-01-28 17:49:34.329888766 +0000 +++ log/18/check-generated 2026-01-28 17:49:34.329888766 +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:34067 goingdirect.com:34067 goingdirect.com:34067:127.0.0.1 > log/18/stdout536 2> log/18/stderr536 === End of file commands.log === Start of file http_server.log 17:49:33.072863 ====> Client connect 17:49:33.072898 accept_connection 3 returned 4 17:49:33.072914 accept_connection 3 returned 0 17:49:33.072929 Read 93 bytes 17:49:33.072938 Process 93 bytes request 17:49:33.072951 Got request: GET /verifiedserver HTTP/1.1 17:49:33.072959 Are-we-friendly question received 17:49:33.072986 Wrote request (93 bytes) input to log/18/server.input 17:49:33.073002 Identifying ourselves as friends 17:49:33.073060 Response sent (56 bytes) and written to log/18/server.response 17:49:33.073070 special request received, no persistency 17:49:33.073078 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 55472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file stderr536 URL: http://127.0.0.1:34067 === End of file stderr536 === Start of file valgrind536 ==106583== ==106583== Process terminating with default action of signal 4 (SIGILL) ==106583== Illegal opcode at address 0x51D97AF ==106583== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106583== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106583== by 0x51D97AF: Curl_open (url.c:502) ==106583== by 0x515120F: curl_easy_init (easy.c:365) ==106583== by 0x400CDC2: test_lib536.lto_priv.0 (lib536.c:48) ==106583== by 0x40034B5: main (first.c:279) ==106583== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==106583== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106583== by 0x51D96BD: Curl_open (url.c:479) ==106583== by 0x515120F: curl_easy_init (easy.c:365) ==106583== by 0x400CDC2: test_lib536.lto_priv.0 (lib536.c:48) ==106583== by 0x40034B5: main (first.c:279) ==106583== === End of file valgrind536 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/17/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:38963/538 > log/17/stdout538 2> log/17/stderr538 538: 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 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/17/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:38963/538 > log/17/stdout538 2> log/17/stderr538 === End of file commands.log === Start of file ftp_server.log 17:49:33.295824 ====> Client connect 17:49:33.296027 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:33.296356 < "USER anonymous" 17:49:33.296398 > "331 We are happy you popped in![CR][LF]" 17:49:33.296588 < "PASS ftp@example.com" 17:49:33.296621 > "230 Welcome you silly person[CR][LF]" 17:49:33.296807 < "PWD" 17:49:33.296844 > "257 "/" is current directory[CR][LF]" 17:49:33.297019 < "EPSV" 17:49:33.297052 ====> Passive DATA channel requested by client 17:49:33.297067 DATA sockfilt for passive data channel starting... 17:49:33.298982 DATA sockfilt for passive data channel started (pid 106668) 17:49:33.299080 DATA sockfilt for passive data channel listens on port 34405 17:49:33.299125 > "229 Entering Passive Mode (|||34405|)[CR][LF]" 17:49:33.299142 Client has been notified that DATA conn will be accepted on port 34405 17:49:33.299352 Client connects to port 34405 17:49:33.299379 ====> Client established passive DATA connection on port 34405 17:49:33.299450 < "TYPE I" 17:49:33.299479 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:33.299623 < "SIZE verifiedserver" 17:49:33.299659 > "213 17[CR][LF]" 17:49:33.299793 < "RETR verifiedserver" 17:49:33.299822 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:33.299901 =====> Closing passive DATA connection... 17:49:33.299917 Server disconnects passive DATA connection 17:49:33.300095 Server disconnected passive DATA connection 17:49:33.300119 DATA sockfilt for passive data channel quits (pid 106668) 17:49:33.300379 DATA sockfilt for passive data channel quit (pid 106668) 17:49:33.300402 =====> Closed passive DATA connection 17:49:33.300432 > "226 File transfer complete[CR][LF]" 17:49:33.348200 < "QUIT" 17:49:33.348257 > "221 bye bye baby[CR][LF]" 17:49:33.349360 MAIN sockfilt said DISC 17:49:33.349400 ====> Client disconnected 17:49:33.349493 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:33.141886 ====> Client connect 17:49:33.142233 Received DATA (on stdin) 17:49:33.142248 > 146 bytes data, server => client 17:49:33.142260 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:33.142270 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:33.142280 '220 \___|\___/|_| \_\_____|\r\n' 17:49:33.142361 < 16 bytes data, client => server 17:49:33.142375 'USER anonymous\r\n' 17:49:33.142591 Received DATA (on stdin) 17:49:33.142604 > 33 bytes data, server => client 17:49:33.142615 '331 We are happy you popped in!\r\n' 17:49:33.142669 < 22 bytes data, client => server 17:49:33.142681 'PASS ftp@example.com\r\n' 17:49:33.142812 Received DATA (on stdin) 17:49:33.142824 > 30 bytes data, server => client 17:49:33.142846 '230 Welcome you silly person\r\n' 17:49:33.142900 < 5 bytes data, client => server 17:49:33.142912 'PWD\r\n' 17:49:33.143032 Received DATA (on stdin) 17:49:33.143044 > 30 bytes data, server => client 17:49:33.143054 '257 "/" is current directory\r\n' 17:49:33.143114 < 6 bytes data, client => server 17:49:33.143127 'EPSV\r\n' 17:49:33.145334 Received DATA (on stdin) 17:49:33.145346 > 39 bytes data, server => client 17:49:33.145356 '229 Entering Passive Mode (|||34405|)\r\n' 17:49:33.145462 < 8 bytes data, client => server 17:49:33.145475 'TYPE I\r\n' 17:49:33.145666 Received DATA (on stdin) 17:49:33.145676 > 33 bytes data, server => client 17:49:33.145686 '200 I modify TYPE as you wanted\r\n' 17:49:33.145732 < 21 bytes data, client => 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/24/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:39649 silly:person custom.set.host.name > log/24/stdout540 2> log/24/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/23/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:46399/path/to/the/file/539 ftp://127.0.0.1:46399/path/to/the/file/5390001 > log/23/stdout539 2> log/23/stderr539 rver 17:49:33.145742 'SIZE verifiedserver\r\n' 17:49:33.145845 Received DATA (on stdin) 17:49:33.145855 > 8 bytes data, server => client 17:49:33.145864 '213 17\r\n' 17:49:33.145906 < 21 bytes data, client => server 17:49:33.145916 'RETR verifiedserver\r\n' 17:49:33.146104 Received DATA (on stdin) 17:49:33.146114 > 29 bytes data, server => client 17:49:33.146124 '150 Binary junk (17 bytes).\r\n' 17:49:33.146620 Received DATA (on stdin) 17:49:33.146632 > 28 bytes data, server => client 17:49:33.146642 '226 File transfer complete\r\n' 17:49:33.194188 < 6 bytes data, client => server 17:49:33.194217 'QUIT\r\n' 17:49:33.194449 Received DATA (on stdin) 17:49:33.194461 > 18 bytes data, server => client 17:49:33.194472 '221 bye bye baby\r\n' 17:49:33.195466 ====> Client disconnect 17:49:33.195682 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:33.144877 Running IPv4 version 17:49:33.144934 Listening on port 34405 17:49:33.144972 Wrote pid 106668 to log/17/server/ftp_sockdata.pid 17:49:33.145116 Received PING (on stdin) 17:49:33.145190 Received PORT (on stdin) 17:49:33.145493 ====> Client connect 17:49:33.146176 Received DATA (on stdin) 17:49:33.146189 > 17 bytes data, server => client 17:49:33.146199 'WE ROOLZ: 95543\r\n' 17:49:33.146222 Received DISC (on stdin) 17:49:33.146233 ====> Client forcibly disconnected 17:49:33.146359 Received QUIT (on stdin) 17:49:33.146371 quits 17:49:33.146431 ============> 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 stderr538 URL: ftp://127.0.0.1:38963/538 === End of file stderr538 === Start of file valgrind538 ==106678== ==106678== Process terminating with default action of signal 4 (SIGILL) ==106678== Illegal opcode at address 0x51D97AF ==106678== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106678== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106678== by 0x51D97AF: Curl_open (url.c:502) ==106678== by 0x515120F: curl_easy_init (easy.c:365) ==106678== by 0x4063055: test_lib504.part.0.lto_priv.0 (lib504.c:45) ==106678== by 0x40034B5: main (first.c:279) ==106678== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==106678== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106678== by 0x51D96BD: Curl_open (url.c:479) ==106678== by 0x515120F: curl_easy_init (easy.c:365) ==106678== by 0x4063055: test_lib504.part.0.lto_priv.0 (lib504.c:45) ==106678== by 0x40034B5: main (first.c:279) ==106678== === End of file valgrind538 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/24/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:39649 silly:person custom.set.host.name > log/24/stdout540 2> log/24/stderr540 540: 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 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/24/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:39649 silly:person custom.set.host.name > log/24/stdout540 2> log/24/stderr540 === End of file commands.log === Start of file http_server.log 17:49:33.382326 ====> Client connect 17:49:33.382355 accept_connection 3 returned 4 17:49:33.382369 accept_connection 3 returned 0 17:49:33.382382 Read 93 bytes 17:49:33.382391 Process 93 bytes request 17:49:33.382402 Got request: GET /verifiedserver HTTP/1.1 17:49:33.382410 Are-we-friendly question received 17:49:33.382435 Wrote request (93 bytes) input to log/24/server.input 17:49:33.382450 Identifying ourselves as friends 17:49:33.382501 Response sent (56 bytes) and written to log/24/server.response 17:49:33.382509 special request received, no persistency 17:49:33.382517 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 60220 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file stderr540 URL: http://test.remote.example.com/path/540 === End of file stderr540 === Start of file valgrind540 ==106773== ==106773== Process terminating with default action of signal 4 (SIGILL) ==106773== Illegal opcode at address 0x51A0F00 ==106773== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==106773== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==106773== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==106773== by 0x4016BB0: test_lib540.lto_priv.0 (lib540.c:219) ==106773== by 0x40034B5: main (first.c:279) ==106773== 728 bytes in 1 blocks are definitely lost in loss record 716 of 789 ==106773== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106773== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==106773== by 0x4016BB0: test_lib540.lto_priv.0 (lib540.c:219) ==106773== by 0x40034B5: main (first.c:279) ==106773== === End of file valgrind540 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/23/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:46399/path/to/the/file/539 ftp://127.0.0.1:46399/path/to/the/file/5390001 > log/23/stdout539 2> log/23/stderr539 539: 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 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/23/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:46399/path/to/the/file/539 ftp://127.0.0.1:46399/path/to/the/file/5390001 > log/23/stdout539 2> log/23/stderr539 === End of file commands.log === Start of file ftp_server.log 17:49:33.536184 ====> Client connect 17:49:33.536357 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:33.536640 < "USER anonymous" 17:49:33.536689 > "331 We are happy you popped in![CR][LF]" 17:49:33.536868 < "PASS ftp@example.com" 17:49:33.536898 > "230 Welcome you silly person[CR][LF]" 17:49:33.537056 < "PWD" 17:49:33.537090 > "257 "/" is current directory[CR][LF]" 17:49:33.537258 < "EPSV" 17:49:33.537285 ====> Passive DATA channel requested by client 17:49:33.537300 DATA sockfilt for passive data channel starting... 17:49:33.538734 DATA sockfilt for passive data channel started (pid 106770) 17:49:33.538826 DATA sockfilt for passive data channel listens on port 34465 17:49:33.538866 > "229 Entering Passive Mode (|||34465|)[CR][LF]" 17:49:33.538883 Client has been notified that DATA conn will be accepted on port 34465 17:49:33.539075 Client connects to port 34465 17:49:33.539101 ====> Client established passiveCMD (33792): ../libtool --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/valgrind543 ./libtest/libtests lib543 - > log/7/stdout543 2> log/7/stderr543 DATA connection on port 34465 17:49:33.539166 < "TYPE I" 17:49:33.539191 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:33.539965 < "SIZE verifiedserver" 17:49:33.540010 > "213 17[CR][LF]" 17:49:33.540180 < "RETR verifiedserver" 17:49:33.540216 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:33.540304 =====> Closing passive DATA connection... 17:49:33.540324 Server disconnects passive DATA connection 17:49:33.540572 Server disconnected passive DATA connection 17:49:33.540600 DATA sockfilt for passive data channel quits (pid 106770) 17:49:33.540781 DATA sockfilt for passive data channel quit (pid 106770) 17:49:33.540804 =====> Closed passive DATA connection 17:49:33.540829 > "226 File transfer complete[CR][LF]" 17:49:33.583863 < "QUIT" 17:49:33.583917 > "221 bye bye baby[CR][LF]" 17:49:33.584327 MAIN sockfilt said DISC 17:49:33.584355 ====> Client disconnected 17:49:33.584425 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:34.382257 ====> Client connect 17:49:34.382560 Received DATA (on stdin) 17:49:34.382574 > 146 bytes data, server => client 17:49:34.382587 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:34.382597 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:34.382607 '220 \___|\___/|_| \_\_____|\r\n' 17:49:34.382675 < 16 bytes data, client => server 17:49:34.382689 'USER anonymous\r\n' 17:49:34.382882 Received DATA (on stdin) 17:49:34.382895 > 33 bytes data, server => client 17:49:34.382905 '331 We are happy you popped in!\r\n' 17:49:34.382961 < 22 bytes data, client => server 17:49:34.382974 'PASS ftp@example.com\r\n' 17:49:34.383085 Received DATA (on stdin) 17:49:34.383096 > 30 bytes data, server => client 17:49:34.383107 '230 Welcome you silly person\r\n' 17:49:34.383155 < 5 bytes data, client => server 17:49:34.383167 'PWD\r\n' 17:49:34.383278 Received DATA (on stdin) 17:49:34.383289 > 30 bytes data, server => client 17:49:34.383300 '257 "/" is current directory\r\n' 17:49:34.383359 < 6 bytes data, client => server 17:49:34.383370 'EPSV\r\n' 17:49:34.385070 Received DATA (on stdin) 17:49:34.385082 > 39 bytes data, server => client 17:49:34.385091 '229 Entering Passive Mode (|||34465|)\r\n' 17:49:34.385215 < 8 bytes data, client => server 17:49:34.385225 'TYPE I\r\n' 17:49:34.385959 Received DATA (on stdin) 17:49:34.385978 > 33 bytes data, server => client 17:49:34.385990 '200 I modify TYPE as you wanted\r\n' 17:49:34.386057 < 21 bytes data, client => server 17:49:34.386071 'SIZE verifiedserver\r\n' 17:49:34.386215 Received DATA (on stdin) 17:49:34.386226 > 8 bytes data, server => client 17:49:34.386235 '213 17\r\n' 17:49:34.386284 < 21 bytes data, client => server 17:49:34.386294 'RETR verifiedserver\r\n' 17:49:34.386513 Received DATA (on stdin) 17:49:34.386525 > 29 bytes data, server => client 17:49:34.386535 '150 Binary junk (17 bytes).\r\n' 17:49:34.387015 Received DATA (on stdin) 17:49:34.387027 > 28 bytes data, server => client 17:49:34.387036 '226 File transfer complete\r\n' 17:49:34.429651 < 6 bytes data, client => server 17:49:34.430108 'QUIT\r\n' 17:49:34.430124 Received DATA (on stdin) 17:49:34.430134 > 18 bytes data, server => client 17:49:34.430144 '221 bye bye baby\r\n' 17:49:34.430467 ====> Client disconnect 17:49:34.430608 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:33.384764 Running IPv4 version 17:49:33.384816 Listening on port 34465 17:49:33.384851 Wrote pid 106770 to log/23/server/ftp_sockdata.pid 17:49:33.384867 Received PING (on stdin) 17:49:33.384937 Received PORT (on stdin) 17:49:33.385192 ====> Client connect 17:49:33.386599 Received DATA (on stdin) 17:49:33.386615 > 17 bytes data, server => client 17:49:33.386626 'WE ROOLZ: 81154\r\n' 17:49:33.386652 Received DISC (on stdin) 17:49:33.386664 ====> Client forcibly disconnected 17:49:33.386794 Received QUIT (on stdin) 17:49:33.386805 quits 17:49:33.386853 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 539 === End of file server.cmd === Start of file stderr539 URL: ftp://127.0.0.1:46399/path/to/the/file/539 === End of file stderr539 === Start of file valgrind539 ==106826== ==106826== Process terminating with default action of signal 4 (SIGILL) ==106826== Illegal opcode at address 0x51D97AF ==106826== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106826== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106826== by 0x51D97AF: Curl_open (url.c:502) ==106826== by 0x515120F: curl_easy_init (easy.c:365) ==106826== by 0x4013F4A: test_lib539.lto_priv.0 (lib539.c:38) ==106826== by 0x40034B5: main (first.c:279) ==106826== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==106826== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106826== by 0x51D96BD: Curl_open (url.c:479) ==106826== by 0x515120F: curl_easy_init (easy.c:365) ==106826== by 0x4013F4A: test_lib539.lto_priv.0 (lib539.c:38) ==106826== by 0x40034B5: main (first.c:279) ==106826== === End of file valgrind539 CMD (33792): ../libtool --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/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:41057/544 > log/15/stdout544 2> log/15/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/9/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:36391/542 > log/9/stdout542 2> log/9/stderr542 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/7/valgrind543 ./libtest/libtests lib543 - > log/7/stdout543 2> log/7/stderr543 543: stdout FAILED: --- log/7/check-expected 2026-01-28 17:49:34.799888767 +0000 +++ log/7/check-generated 2026-01-28 17:49:34.799888767 +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/7/ 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/7/valgrind543 ./libtest/libtests lib543 - > log/7/stdout543 2> log/7/stderr543 === End of file commands.log === Start of file server.cmd Testnum 543 === End of file server.cmd === Start of file stderr543 URL: - === End of file stderr543 === Start of file valgrind543 ==106910== ==106910== Process terminating with default action of signal 4 (SIGILL) ==106910== Illegal opcode at address 0x51D97AF ==106910== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106910== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106910== by 0x51D97AF: Curl_open (url.c:502) ==106910== by 0x515120F: curl_easy_init (easy.c:365) ==106910== by 0x40176E9: UnknownInlinedFun (lib543.c:41) ==106910== by 0x40176E9: test_lib543.lto_priv.0 (lib543.c:28) ==106910== by 0x40034B5: main (first.c:279) ==106910== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==106910== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106910== by 0x51D96BD: Curl_open (url.c:479) ==106910== by 0x515120F: curl_easy_init (easy.c:365) ==106910== by 0x40176E9: UnknownInlinedFun (lib543.c:41) ==106910== by 0x40176E9: test_lib543.lto_priv.0 (lib543.c:28) ==106910== by 0x40034B5: main (first.c:279) ==106910== === End of file valgrind543 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/15/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:41057/544 > log/15/stdout544 2> log/15/stderr544 544: 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 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/15/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:41057/544 > log/15/stdout544 2> log/15/stderr544 === End of file commands.log === Start of file http_server.log 17:49:33.543082 ====> Client connect 17:49:33.543116 accept_connection 3 returned 4 17:49:33.543132 accept_connection 3 returned 0 17:49:33.543147 Read 93 bytes 17:49:33.543157 Process 93 bytes request 17:49:33.543171 Got request: GET /verifiedserver HTTP/1.1 17:49:33.543180 Are-we-friendly question received 17:49:33.543206 Wrote request (93 bytes) input to log/15/server.input 17:49:33.543225 Identifying ourselves as friends 17:49:33.543281 Response sent (56 bytes) and written to log/15/server.response 17:49:33.543291 special request received, no persistency 17:49:33.543300 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 39482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file stderr544 URL: http://127.0.0.1:41057/544 === End of file stderr544 === Start of file valgrind544 ==106984== ==106984== Process terminating with default action of signal 4 (SIGILL) ==106984== Illegal opcode at address 0x51D97AF ==106984== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106984== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106984== by 0x51D97AF: Curl_open (url.c:502) ==106984== by 0x515120F: curl_easy_init (easy.c:365) ==106984== by 0x4018397: test_lib544.lto_priv.0 (lib544.c:47) ==106984== by 0x40034B5: main (first.c:279) ==106984== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==106984== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106984== by 0x51D96BD: Curl_open (url.c:479) ==106984== by 0x515120F: curl_easy_init (easy.c:365) ==106984== by 0x4018397: test_lib544.lto_priv.0 (lib544.c:47) ==106984== by 0x40034B5: main (first.c:279) ==106984== === End of file valgrind544 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/9/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:36391/542 > log/9/stdout542 2> log/9/stderr542 542: 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 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/9/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:36391/542 > log/9/stdout542 2> log/9/stderr542 === End of file commands.log === Start of file ftp_server.log 17:49:33.654027 ====> Client connect 17:49:33.654191 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:33.654478 < "USER anonymous" 17:49:33.654517 > "331 We are happy you popped in![CR][LF]" 17:49:33.654681 < "PASS ftp@example.com" 17:49:33.654709 > "230 Welcome you silly person[CR][LF]" 17:49:33.654845 < "PWD" 17:49:33.654876 > "257 "/" is current directory[CR][LF]" 17:49:33.655020 < "EPSV" 17:49:33.655045 ====> Passive DATA channel requested by client 17:49:33.655058 DATA sockfilt for passive data channel starting... 17:49:33.656927 DATA sockfilt for passive data channel started (pid 106919) 17:49:33.657026 DATA sockfilt for passive data channel listens on port 35133 17:49:33.657066 > "229 Entering Passive Mode (|||35133|)[CR][LF]" 17:49:33.657084 Client has been notified that DATA conn will be accepted on port 35133 17:49:33.657264 Client connects to port 35133 17:49:33.657291 ====> Client established passive DATA connection on port 35133 17:49:33.657393 < "TYPE I" 17:49:33.657420 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:33.657557 < "SIZE verifiedserver" 17:49:33.657589 > "213 17[CR][LF]" 17:49:33.657819 < "RETR verifiedserver" 17:49:33.657885 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:33.657980 =====> Closing passive DATA connection... 17:49:33.658002 Server disconnects passive DATA connection 17:49:33.658103 Server disconnected passive DATA connection 17:49:33.658133 DATA sockfilt for passive data channel quits (pid 106919) 17:49:33.658360 DATA sockfilt for passive data channel quit (pid 106919) 17:49:33.658382 =====CMD (33792): ../libtool --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/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:43845/545 > log/13/stdout545 2> log/13/stderr545 CMD (33792): ../libtool --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/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:42799/541 log/8/upload541 > log/8/stdout541 2> log/8/stderr541 > Closed passive DATA connection 17:49:33.658411 > "226 File transfer complete[CR][LF]" 17:49:33.702771 < "QUIT" 17:49:33.704450 > "221 bye bye baby[CR][LF]" 17:49:33.705606 MAIN sockfilt said DISC 17:49:33.705645 ====> Client disconnected 17:49:33.705715 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:33.500086 ====> Client connect 17:49:33.500393 Received DATA (on stdin) 17:49:33.500408 > 146 bytes data, server => client 17:49:33.500419 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:33.500429 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:33.500438 '220 \___|\___/|_| \_\_____|\r\n' 17:49:33.500516 < 16 bytes data, client => server 17:49:33.500527 'USER anonymous\r\n' 17:49:33.500706 Received DATA (on stdin) 17:49:33.500718 > 33 bytes data, server => client 17:49:33.500727 '331 We are happy you popped in!\r\n' 17:49:33.500778 < 22 bytes data, client => server 17:49:33.500788 'PASS ftp@example.com\r\n' 17:49:33.500893 Received DATA (on stdin) 17:49:33.500903 > 30 bytes data, server => client 17:49:33.500912 '230 Welcome you silly person\r\n' 17:49:33.500955 < 5 bytes data, client => server 17:49:33.500964 'PWD\r\n' 17:49:33.501060 Received DATA (on stdin) 17:49:33.501070 > 30 bytes data, server => client 17:49:33.501080 '257 "/" is current directory\r\n' 17:49:33.501131 < 6 bytes data, client => server 17:49:33.501140 'EPSV\r\n' 17:49:33.503274 Received DATA (on stdin) 17:49:33.503285 > 39 bytes data, server => client 17:49:33.503296 '229 Entering Passive Mode (|||35133|)\r\n' 17:49:33.503494 < 8 bytes data, client => server 17:49:33.503504 'TYPE I\r\n' 17:49:33.503604 Received DATA (on stdin) 17:49:33.503614 > 33 bytes data, server => client 17:49:33.503624 '200 I modify TYPE as you wanted\r\n' 17:49:33.503668 < 21 bytes data, client => server 17:49:33.503678 'SIZE verifiedserver\r\n' 17:49:33.503773 Received DATA (on stdin) 17:49:33.503783 > 8 bytes data, server => client 17:49:33.503792 '213 17\r\n' 17:49:33.503833 < 21 bytes data, client => server 17:49:33.503858 'RETR verifiedserver\r\n' 17:49:33.504049 Received DATA (on stdin) 17:49:33.504059 > 29 bytes data, server => client 17:49:33.504070 '150 Binary junk (17 bytes).\r\n' 17:49:33.504601 Received DATA (on stdin) 17:49:33.504612 > 28 bytes data, server => client 17:49:33.504622 '226 File transfer complete\r\n' 17:49:33.548787 < 6 bytes data, client => server 17:49:33.548812 'QUIT\r\n' 17:49:33.550674 Received DATA (on stdin) 17:49:33.550692 > 18 bytes data, server => client 17:49:33.550704 '221 bye bye baby\r\n' 17:49:33.551506 ====> Client disconnect 17:49:33.551903 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:33.502810 Running IPv4 version 17:49:33.502884 Listening on port 35133 17:49:33.502923 Wrote pid 106919 to log/9/server/ftp_sockdata.pid 17:49:33.503061 Received PING (on stdin) 17:49:33.503133 Received PORT (on stdin) 17:49:33.503402 ====> Client connect 17:49:33.504119 Received DATA (on stdin) 17:49:33.504132 > 17 bytes data, server => client 17:49:33.504141 'WE ROOLZ: 80975\r\n' 17:49:33.504207 Received DISC (on stdin) 17:49:33.504230 ====> Client forcibly disconnected 17:49:33.504326 Received QUIT (on stdin) 17:49:33.504336 quits 17:49:33.504403 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 542 === End of file server.cmd === Start of file stderr542 URL: ftp://127.0.0.1:36391/542 === End of file stderr542 === Start of file valgrind542 ==107004== ==107004== Process terminating with default action of signal 4 (SIGILL) ==107004== Illegal opcode at address 0x51D97AF ==107004== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107004== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107004== by 0x51D97AF: Curl_open (url.c:502) ==107004== by 0x515120F: curl_easy_init (easy.c:365) ==107004== by 0x40140EA: test_lib542.lto_priv.0 (lib542.c:41) ==107004== by 0x40034B5: main (first.c:279) ==107004== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107004== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107004== by 0x51D96BD: Curl_open (url.c:479) ==107004== by 0x515120F: curl_easy_init (easy.c:365) ==107004== by 0x40140EA: test_lib542.lto_priv.0 (lib542.c:41) ==107004== by 0x40034B5: main (first.c:279) ==107004== === End of file valgrind542 test 0545...[HTTP POST binary with embedded zero and no trailing 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/13/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:43845/545 > log/13/stdout545 2> log/13/stderr545 545: 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 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/13/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:43845/545 > log/13/stdout545 2> log/13/stderr545 === End of file commands.log === Start of file http_server.log 17:49:34.604793 ====> Client connect 17:49:34.604831 accept_connection 3 returned 4 17:49:34.604847 accept_connection 3 returned 0 17:49:34.604861 Read 93 bytes 17:49:34.604871 Process 93 bytes request 17:49:34.604884 Got request: GET /verifiedserver HTTP/1.1 17:49:34.604893 Are-we-friendly question received 17:49:34.604923 Wrote request (93 bytes) input to log/13/server.input 17:49:34.604939 Identifying ourselves as friends 17:49:34.604996 Response sent (56 bytes) and written to log/13/server.response 17:49:34.605006 special request received, no persistency 17:49:34.605015 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 53068 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file stderr545 URL: http://127.0.0.1:43845/545 === End of file stderr545 === Start of file valgrind545 ==107155== ==107155== Process terminating with default action of signal 4 (SIGILL) ==107155== Illegal opcode at address 0x51D97AF ==107155== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107155== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107155== by 0x51D97AF: Curl_open (url.c:502) ==107155== by 0x515120F: curl_easy_init (easy.c:365) ==107155== by 0x4018397: test_lib544.lto_priv.0 (lib544.c:47) ==107155== by 0x40034B5: main (first.c:279) ==107155== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107155== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107155== by 0x51D96BD: Curl_open (url.c:479) ==107155== by 0x515120F: curl_easy_init (easy.c:365) ==107155== by 0x4018397: test_lib544.lto_priv.0 (lib544.c:47) ==107155== by 0x40034B5: main (first.c:279) ==107155== === End of file valgrind545 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/8/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:42799/541 log/8/upload541 > log/8/stdout541 2> log/8/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/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:39589/537 > log/1/stdout537 2> log/1/stderr537 err541 541: 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 541 === Start of file commands.log ../libtool --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/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:42799/541 log/8/upload541 > log/8/stdout541 2> log/8/stderr541 === End of file commands.log === Start of file ftp_server.log 17:49:33.644177 ====> Client connect 17:49:33.644361 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:33.644640 < "USER anonymous" 17:49:33.644679 > "331 We are happy you popped in![CR][LF]" 17:49:33.644853 < "PASS ftp@example.com" 17:49:33.644884 > "230 Welcome you silly person[CR][LF]" 17:49:33.645047 < "PWD" 17:49:33.645079 > "257 "/" is current directory[CR][LF]" 17:49:33.645248 < "EPSV" 17:49:33.645274 ====> Passive DATA channel requested by client 17:49:33.645289 DATA sockfilt for passive data channel starting... 17:49:33.646863 DATA sockfilt for passive data channel started (pid 106904) 17:49:33.646968 DATA sockfilt for passive data channel listens on port 37033 17:49:33.647009 > "229 Entering Passive Mode (|||37033|)[CR][LF]" 17:49:33.647028 Client has been notified that DATA conn will be accepted on port 37033 17:49:33.647241 Client connects to port 37033 17:49:33.647271 ====> Client established passive DATA connection on port 37033 17:49:33.647344 < "TYPE I" 17:49:33.647374 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:33.647519 < "SIZE verifiedserver" 17:49:33.647550 > "213 17[CR][LF]" 17:49:33.647688 < "RETR verifiedserver" 17:49:33.647719 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:33.647801 =====> Closing passive DATA connection... 17:49:33.647817 Server disconnects passive DATA connection 17:49:33.648031 Server disconnected passive DATA connection 17:49:33.648056 DATA sockfilt for passive data channel quits (pid 106904) 17:49:33.648421 DATA sockfilt for passive data channel quit (pid 106904) 17:49:33.648446 =====> Closed passive DATA connection 17:49:33.648473 > "226 File transfer complete[CR][LF]" 17:49:33.693981 < "QUIT" 17:49:33.694037 > "221 bye bye baby[CR][LF]" 17:49:33.695289 MAIN sockfilt said DISC 17:49:33.695327 ====> Client disconnected 17:49:33.695407 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:34.490256 ====> Client connect 17:49:34.490563 Received DATA (on stdin) 17:49:34.490578 > 146 bytes data, server => client 17:49:34.490590 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:34.490601 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:34.490610 '220 \___|\___/|_| \_\_____|\r\n' 17:49:34.490688 < 16 bytes data, client => server 17:49:34.490701 'USER anonymous\r\n' 17:49:34.490871 Received DATA (on stdin) 17:49:34.490883 > 33 bytes data, server => client 17:49:34.490894 '331 We are happy you popped in!\r\n' 17:49:34.490947 < 22 bytes data, client => server 17:49:34.490960 'PASS ftp@example.com\r\n' 17:49:34.491072 Received DATA (on stdin) 17:49:34.491083 > 30 bytes data, server => client 17:49:34.491094 '230 Welcome you silly person\r\n' 17:49:34.491145 < 5 bytes data, client => server 17:49:34.491157 'PWD\r\n' 17:49:34.491266 Received DATA (on stdin) 17:49:34.491277 > 30 bytes data, server => client 17:49:34.491288 '257 "/" is current directory\r\n' 17:49:34.491347 < 6 bytes data, client => server 17:49:34.491360 'EPSV\r\n' 17:49:34.493217 Received DATA (on stdin) 17:49:34.493229 > 39 bytes data, server => client 17:49:34.493240 '229 Entering Passive Mode (|||37033|)\r\n' 17:49:34.493351 < 8 bytes data, client => server 17:49:34.493364 'TYPE I\r\n' 17:49:34.493559 Received DATA (on stdin) 17:49:34.493570 > 33 bytes data, server => client 17:49:34.493580 '200 I modify TYPE as you wanted\r\n' 17:49:34.493627 < 21 bytes data, client => server 17:49:34.493637 'SIZE verifiedserver\r\n' 17:49:34.493734 Received DATA (on stdin) 17:49:34.493744 > 8 bytes data, server => client 17:49:34.493754 '213 17\r\n' 17:49:34.493797 < 21 bytes data, client => server 17:49:34.493807 'RETR verifiedserver\r\n' 17:49:34.494003 Received DATA (on stdin) 17:49:34.494014 > 29 bytes data, server => client 17:49:34.494024 '150 Binary junk (17 bytes).\r\n' 17:49:34.494654 Received DATA (on stdin) 17:49:34.494673 > 28 bytes data, server => client 17:49:34.494685 '226 File transfer complete\r\n' 17:49:34.539969 < 6 bytes data, client => server 17:49:34.539997 'QUIT\r\n' 17:49:34.540232 Received DATA (on stdin) 17:49:34.540243 > 18 bytes data, server => client 17:49:34.540254 '221 bye bye baby\r\n' 17:49:34.540649 ====> Client disconnect 17:49:34.541592 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:33.492881 Running IPv4 version 17:49:33.492936 Listening on port 37033 17:49:33.492973 Wrote pid 106904 to log/8/server/ftp_sockdata.pid 17:49:33.492993 Received PING (on stdin) 17:49:33.493073 Received PORT (on stdin) 17:49:33.493382 ====> Client connect 17:49:33.494046 Received DATA (on stdin) 17:49:33.494058 > 17 bytes data, server => client 17:49:33.494068 'WE ROOLZ: 81155\r\n' 17:49:33.494090 Received DISC (on stdin) 17:49:33.494101 ====> Client forcibly disconnected 17:49:33.494249 Received QUIT (on stdin) 17:49:33.494259 quits 17:49:33.494467 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 541 === End of file server.cmd === Start of file stderr541 URL: ftp://127.0.0.1:42799/541 === End of file stderr541 === Start of file upload541 Contents of a file to verify ftp upload works? === End of file upload541 === Start of file valgrind541 ==106980== ==106980== Process terminating with default action of signal 4 (SIGILL) ==106980== Illegal opcode at address 0x51D97AF ==106980== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==106980== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==106980== by 0x51D97AF: Curl_open (url.c:502) ==106980== by 0x515120F: curl_easy_init (easy.c:365) ==106980== by 0x4016E16: test_lib541.lto_priv.0 (lib541.c:76) ==106980== by 0x40034B5: main (first.c:279) ==106980== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==106980== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106980== by 0x51D96BD: Curl_open (url.c:479) ==106980== by 0x515120F: curl_easy_init (easy.c:365) ==106980== by 0x4016E16: test_lib541.lto_priv.0 (lib541.c:76) ==106980== by 0x40034B5: main (first.c:279) ==106980== === End of file valgrind541 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/1/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:39589/537 > log/1/stdout537 2> log/1/stderr537 537: 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 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/1/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:39589/537 > log/1/stdout537 2> log/1/stderr537 === End of file commands.log === Start of file http_server.log 17:49:33.088260 ====> Client connect 17:49:33.088293 accept_connection 3 returned 4 17:49:33.088309 accept_connection 3 returned 0 17:49:33.088324 Read 93 bytes 17:49:33.088334 Process 93 bytes request 17:49:33.088346 Got request: GET /verifiedserver HTTP/1.1 17:49:33.088355 Are-we-frCMD (33792): ../libtool --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/valgrind557 ./libtest/libtests lib557 - > log/2/stdout557 2> log/2/stderr557 iendly question received 17:49:33.088380 Wrote request (93 bytes) input to log/1/server.input 17:49:33.088396 Identifying ourselves as friends 17:49:33.088453 Response sent (56 bytes) and written to log/1/server.response 17:49:33.088463 special request received, no persistency 17:49:33.088471 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file stderr537 URL: http://127.0.0.1:39589/537 initial soft limit: 1024 initial hard limit: 1024 allocating memchunk 1048576 byte array initializing memchunk array allocating array for 1013 file descriptors initializing testfd array trying to open 1013 file descriptors 1013 file descriptors open === End of file stderr537 === Start of file valgrind537 ==107163== ==107163== Process terminating with default action of signal 4 (SIGILL) ==107163== Illegal opcode at address 0x51D97AF ==107163== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107163== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107163== by 0x51D97AF: Curl_open (url.c:502) ==107163== by 0x515120F: curl_easy_init (easy.c:365) ==107163== by 0x4013912: UnknownInlinedFun (lib537.c:468) ==107163== by 0x4013912: test_lib537.lto_priv.0 (lib537.c:440) ==107163== by 0x40034B5: main (first.c:279) ==107163== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==107163== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107163== by 0x51D96BD: Curl_open (url.c:479) ==107163== by 0x515120F: curl_easy_init (easy.c:365) ==107163== by 0x4013912: UnknownInlinedFun (lib537.c:468) ==107163== by 0x4013912: test_lib537.lto_priv.0 (lib537.c:440) ==107163== by 0x40034B5: main (first.c:279) ==107163== === End of file valgrind537 CMD (33792): ../libtool --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/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:37569 testuser:testpass > log/14/stdout547 2> log/14/stderr547 CMD (33792): ../libtool --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/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:46725 > log/20/stdout549 2> log/20/stderr549 CMD (33792): ../libtool --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/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:40307/path/546 ftp://127.0.0.1:40307/path/546 > log/4/stdout546 2> log/4/stderr546 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/2/valgrind557 ./libtest/libtests lib557 - > log/2/stdout557 2> log/2/stderr557 557: stdout FAILED: --- log/2/check-expected 2026-01-28 17:49:34.963222099 +0000 +++ log/2/check-generated 2026-01-28 17:49:34.963222099 +0000 @@ -1,10 +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] == Contents of files in the log/2/ 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] === 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/valgrind557 ./libtest/libtests lib557 - > log/2/stdout557 2> log/2/stderr557 === End of file commands.log === Start of file server.cmd Testnum 557 === End of file server.cmd === Start of file stderr557 URL: - === End of file stderr557 === Start of file valgrind557 ==107813== ==107813== Process terminating with default action of signal 4 (SIGILL) ==107813== Illegal opcode at address 0x401924A ==107813== at 0x401924A: UnknownInlinedFun (lib557.c:1086) ==107813== by 0x401924A: test_weird_arguments (lib557.c:1211) ==107813== by 0x401AF21: test_lib557.lto_priv.0 (lib557.c:1526) ==107813== by 0x40034B5: main (first.c:279) === End of file valgrind557 test 0547...[HTTP proxy auth NTLM 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/14/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:37569 testuser:testpass > log/14/stdout547 2> log/14/stderr547 547: 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 547 === Start of file commands.log ../libtool --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/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:37569 testuser:testpass > log/14/stdout547 2> log/14/stderr547 === End of file commands.log === Start of file http_server.log 17:49:34.663167 ====> Client connect 17:49:34.663202 accept_connection 3 returned 4 17:49:34.663220 accept_connection 3 returned 0 17:49:34.663236 Read 93 bytes 17:49:34.663247 Process 93 bytes request 17:49:34.663262 Got request: GET /verifiedserver HTTP/1.1 17:49:34.663272 Are-we-friendly question received 17:49:34.663302 Wrote request (93 bytes) input to log/14/server.input 17:49:34.663323 Identifying ourselves as friends 17:49:34.663387 Response sent (56 bytes) and written to log/14/server.response 17:49:34.663399 special request received, no persistency 17:49:34.663408 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === End of file http_verify.out === Start of file server.cmd Testnum 547 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74822 === End of file server.response === Start of file stderr547 URL: http://test.remote.example.com/path/547 === End of file stderr547 === Start of file valgrind547 ==107269== ==107269== Process terminating with default action of signal 4 (SIGILL) ==107269== Illegal opcode at address 0x51D97AF ==107269== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107269== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107269== by 0x51D97AF: Curl_open (url.c:502) ==107269== by 0x515120F: curl_easy_init (easy.c:365) ==107269== by 0x401421E: test_lib547.lto_priv.0 (lib547.c:76) ==107269== by 0x40034B5: main (first.c:279) ==107269== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107269== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107269== by 0x51D96BD: Curl_open (url.c:479) ==107269== by 0x515120F: curl_easy_init (easy.c:365) ==107269== by 0x401421E: test_lib547.lto_priv.0 (lib547.c:76) ==107269== by 0x40034B5: main (first.c:279) ==107269== === End of file valgrind547 CMD (33792): ../libtool --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/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:36987 testuser:testpass > log/19/stdout548 2> log/19/stderr548 CMD (33792): ../libtool --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/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:46875 ascii > log/5/stdout550 2> log/5/stderr550 test 0546...[FTP RETR a non-existing file then a found one 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/4/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:40307/path/546 ftp://127.0.0.1:40307/path/546 > log/4/stdout546 2> log/4/stderr546 546: stdout FAILED: --- log/4/check-expected 2026-01-28 17:49:34.976555433 +0000 +++ log/4/check-generated 2026-01-28 17:49:34.976555433 +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/4/ 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/4/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:40307/path/546 ftp://127.0.0.1:40307/path/546 > log/4/stdout546 2> log/4/stderr546 === End of file commands.log === Start of file ftp_server.log 17:49:33.779242 ====> Client connect 17:49:33.779397 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:33.779727 < "USER anonymous" 17:49:33.779776 > "331 We are happy you popped in![CR][LF]" 17:49:33.779943 < "PASS ftp@example.com" 17:49:33.779969 > "230 Welcome you silly person[CR][LF]" 17:49:33.780132 < "PWD" 17:49:33.780164 > "257 "/" is current directory[CR][LF]" 17:49:33.780326 < "EPSV" 17:49:33.780351 ====> Passive DATA channel requested by client 17:49:33.780369 DATA sockfilt for passive data channel starting... 17:49:33.782316 DATA sockfilt for passive data channel started (pid 107168) 17:49:33.782451 DATA sockfilt for passive data channel listens on port 44641 17:49:33.782497 > "229 Entering Passive Mode (|||44641|)[CR][LF]" 17:49:33.782516 Client has been notified that DATA conn will be accepted on port 44641 17:49:33.782759 Client connects to port 44641 17:49:33.782786 ====> Client established passive DATA connection on port 44641 17:49:33.782877 < "TYPE I" 17:49:33.782905 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:33.783054 < "SIZE verifiedserver" 17:49:33.783092 > "213 17[CR][LF]" 17:49:33.783233 < "RETR verifiedserver" 17:49:33.783266 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:33.783556 =====> Closing passive DATA connection... 17:49:33.783586 Server disconnects passive DATA connection 17:49:33.783651 Fancy that; client wants to DISC, too 17:49:33.783680 Server disconnected passive DATA connection 17:49:33.783698 DATA sockfilt for passive data channel quits (pid 107168) 17:49:33.783936 DATA sockfilt for passive data channel quit (pid 107168) 17:49:33.783961 =====> Closed passive DATA connection 17:49:33.783988 > "226 File transfer complete[CR][LF]" 17:49:33.826982 < "QUIT" 17:49:33.827039 > "221 bye bye baby[CR][LF]" 17:49:33.828435 MAIN sockfilt said DISC 17:49:33.828470 ====> Client disconnected 17:49:33.828565 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:33.625316 ====> Client connect 17:49:33.625571 Received DATA (on stdin) 17:49:33.625604 > 146 bytes data, server => client 17:49:33.625616 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:33.625627 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:33.625636 '220 \___|\___/|_| \_\_____|\r\n' 17:49:33.625747 < 16 bytes data, client => server 17:49:33.625759 'USER anonymous\r\n' 17:49:33.625968 Received DATA (on stdin) 17:49:33.625980 > 33 bytes data, server => client 17:49:33.625990 '331 We are happy you popped in!\r\n' 17:49:33.626042 < 22 bytes data, client => server 17:49:33.626053 'PASS ftp@example.com\r\n' 17:49:33.626155 Received DATA (on stdin) 17:49:33.626178 > 30 bytes data, server => client 17:49:33.626188 '230 Welcome you silly person\r\n' 17:49:33.626236 < 5 bytes data, client => server 17:49:33.626247 'PWD\r\n' 17:49:33.626349 Received DATA (on stdin) 17:49:33.626360 > 30 bytes data, server => client 17:49:33.626370 '257 "/" is current directory\r\n' 17:49:33.626432 < 6 bytes data, client => server 17:49:33.626442 'EPSV\r\n' 17:49:33.628710 Received DATA (on stdin) 17:49:33.628727 > 39 bytes data, server => client 17:49:33.628738 '229 Entering Passive Mode (|||44641|)\r\n' 17:49:33.628894 < 8 bytes data, client => server 17:49:33.628905 'TYPE I\r\n' 17:49:33.629092 Received DATA (on stdin) 17:49:33.629103 > 33 bytes data, server => client 17:49:33.629113 '200 I modify TYPE as you wanted\r\n' 17:49:33.629160 < 21 bytes data, client => server 17:49:33.629171 'SIZE verifiedserver\r\n' 17:49:33.629278 Received DATA (on stdin) 17:49:33.629288 > 8 bytes data, server => client 17:49:33.629297 '213 17\r\n' 17:49:33.629342 < 21 bytes data, client => server 17:49:33.629352 'RETR verifiedserver\r\n' 17:49:33.629599 Received DATA (on stdin) 17:49:33.629612 > 29 bytes data, server => client 17:49:33.629622 '150 Binary junk (17 bytes).\r\n' 17:49:33.630175 Received DATA (on stdin) 17:49:33.630187 > 28 bytes data, server => client 17:49:33.630197 '226 File transfer complete\r\n' 17:49:33.672992 < 6 bytes data, client => server 17:49:33.673022 'QUIT\r\n' 17:49:33.673234 Received DATA (on stdin) 17:49:33.673247 > 18 bytes data, server => client 17:49:33.673258 '221 bye bye baby\r\n' 17:49:33.674569 ====> Client disconnect 17:49:33.674759 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:33.628317 Running IPv4 version 17:49:33.628378 Listening on port 44641 17:49:33.628417 Wrote pid 107168 to log/4/server/ftp_sockdata.pid 17:49:33.628437 Received PING (on stdin) 17:49:33.628541 Received PORT (on stdin) 17:49:33.628868 ====> Client connect 17:49:33.629648 Received DATA (on stdin) 17:49:33.629660 > 17 bytes data, server => client 17:49:33.629670 'WE ROOLZ: 80996\r\n' 17:49:33.629762 ====> Client disconnect 17:49:33.629792 Received DISC (on stdin) 17:49:33.629800 Crikey! Client also wants to disconnect 17:49:33.629889 Received ACKD (on stdin) 17:49:33.629917 Received QUIT (on stdin) 17:49:33.629925 quits 17:49:33.629985 ============> 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 stderr546 URL: ftp://127.0.0.1:40307/path/546 === End of file stderr546 === Start of file valgrind546 ==107274== ==107274== Process terminating with default action of signal 4 (SIGILL) ==107274== Illegal opcode at address 0x51D97AF ==107274== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107274== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107274== by 0x51D97AF: Curl_open (url.c:502) ==107274== by 0x515120F: curl_easy_init (easy.c:365) ==107274== by 0x4061FD5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==107274== by 0x40034B5: main (first.c:279) ==107274== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107274== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107274== by 0x51D96BD: Curl_open (url.c:479) ==107274== by 0x515120F: curl_easy_init (easy.c:365) ==107274== by 0x4061FD5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==107274== by 0x40034B5: main (first.c:279) ==107274== === End of file valgrind546 test 0550...[FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE 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/5/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:46875 ascii > log/5/stdout550 2> log/5/stderr550 550: stdout FAILED: --- log/5/check-expected 2026-01-28 17:49:34.983222099 +0000 +++ log/5/check-generated 2026-01-28 17:49:34.983222099 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/5/ 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/5/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:46875 ascii > log/5/stdout550 2> log/5/stderr550 === End of file commands.log === Start of file http_server.log 17:49:33.731792 ====> Client connect 17:49:33.731825 accept_connection 3 returned 4 17:49:33.731842 accept_connection 3 returned 0 17:49:33.731857 Read 93 bytes 17:49:33.731866 Process 93 bytes request 17:49:33.731880 Got request: GET /verifiedserver HTTP/1.1 17:49:33.731889 Are-we-friendly question received 17:49:33.731914 Wrote request (93 bytes) input to log/5/server.input 17:49:33.731931 Identifying ourselves as friends 17:49:33.731988 Response sent (56 bytes) and written to log/5/server.response 17:49:33.731998 special request received, no persistency 17:49:33.732007 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 40566 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file stderr550 URL: ftp://www.example.com/moo/550 === End of file stderr550 === Start of file valgrind550 ==107446== ==107446== Process terminating with default action of signal 4 (SIGILL) ==107446== Illegal opcode at address 0x51D97AF ==107446== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107446== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107446== by 0x51D97AF: Curl_open (url.c:502) ==107446== by 0x515120F: curl_easy_init (easy.c:365) ==107446== by 0x401448A: test_lib549.lto_priv.0 (lib549.c:41) ==107446== by 0x40034B5: main (first.c:279) ==107446== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107446== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107446== by 0x51D96BD: Curl_open (url.c:479) ==107446== by 0x515120F: curl_easy_init (easy.c:365) ==107446== by 0x401448A: test_lib549.lto_priv.0 (lib549.c:41) ==107446== by 0x40034B5: main (first.c:279) ==107446== === End of file valgrind550 test 0548...[HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS] ../libtool --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/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:36987 testuser:testpass > log/19/stdout548 2> log/19/stderr548 548: 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 548 === Start of file commands.log ../libtool --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/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:36987 testuser:testpass > log/19/stdout548 2> log/19/stderr548 === End of file commands.log === Start of file http_server.log 17:49:33.710476 ====> Client connect 17:49:33.710514 accept_connection 3 returned 4 17:49:33.710530 accept_connection 3 returned 0 17:49:33.710544 Read 93 bytes 17:49:33.710553 Process 93 bytes request 17:49:33.710571 Got request: GET /verifiedserver HTTP/1.1 17:49:33.710580 Are-we-friendly question received 17:49:33.710605 Wrote request (93 bytes) input to log/19/server.input 17:49:33.710621 Identifying ourselves as friends 17:49:33.710676 Response sent (56 bytes) and written to log/19/server.response 17:49:33.710685 special request received, no persistency 17:49:33.710694 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 58666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === End of file http_verify.out === Start of file server.cmd Testnum 548 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74816 === End of file server.response === Start of file stderr548 URL: http://test.remote.example.com/path/548 === End of file stderr548 === Start of file valgrind548 ==107415== ==107415== Process terminating with default action of signal 4 (SIGILL) ==107415== Illegal opcode at address 0x51D97AF ==107415== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107415== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107415== by 0x51D97AF: Curl_open (url.c:502) ==107415== by 0x515120F: curl_easy_init (easy.c:365) ==107415== by 0x401421E: test_lib547.lto_priv.0 (lib547.c:76) ==107415== by 0x40034B5: main (first.c:279) ==107415== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107415== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107415== by 0x51D96BD: Curl_open (url.c:479) ==107415== by 0x515120F: curl_easy_init (easy.c:365) ==107415== by 0x401421E: test_lib547.lto_priv.0 (lib547.c:76) ==107415== by 0x40034B5: main (first.c:279) ==107415== === End of file valgrind548 CMD (33792): ../libtool --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/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:32889 s1lly:pers0n > log/10/stdout551 2> log/10/stderr551 CMD (33792): ../libtool --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/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:42747/ > log/6/stdout552 2> log/6/stderr552 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/20/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:46725 > log/20/stdout549 2> log/20/stderr549 549: stdout FAILED: --- log/20/check-expected 2026-01-28 17:49:34.989888766 +0000 +++ log/20/check-generated 2026-01-28 17:49:34.989888766 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/20/ 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/20/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:46725 > log/20/stdout549 2> log/20/stderr549 === End of file commands.log === Start of file http_server.log 17:49:33.710479 ====> Client connect 17:49:33.710513 accept_connection 3 returned 4 17:49:33.710530 accept_connection 3 returned 0 17:49:33.710544 Read 93 bytes 17:49:33.710554 Process 93 bytes request 17:49:33.710571 Got request: GET /verifiedserver HTTP/1.1 17:49:33.710580 Are-we-friendly question received 17:49:33.710610 Wrote request (93 bytes) input to log/20/server.input 17:49:33.710627 Identifying ourselves as friends 17:49:33.710687 Response sent (56 bytes) and written to log/20/server.response 17:49:33.710697 special request received, no persistency 17:49:33.710705 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 36020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file stderr549 URL: ftp://www.example.com/moo/549 === End of file stderr549 === Start of file valgrind549 ==107385== ==107385== Process terminating with default action of signal 4 (SIGILL) ==107385== Illegal opcode at address 0x51D97AF ==107385== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107385== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107385== by 0x51D97AF: Curl_open (url.c:502) ==107385== by 0x515120F: curl_easy_init (easy.c:365) ==107385== by 0x401448A: test_lib549.lto_priv.0 (lib549.c:41) ==107385== by 0x40034B5: main (first.c:279) ==107385== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107385== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107385== by 0x51D96BD: Curl_open (url.c:479) ==107385== by 0x515120F: curl_easy_init (easy.c:365) ==107385== by 0x401448A: test_lib549.lto_priv.0 (lib549.c:41) ==107385== by 0x40034B5: main (first.c:279) ==107385== === End of file valgrind549 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/10/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:32889 s1lly:pers0n > log/10/stdout551 2> log/10/stderr551 551: 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 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/10/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:32889 s1lly:pers0n > log/10/stdout551 2> log/10/stderr551 === End of file commands.log === Start of file http_server.log 17:49:34.005243 ====> Client connect 17:49:34.005276 accept_connection 3 returned 4 17:49:34.005292 accept_connection 3 returned 0 17:49:34.005306 Read 93 bytes 17:49:34.005316 Process 93 bytes request 17:49:34.005329 Got request: GET /verifiedserver HTTP/1.1 17:49:34.005338 Are-we-friendly question received 17:49:34.005366 Wrote request (93 bytes) input to log/10/server.input 17:49:34.005383 Identifying ourselves as friends 17:49:34.005445 Response sent (56 bytes) and written to log/10/server.response 17:49:34.005455 special request received, no persistency 17:49:34.005464 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 49680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file stderr551 URL: http://test.remote.example.com/path/551 === End of file stderr551 === Start of file valgrind551 ==107645== ==107645== Process terminating with default action of signal 4 (SIGILL) ==107645== Illegal opcode at address 0x51D97AF ==107645== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107645== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107645== by 0x51D97AF: Curl_open (url.c:502) ==107645== by 0x515120F: curl_easy_init (easy.c:365) ==107645== by 0x401421E: test_lib547.lto_priv.0 (lib547.c:76) ==107645== by 0x40034B5: main (first.c:279) ==107645== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107645== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107645== by 0x51D96BD: Curl_open (url.c:479) ==107645== by 0x515120F: curl_easy_init (easy.c:365) ==107645== by 0x401421E: test_lib547.lto_priv.0 (lib547.c:76) ==107645== by 0x40034B5: main (first.c:279) ==107645== === End of file valgrind551 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/6/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:42747/ > log/6/stdout552 2> log/6/stderr552 552: 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 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/6/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:42747/ > log/6/stdout552 2> log/6/stderr552 === End of file commands.log === Start of file http_server.log 17:49:34.023646 ====> Client connect 17:49:34.023778 accept_connection 3 returned 4 17:49:34.023806 accept_connection 3 returned 0 17:49:34.023829 Read 93 bytes 17:49:34.023839 Process 93 bytes request 17:49:34.023852 Got request: GET /verifiedserver HTTP/1.1 17:49:34.0238CMD (33792): ../libtool --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/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:45927/path/553 > log/3/stdout553 2> log/3/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/16/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:40899/554 > log/16/stdout554 2> log/16/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/22/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:42933 testuser:testpass > log/22/stdout555 2> log/22/stderr555 84 Are-we-friendly question received 17:49:34.023916 Wrote request (93 bytes) input to log/6/server.input 17:49:34.023935 Identifying ourselves as friends 17:49:34.023999 Response sent (56 bytes) and written to log/6/server.response 17:49:34.024009 special request received, no persistency 17:49:34.024017 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 33050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file stderr552 URL: http://test.remote.example.com/path/552 === End of file stderr552 === Start of file valgrind552 ==107689== ==107689== Process terminating with default action of signal 4 (SIGILL) ==107689== Illegal opcode at address 0x51D97AF ==107689== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107689== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107689== by 0x51D97AF: Curl_open (url.c:502) ==107689== by 0x515120F: curl_easy_init (easy.c:365) ==107689== by 0x4014C98: UnknownInlinedFun (lib552.c:80) ==107689== by 0x4014C98: test_lib552.lto_priv.0 (lib552.c:69) ==107689== by 0x40034B5: main (first.c:279) ==107689== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107689== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107689== by 0x51D96BD: Curl_open (url.c:479) ==107689== by 0x515120F: curl_easy_init (easy.c:365) ==107689== by 0x4014C98: UnknownInlinedFun (lib552.c:80) ==107689== by 0x4014C98: test_lib552.lto_priv.0 (lib552.c:69) ==107689== by 0x40034B5: main (first.c:279) ==107689== === End of file valgrind552 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/3/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:45927/path/553 > log/3/stdout553 2> log/3/stderr553 553: 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 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/3/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:45927/path/553 > log/3/stdout553 2> log/3/stderr553 === End of file commands.log === Start of file http_server.log 17:49:34.024013 ====> Client connect 17:49:34.024047 accept_connection 3 returned 4 17:49:34.025106 accept_connection 3 returned 0 17:49:34.025126 Read 93 bytes 17:49:34.025136 Process 93 bytes request 17:49:34.025145 Got request: GET /verifiedserver HTTP/1.1 17:49:34.025155 Are-we-friendly question received 17:49:34.025191 Wrote request (93 bytes) input to log/3/server.input 17:49:34.025207 Identifying ourselves as friends 17:49:34.025261 Response sent (56 bytes) and written to log/3/server.response 17:49:34.025271 special request received, no persistency 17:49:34.025279 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 47484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.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:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file stderr553 URL: http://127.0.0.1:45927/path/553 === End of file stderr553 === Start of file valgrind553 ==107680== ==107680== Process terminating with default action of signal 4 (SIGILL) ==107680== Illegal opcode at address 0x51D97AF ==107680== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107680== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107680== by 0x51D97AF: Curl_open (url.c:502) ==107680== by 0x515120F: curl_easy_init (easy.c:365) ==107680== by 0x4018851: test_lib553.lto_priv.0 (lib553.c:70) ==107680== by 0x40034B5: main (first.c:279) ==107680== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107680== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107680== by 0x51D96BD: Curl_open (url.c:479) ==107680== by 0x515120F: curl_easy_init (easy.c:365) ==107680== by 0x4018851: test_lib553.lto_priv.0 (lib553.c:70) ==107680== by 0x40034B5: main (first.c:279) ==107680== === End of file valgrind553 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/16/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:40899/554 > log/16/stdout554 2> log/16/stderr554 554: 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 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/16/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:40899/554 > log/16/stdout554 2> log/16/stderr554 === End of file commands.log === Start of file http_server.log 17:49:34.025310 ====> Client connect 17:49:34.025342 accept_connection 3 returned 4 17:49:34.025387 accept_connection 3 returned 0 17:49:34.025400 Read 93 bytes 17:49:34.025409 Process 93 bytes request 17:49:34.025418 Got request: GET /verifiedserver HTTP/1.1 17:49:34.025427 Are-we-friendly question received 17:49:34.025457 Wrote request (93 bytes) input to log/16/server.input 17:49:34.025473 Identifying ourselves as friends 17:49:34.025528 Response sent (56 bytes) and written to log/16/server.response 17:49:34.025537 special request received, no persistency 17:49:34.025544 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 46218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file stderr554 URL: http://127.0.0.1:40899/554 === End of file stderr554 === Start of file valgrind554 ==107708== ==107708== Process terminating with default action of signal 4 (SIGILL) ==107708== Illegal opcode at address 0x51D97AF ==107708== at 0x51D97AF: UnknownInlinedFun (string_fortified.h: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/11/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:46439/559 > log/11/stdout559 2> log/11/stderr559 CMD (33792): ../libtool --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:41669 ascii > log/21/stdout561 2> log/21/stderr561 CMD (33792): ../libtool --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/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:36641 > log/12/stdout556 2> log/12/stderr556 9) ==107708== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107708== by 0x51D97AF: Curl_open (url.c:502) ==107708== by 0x515120F: curl_easy_init (easy.c:365) ==107708== by 0x4018C28: t554_test_once (lib554.c:145) ==107708== by 0x4018EAB: test_lib554.lto_priv.0 (lib554.c:202) ==107708== by 0x40034B5: main (first.c:279) ==107708== 5,512 bytes in 1 blocks are definitely lost in loss record 792 of 803 ==107708== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107708== by 0x51D96BD: Curl_open (url.c:479) ==107708== by 0x515120F: curl_easy_init (easy.c:365) ==107708== by 0x4018C28: t554_test_once (lib554.c:145) ==107708== by 0x4018EAB: test_lib554.lto_priv.0 (lib554.c:202) ==107708== by 0x40034B5: main (first.c:279) ==107708== === End of file valgrind554 test 0555...[HTTP proxy auth NTLM with POST data from read callback multi-if] ../libtool --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/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:42933 testuser:testpass > log/22/stdout555 2> log/22/stderr555 555: 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 555 === Start of file commands.log ../libtool --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/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:42933 testuser:testpass > log/22/stdout555 2> log/22/stderr555 === End of file commands.log === Start of file http_server.log 17:49:34.037992 ====> Client connect 17:49:34.038025 accept_connection 3 returned 4 17:49:34.038041 accept_connection 3 returned 0 17:49:34.038054 Read 93 bytes 17:49:34.038064 Process 93 bytes request 17:49:34.038076 Got request: GET /verifiedserver HTTP/1.1 17:49:34.038085 Are-we-friendly question received 17:49:34.038112 Wrote request (93 bytes) input to log/22/server.input 17:49:34.038128 Identifying ourselves as friends 17:49:34.038184 Response sent (56 bytes) and written to log/22/server.response 17:49:34.038198 special request received, no persistency 17:49:34.038207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 38418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === End of file http_verify.out === Start of file server.cmd Testnum 555 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74813 === End of file server.response === Start of file stderr555 URL: http://test.remote.example.com/path/555 === End of file stderr555 === Start of file valgrind555 ==107756== ==107756== Process terminating with default action of signal 4 (SIGILL) ==107756== Illegal opcode at address 0x51D97AF ==107756== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107756== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107756== by 0x51D97AF: Curl_open (url.c:502) ==107756== by 0x515120F: curl_easy_init (easy.c:365) ==107756== by 0x4015961: test_lib555.lto_priv.0 (lib555.c:81) ==107756== by 0x40034B5: main (first.c:279) ==107756== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107756== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107756== by 0x51D96BD: Curl_open (url.c:479) ==107756== by 0x515120F: curl_easy_init (easy.c:365) ==107756== by 0x4015961: test_lib555.lto_priv.0 (lib555.c:81) ==107756== by 0x40034B5: main (first.c:279) ==107756== === End of file valgrind555 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/11/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:46439/559 > log/11/stdout559 2> log/11/stderr559 559: data FAILED: --- log/11/check-expected 2026-01-28 17:49:35.326555433 +0000 +++ log/11/check-generated 2026-01-28 17:49:35.326555433 +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/11/ 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/11/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:46439/559 > log/11/stdout559 2> log/11/stderr559 === End of file commands.log === Start of file http_server.log 17:49:34.093618 ====> Client connect 17:49:34.093651 accept_connection 3 returned 4 17:49:34.093668 accept_connection 3 returned 0 17:49:34.093682 Read 93 bytes 17:49:34.093692 Process 93 bytes request 17:49:34.093705 Got request: GET /verifiedserver HTTP/1.1 17:49:34.093714 Are-we-friendly question received 17:49:34.093743 Wrote request (93 bytes) input to log/11/server.input 17:49:34.093759 Identifying ourselves as friends 17:49:34.093817 Response sent (56 bytes) and written to log/11/server.response 17:49:34.093828 special request received, no persistency 17:49:34.093837 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 60630 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file stderr559 URL: http://127.0.0.1:46439/559 === End of file stderr559 === Start of file valgrind559 ==108025== ==108025== Process terminating with default action of signal 4 (SIGILL) ==108025== Illegal opcode at address 0x51D97AF ==108025== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108025== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108025== by 0x51D97AF: Curl_open (url.c:502) ==108025== by 0x515120F: curl_easy_init (easy.c:365) ==108025== by 0x40145CA: test_lib559.lto_priv.0 (lib559.c:36) ==108025== by 0x40034B5: main (first.c:279) ==108025== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108025== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108025== by 0x51D96BD: Curl_open (url.c:479) ==108025== by 0x515120F: curl_easy_init (easy.c:365) ==108025== by 0x40145CA: test_lib559.lto_priv.0 (lib559.c:36) ==108025== by 0x40034B5: main (first.c:279) ==108025== === End of file valgrind559 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/12/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:36641 > log/12/stdout556 2> log/12/stderr556 556: 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 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/12/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:36641 > log/12/stdout556 2> log/12/stderr556 === End of file commands.log === Start of file http_server.log 17:49:34.042288 ====> Client connect 17:49:34.042322 accept_connection 3 returned 4 17:49:34.042339 accept_connection 3 returned 0 17:49:34.042353 Read 93 bytes 17:49:34.042362 Process 93 bytes request 17:49:34.042375 Got request: GET /verifiedserver HTTP/1.1 17:49:34.042384 Are-we-friendly question received 17:49:34.042411 Wrote request (93 bytes) input to log/12/server.input 17:49:34.042428 Identifying ourselves as friends 17:49:34.042490 Response sent (56 bytes) and written to log/12/server.response 17:49:34.042501 special request received, no persistency 17:49:34.042510 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 33008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file stderr556 URL: http://127.0.0.1:36641 === End of file stderr556 === Start of file valgrind556 ==107734== ==107734== Process terminating with default action of signal 4 (SIGILL) ==107734== Illegal opcode at address 0x51D97AF ==107734== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==107734== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==107734== by 0x51D97AF: Curl_open (url.c:502) ==107734== by 0x515120F: curl_easy_init (easy.c:365) ==107734== by 0x4018F40: test_lib556.lto_priv.0 (lib556.c:37) ==107734== by 0x40034B5: main (first.c:279) ==107734== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==107734== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==107734== by 0x51D96BD: Curl_open (url.c:479) ==107734== by 0x515120F: curl_easy_init (easy.c:365) ==107734== by 0x4018F40: test_lib556.lto_priv.0 (lib556.c:37) ==107734== by 0x40034B5: main (first.c:279) ==107734== === End of file valgrind556 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/18/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 36869 > log/18/stdout562 2> log/18/stderr562 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:41669 ascii > log/21/stdout561 2> log/21/stderr561 561: stdout FAILED: --- log/21/check-expected 2026-01-28 17:49:35.333222099 +0000 +++ log/21/check-generated 2026-01-28 17:49:35.333222099 +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:41669 ascii > log/21/stdout561 2> log/21/stderr561 === End of file commands.log === Start of file http_server.log 17:49:34.093618 ====> Client connect 17:49:34.093653 accept_connection 3 returned 4 17:49:34.093669 accept_connection 3 returned 0 17:49:34.093682 Read 93 bytes 17:49:34.093691 Process 93 bytes request 17:49:34.093705 Got request: GET /verifiedserver HTTP/1.1 17:49:34.093713 Are-we-friendly question received 17:49:34.093738 Wrote request (93 bytes) input to log/21/server.input 17:49:34.093754 Identifying ourselves as friends 17:49:34.093808 Response sent (56 bytes) and written to log/21/server.response 17:49:34.093817 special request received, no persistency 17:49:34.093825 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 54806 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stderr561 URL: ftp://www.example.com/moo/561;type=i === End of file stderr561 === Start of file valgrind561 ==108023== ==108023== Process terminating with default action of signal 4 (SIGILL) ==108023== Illegal opcode at address 0x51D97AF ==108023== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108023== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108023== by 0x51D97AF: Curl_open (url.c:502) ==108023== by 0x515120F: curl_easy_init (easy.c:365) ==108023== by 0x401448A: test_lib549.lto_priv.0 (lib549.c:41) ==108023== by 0x40034B5: main (first.c:279) ==108023== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108023== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108023== by 0x51D96BD: Curl_open (url.c:479) ==108023== by 0x515120F: curl_easy_init (easy.c:365) ==108023== by 0x401448A: test_lib549.lto_priv.0 (lib549.c:41) ==108023== by 0x40034B5: main (first.c:279) ==108023== === End of file valgrind561 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/18/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 36869 > log/18/stdout562 2> log/18/stderr562 562: 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 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/18/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 36869 > log/18/stdout562 2> log/18/stderr562 === End of file commands.log === Start of file ftp_server.log 17:49:34.372477 ====> Client connect 17:49:34.372671 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:34.372983 < "USER anonymous" 17:49:34.373023 > "331 We are happy you popped in![CR][LF]" 17:49:34.373185 < "PASS ftp@example.com" 17:49:34.373210 > "230 Welcome you silly person[CR][LF]" 17:49:34.373381 < "PWD" 17:49:34.373411 > "257 "/" is current directory[CR][LF]" 17:49:34.373570 < "EPSV" 17:49:34.373596 ====> Passive DATA channel requested by client 17:49:34.373611 DATA sockfilt for passive data channel starting... 17:49:34.375532 DATA sockfilt for passive data channel started (pid 108155) 17:49:34.375643 DATA sockfilt for passive data channel listens on port 37079 17:49:34.375688 > "229 Entering Passive Mode (|||37079|)[CR][LF]" 17:49:34.375709 Client has been notified that DATA conn will be accepted on port 37079 17:49:34.375908 Client connects to port 37079 17:49:34.375939 ====> Client established passive DATA connection on port 37079 17:49:34.376049 < "TYPE I" 17:49:34.376079 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:34.376239 < "SIZE verifiedserver" 17:49:34.376275 > "213 17[CR][LF]" 17:49:34.376426 < "RETR verifiedserver" 17:49:34.376457 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:34.376549 =====> Closing passive DATA connection... 17:49:34.376566 Server disconnects passive DATA connection 17:49:34.380019 Server disconnected passive DATA connection 17:49:34.380072 DATA sockfilt for passive data channel quits (pid 108155) 17:49:34.380329 DATA sockfilt for passive data channel quit (pid 108155) 17:49:34.380353 =====> Closed passive DATA connection 17:49:34.380387 > "226 File transfer complete[CR][LF]" 17:49:34.422866 < "QUIT" 17:49:34.422943 > "221 bye bye baby[CR][LF]" 17:49:34.423976 MAIN sockfilt said DISC 17:49:34.424015 ====> Client disconnected 17:49:34.424105 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:35.218550 ====> Client connect 17:49:35.218871 Received DATA (on stdin) 17:49:35.218885 > 146 bytes data, server => client 17:49:35.218897 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:35.218908 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:35.218917 '220 \___|\___/|_| \_\_____|\r\n' 17:49:35.219004 < 16 bytes data, client => server 17:49:35.219015 'USER anonymous\r\n' 17:49:35.219213 Received DATA (on stdin) 17:49:35.219225 > 33 bytes data, server => client 17:49:35.219236 '331 We are happy you popped in!\r\n' 17:49:35.219286 < 22 bytes data, client => server 17:49:35.219297 'PASS ftp@example.com\r\n' 17:49:35.219396 Received DATA (on stdin) 17:49:35.219407 > 30 bytes data, server => client 17:49:35.219417 '230 Welcome you silly person\r\n' 17:49:35.219465 < 5 bytes data, client => server 17:49:35.219474 'PWD\r\n' 17:49:35.219597 Received DATA (on stdin) 17:49:35.219608 > 30 bytes data, server => client 17:49:35.219619 '257 "/" is current directory\r\n' 17:49:35.219677 < 6 bytes data, client => server 17:49:35.219688 'EPSV\r\n' 17:49:35.221902 Received DATA (on stdin) 17:49:35.221915 > 39 bytes data, server => client 17:49:35.221926 '229 Entering Passive Mode (|||37079|)\r\n' 17:49:35.222140 < 8 bytes data, client => server 17:49:35.222151 'TYPE I\r\n' 17:49:35.222269 Received DATA (on stdin) 17:49:35.222280 > 33 bytes data, server => client 17:49:35.222291 '200 I modify TYPE as you wanted\r\n' 17:49:35.222342 < 21 bytes data, client => server 17:49:35.222354 'SIZE verifiedserver\r\n' 17:49:35.222462 Received DATA (on stdin) 17:49:35.222473 > 8 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/17/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 38963 > log/17/stdout563 2> log/17/stderr563 data, server => client 17:49:35.222483 '213 17\r\n' 17:49:35.222530 < 21 bytes data, client => server 17:49:35.222542 'RETR verifiedserver\r\n' 17:49:35.222754 Received DATA (on stdin) 17:49:35.222766 > 29 bytes data, server => client 17:49:35.222777 '150 Binary junk (17 bytes).\r\n' 17:49:35.226580 Received DATA (on stdin) 17:49:35.226593 > 28 bytes data, server => client 17:49:35.226604 '226 File transfer complete\r\n' 17:49:35.268830 < 6 bytes data, client => server 17:49:35.268863 'QUIT\r\n' 17:49:35.269135 Received DATA (on stdin) 17:49:35.269147 > 18 bytes data, server => client 17:49:35.269157 '221 bye bye baby\r\n' 17:49:35.270103 ====> Client disconnect 17:49:35.270292 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:34.221401 Running IPv4 version 17:49:34.221470 Listening on port 37079 17:49:34.221511 Wrote pid 108155 to log/18/server/ftp_sockdata.pid 17:49:34.221663 Received PING (on stdin) 17:49:34.221743 Received PORT (on stdin) 17:49:34.222044 ====> Client connect 17:49:34.222801 Received DATA (on stdin) 17:49:34.222813 > 17 bytes data, server => client 17:49:34.222824 'WE ROOLZ: 82094\r\n' 17:49:34.222863 Received DISC (on stdin) 17:49:34.222875 ====> Client forcibly disconnected 17:49:34.226274 Received QUIT (on stdin) 17:49:34.226287 quits 17:49:34.226362 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 562 === End of file server.cmd === Start of file stderr562 URL: ftp://127.0.0.1:23456/562;type=A === End of file stderr562 === Start of file valgrind562 ==108168== ==108168== Process terminating with default action of signal 4 (SIGILL) ==108168== Illegal opcode at address 0x51D97AF ==108168== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108168== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108168== by 0x51D97AF: Curl_open (url.c:502) ==108168== by 0x515120F: curl_easy_init (easy.c:365) ==108168== by 0x401DE50: test_lib562.lto_priv.0 (lib562.c:49) ==108168== by 0x40034B5: main (first.c:279) ==108168== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108168== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108168== by 0x51D96BD: Curl_open (url.c:479) ==108168== by 0x515120F: curl_easy_init (easy.c:365) ==108168== by 0x401DE50: test_lib562.lto_priv.0 (lib562.c:49) ==108168== by 0x40034B5: main (first.c:279) ==108168== === End of file valgrind562 setenv ftp_proxy = http://127.0.0.1:44593/ 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/17/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 38963 > log/17/stdout563 2> log/17/stderr563 563: 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 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/17/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 38963 > log/17/stdout563 2> log/17/stderr563 === End of file commands.log === Start of file ftp_server.log 17:49:34.550155 ====> Client connect 17:49:34.550351 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:34.550727 < "USER anonymous" 17:49:34.550762 > "331 We are happy you popped in![CR][LF]" 17:49:34.550924 < "PASS ftp@example.com" 17:49:34.550948 > "230 Welcome you silly person[CR][LF]" 17:49:34.551090 < "PWD" 17:49:34.551119 > "257 "/" is current directory[CR][LF]" 17:49:34.551268 < "EPSV" 17:49:34.551293 ====> Passive DATA channel requested by client 17:49:34.551307 DATA sockfilt for passive data channel starting... 17:49:34.553367 DATA sockfilt for passive data channel started (pid 108256) 17:49:34.553472 DATA sockfilt for passive data channel listens on port 40801 17:49:34.553514 > "229 Entering Passive Mode (|||40801|)[CR][LF]" 17:49:34.553530 Client has been notified that DATA conn will be accepted on port 40801 17:49:34.553749 Client connects to port 40801 17:49:34.553775 ====> Client established passive DATA connection on port 40801 17:49:34.553855 < "TYPE I" 17:49:34.553882 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:34.554027 < "SIZE verifiedserver" 17:49:34.554063 > "213 17[CR][LF]" 17:49:34.554199 < "RETR verifiedserver" 17:49:34.554230 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:34.554319 =====> Closing passive DATA connection... 17:49:34.554336 Server disconnects passive DATA connection 17:49:34.554552 Server disconnected passive DATA connection 17:49:34.554578 DATA sockfilt for passive data channel quits (pid 108256) 17:49:34.554818 DATA sockfilt for passive data channel quit (pid 108256) 17:49:34.554840 =====> Closed passive DATA connection 17:49:34.554867 > "226 File transfer complete[CR][LF]" 17:49:34.600345 < "QUIT" 17:49:34.600402 > "221 bye bye baby[CR][LF]" 17:49:34.604624 MAIN sockfilt said DISC 17:49:34.604676 ====> Client disconnected 17:49:34.604761 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:34.396200 ====> Client connect 17:49:34.396556 Received DATA (on stdin) 17:49:34.396660 > 146 bytes data, server => client 17:49:34.396680 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:34.396691 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:34.396701 '220 \___|\___/|_| \_\_____|\r\n' 17:49:34.396784 < 16 bytes data, client => server 17:49:34.396795 'USER anonymous\r\n' 17:49:34.396952 Received DATA (on stdin) 17:49:34.396963 > 33 bytes data, server => client 17:49:34.396973 '331 We are happy you popped in!\r\n' 17:49:34.397023 < 22 bytes data, client => server 17:49:34.397033 'PASS ftp@example.com\r\n' 17:49:34.397133 Received DATA (on stdin) 17:49:34.397144 > 30 bytes data, server => client 17:49:34.397154 '230 Welcome you silly person\r\n' 17:49:34.397198 < 5 bytes data, client => server 17:49:34.397208 'PWD\r\n' 17:49:34.397304 Received DATA (on stdin) 17:49:34.397314 > 30 bytes data, server => client 17:49:34.397324 '257 "/" is current directory\r\n' 17:49:34.397378 < 6 bytes data, client => server 17:49:34.397387 'EPSV\r\n' 17:49:34.399721 Received DATA (on stdin) 17:49:34.399733 > 39 bytes data, server => client 17:49:34.399745 '229 Entering Passive Mode (|||40801|)\r\n' 17:49:34.399858 < 8 bytes data, client => server 17:49:34.399871 'TYPE I\r\n' 17:49:34.400068 Received DATA (on stdin) 17:49:34.400078 > 33 bytes data, server => client 17:49:34.400089 '200 I modify TYPE as you wanted\r\n' 17:49:34.400135 < 21 bytes data, client => server 17:49:34.400146 'SIZE verifiedserver\r\n' 17:49:34.400247 Received DATA (on stdin) 17:49:34.400257 > 8 bytes data, server => client 17:49:34.400267 '213 17\r\n' 17:49:34.400310 < 21 bytes data, client => server 17:49:34.400320 'RETR verifiedserver\r\n' 17:49:34.400524 Received DATA (on stdin) 17:49:34.400536 > 29 bytes data, server => client 17:49:34.400546 '150 Binary junk (17 bytes).\r\n' 17:49:34.401054 Received DATA (on stdin) 17:49:34.401066 > 28 bytes data, server => client 17:49:34.401077 '226 File transfer complete\r\n' 17:49:34.446333 < 6 bytes data, client => server 17:49:34.446370 'QUIT\r\n' 17:49:34.449516 Received DATA (on stdin) 17:49:34.449543 > 18 bytes data, server => client 17:49:34.449554 '221 bye bye baby\r\n' 17:49:34.450744 ====> Client disconnect 17:49:34.450949 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:34.399224 Running IPv4 version 17:49:34.399286 Listening on port 40801 17:49:34.399325 Wrote pid 108256 to log/17/server/ftp_sockdata.pid 17:49CMD (33792): ../libtool --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/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:39173/565 > log/23/stdout565 2> log/23/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/7/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:35671/566 log/7/ip566 > log/7/stdout566 2> log/7/stderr566 :34.399482 Received PING (on stdin) 17:49:34.399576 Received PORT (on stdin) 17:49:34.399889 ====> Client connect 17:49:34.400569 Received DATA (on stdin) 17:49:34.400581 > 17 bytes data, server => client 17:49:34.400592 'WE ROOLZ: 95543\r\n' 17:49:34.400613 Received DISC (on stdin) 17:49:34.400624 ====> Client forcibly disconnected 17:49:34.400773 Received QUIT (on stdin) 17:49:34.400784 quits 17:49:34.400846 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 17:49:34.339586 ====> Client connect 17:49:34.339680 accept_connection 3 returned 4 17:49:34.339697 accept_connection 3 returned 0 17:49:34.339714 Read 93 bytes 17:49:34.339724 Process 93 bytes request 17:49:34.339738 Got request: GET /verifiedserver HTTP/1.1 17:49:34.339747 Are-we-friendly question received 17:49:34.339772 Wrote request (93 bytes) input to log/17/server.input 17:49:34.339787 Identifying ourselves as friends 17:49:34.339861 Response sent (56 bytes) and written to log/17/server.response 17:49:34.339870 special request received, no persistency 17:49:34.339879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 44138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file stderr563 URL: ftp://127.0.0.1:23456/563;type=A === End of file stderr563 === Start of file valgrind563 ==108267== ==108267== Process terminating with default action of signal 4 (SIGILL) ==108267== Illegal opcode at address 0x51D97AF ==108267== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108267== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108267== by 0x51D97AF: Curl_open (url.c:502) ==108267== by 0x515120F: curl_easy_init (easy.c:365) ==108267== by 0x401DE50: test_lib562.lto_priv.0 (lib562.c:49) ==108267== by 0x40034B5: main (first.c:279) ==108267== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108267== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108267== by 0x51D96BD: Curl_open (url.c:479) ==108267== by 0x515120F: curl_easy_init (easy.c:365) ==108267== by 0x401DE50: test_lib562.lto_priv.0 (lib562.c:49) ==108267== by 0x40034B5: main (first.c:279) ==108267== === End of file valgrind563 test 0565...[send 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/23/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:39173/565 > log/23/stdout565 2> log/23/stderr565 565: 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 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/23/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:39173/565 > log/23/stdout565 2> log/23/stderr565 === End of file commands.log === Start of file http_server.log 17:49:35.566528 ====> Client connect 17:49:35.566559 accept_connection 3 returned 4 17:49:35.566604 accept_connection 3 returned 0 17:49:35.566621 Read 93 bytes 17:49:35.566631 Process 93 bytes request 17:49:35.566646 Got request: GET /verifiedserver HTTP/1.1 17:49:35.566657 Are-we-friendly question received 17:49:35.566876 Wrote request (93 bytes) input to log/23/server.input 17:49:35.567137 Identifying ourselves as friends 17:49:35.567217 Response sent (56 bytes) and written to log/23/server.response 17:49:35.567227 special request received, no persistency 17:49:35.567236 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 58274 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file stderr565 URL: http://127.0.0.1:39173/565 === End of file stderr565 === Start of file valgrind565 ==108352== ==108352== Process terminating with default action of signal 4 (SIGILL) ==108352== Illegal opcode at address 0x51D97AF ==108352== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108352== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108352== by 0x51D97AF: Curl_open (url.c:502) ==108352== by 0x515120F: curl_easy_init (easy.c:365) ==108352== by 0x400A3C0: test_lib510.lto_priv.0 (lib510.c:74) ==108352== by 0x40034B5: main (first.c:279) ==108352== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108352== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108352== by 0x51D96BD: Curl_open (url.c:479) ==108352== by 0x515120F: curl_easy_init (easy.c:365) ==108352== by 0x400A3C0: test_lib510.lto_priv.0 (lib510.c:74) ==108352== by 0x40034B5: main (first.c:279) ==108352== === End of file valgrind565 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/7/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:35671/566 log/7/ip566 > log/7/stdout566 2> log/7/stderr566 566: 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 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/7/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:35671/566 log/7/ip566 > log/7/stdout566 2> log/7/stderr566 === End of file commands.log === Start of file http_server.log 17:49:34.688133 ====> Client connect 17:49:34.688175 accept_connection 3 returned 4 17:49:34.688192 accept_connection 3 returned 0 17:49:34.688207 Read 93 bytes 17:49:34.688216 Process 93 bytes request 17:49:34.688230 Got request: GET /verifiedserver HTTP/1.1 17:49:34.688238 Are-we-friendly question received 17:49:34.688262 Wrote request (93 bytes) input to log/7/server.input 17:49:34.688278 Identifying ourselves as friends 17:49:34.688334 Response sent (56 bytes) and written to log/7/server.response 17:49:34.688343 special request received, no persistency 17:49:34.688351 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 58056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < CMD (33792): ../libtool --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/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:37569/573 > log/14/stdout573 2> log/14/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/4/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:40307/fully_simulated/UNIX/*.txt > log/4/stdout574 2> log/4/stderr574 { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file stderr566 URL: http://127.0.0.1:35671/566 === End of file stderr566 === Start of file valgrind566 ==108436== ==108436== Process terminating with default action of signal 4 (SIGILL) ==108436== Illegal opcode at address 0x51D97AF ==108436== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108436== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108436== by 0x51D97AF: Curl_open (url.c:502) ==108436== by 0x515120F: curl_easy_init (easy.c:365) ==108436== by 0x401E0C2: test_lib566.lto_priv.0 (lib566.c:38) ==108436== by 0x40034B5: main (first.c:279) ==108436== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108436== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108436== by 0x51D96BD: Curl_open (url.c:479) ==108436== by 0x515120F: curl_easy_init (easy.c:365) ==108436== by 0x401E0C2: test_lib566.lto_priv.0 (lib566.c:38) ==108436== by 0x40034B5: main (first.c:279) ==108436== === End of file valgrind566 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/14/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:37569/573 > log/14/stdout573 2> log/14/stderr573 573: 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 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/14/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:37569/573 > log/14/stdout573 2> log/14/stderr573 === End of file commands.log === Start of file http_server.log 17:49:35.840828 ====> Client connect 17:49:35.840860 accept_connection 3 returned 4 17:49:35.840878 accept_connection 3 returned 0 17:49:35.840894 Read 93 bytes 17:49:35.840904 Process 93 bytes request 17:49:35.840921 Got request: GET /verifiedserver HTTP/1.1 17:49:35.840932 Are-we-friendly question received 17:49:35.840960 Wrote request (93 bytes) input to log/14/server.input 17:49:35.840979 Identifying ourselves as friends 17:49:35.841039 Response sent (56 bytes) and written to log/14/server.response 17:49:35.841050 special request received, no persistency 17:49:35.841059 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file stderr573 URL: http://127.0.0.1:37569/573 === End of file stderr573 === Start of file valgrind573 ==108546== ==108546== Process terminating with default action of signal 4 (SIGILL) ==108546== Illegal opcode at address 0x51D97AF ==108546== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108546== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108546== by 0x51D97AF: Curl_open (url.c:502) ==108546== by 0x515120F: curl_easy_init (easy.c:365) ==108546== by 0x401E2F0: test_lib573.lto_priv.0 (lib573.c:50) ==108546== by 0x40034B5: main (first.c:279) ==108546== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108546== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108546== by 0x51D96BD: Curl_open (url.c:479) ==108546== by 0x515120F: curl_easy_init (easy.c:365) ==108546== by 0x401E2F0: test_lib573.lto_priv.0 (lib573.c:50) ==108546== by 0x40034B5: main (first.c:279) ==108546== === 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/20/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:35215/fully_simulated/UNIX/* > log/20/stdout575 2> log/20/stderr575 test 0574...[FTP wildcard download - changed fnmatch, 2x perform (Unix 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/4/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:40307/fully_simulated/UNIX/*.txt > log/4/stdout574 2> log/4/stderr574 574: stdout FAILED: --- log/4/check-expected 2026-01-28 17:49:35.903222099 +0000 +++ log/4/check-generated 2026-01-28 17:49:35.903222099 +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/4/ 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/4/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:40307/fully_simulated/UNIX/*.txt > log/4/stdout574 2> log/4/stderr574 === End of file commands.log === Start of file ftp_server.log 17:49:35.000987 ====> Client connect 17:49:35.001133 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:35.001389 < "USER anonymous" 17:49:35.001425 > "331 We are happy you popped in![CR][LF]" 17:49:35.001587 < "PASS ftp@example.com" 17:49:35.001613 > "230 Welcome you silly person[CR][LF]" 17:49:35.001755 < "PWD" 17:49:35.001785 > "257 "/" is current directory[CR][LF]" 17:49:35.001936 < "EPSV" 17:49:35.001960 ====> Passive DATA channel requested by client 17:49:35.001974 DATA sockfilt for passive data channel starting... 17:49:35.003613 DATA sockfilt for passive data channel started (pid 108536) 17:49:35.003723 DATA sockfilt for passive data channel listens on port 41219 17:49:35.003768 > "229 Entering Passive Mode (|||41219|)[CR][LF]" 17:49:35.003787 Client has been notified that DATA conn will be accepted on port 41219 17:49:35.004009 Client connects to port 41219 17:49:35.004039 ====> Client established passive DATA connection on port 41219 17:49:35.004121 < "TYPE I" 17:49:35.004152 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:35.004306 < "SIZE verifiedserver" 17:49:35.004344 > "213 17[CR][LF]" 17:49:35.004490 < "RETR verifiedserver" 17:49:35.004522 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:35.004601 =====> Closing passive DATA connection... 17:49:35.004620 Server disconnects passive DATA connection 17:49:35.004770 Server disconnected passive DATA connection 17:49:35.004793 DATA sockfilt for passive data channel quits (pid 108536) 17:49:35.005035 DATA sockfilt for passive data channel quit (pid 108536) 17:49:35.005066 =====> Closed passive DATA connection 17:49:35.005094 > "226 File transfer complete[CR][LF]" 17:49:35.050345 < "QUIT" 17:49:35.050399 > "221 bye bye baby[CR][LF]" 17:49:35.051618 MAIN sockfilt said DISC 17:49:35.051666 ====> Client disconnected 17:49:35.051740 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:34.847066 ====> Client connect 17:49:34.847328 Received DATA (on stdin) 17:49:34.847342 > 146 bytes data, server => client 17:49:34.847353 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:34.847364 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:34.847373 '220 \___|\___/|_| \_\_____|\r\n' 17:49:34.847441 < 16 bytes data, client => server 17:49:34.847453 'USER anonymous\r\n' 17:49:34.847614 Received DATA (on stdin) 17:49:34.847625 > 33 bytes data, server => client 17:49:34.847636 '331 We are happy you popped in!\r\n' 17:49:34.847684 < 22 bytes data, client => server 17:49:34.847695 'PASS ftp@example.com\r\n' 17:49:34.847798 Received DATA (on stdin) 17:49:34.847809 > 30 bytes data, server => client 17:49:34.847819 '230 Welcome you silly person\r\n' 17:49:34.847863 < 5 bytes data, client => server 17:49:34.847874 'PWD\r\n' 17:49:34.847969 Received DATA (on stdin) 17:49:34.847980 > 30 bytes data, server => client 17:49:34.847990 '257 "/" is current directory\r\n' 17:49:34.848043 < 6 bytes data, client => server 17:49:34.848054 'EPSV\r\n' 17:49:34.849976 Received DATA (on stdin) 17:49:34.849988 > 39 bytes data, server => client 17:49:34.849998 '229 Entering Passive Mode (|||41219|)\r\n' 17:49:34.850142 < 8 bytes data, client => server 17:49:34.850154 'TYPE I\r\n' 17:49:34.850341 Received DATA (on stdin) 17:49:34.850353 > 33 bytes data, server => client 17:49:34.850363 '200 I modify TYPE as you wanted\r\n' 17:49:34.850410 < 21 bytes data, client => server 17:49:34.850421 'SIZE verifiedserver\r\n' 17:49:34.850531 Received DATA (on stdin) 17:49:34.850542 > 8 bytes data, server => client 17:49:34.850551 '213 17\r\n' 17:49:34.850596 < 21 bytes data, client => server 17:49:34.850607 'RETR verifiedserver\r\n' 17:49:34.850806 Received DATA (on stdin) 17:49:34.850816 > 29 bytes data, server => client 17:49:34.850826 '150 Binary junk (17 bytes).\r\n' 17:49:34.851282 Received DATA (on stdin) 17:49:34.851295 > 28 bytes data, server => client 17:49:34.851306 '226 File transfer complete\r\n' 17:49:34.896363 < 6 bytes data, client => server 17:49:34.896386 'QUIT\r\n' 17:49:34.896592 Received DATA (on stdin) 17:49:34.896604 > 18 bytes data, server => client 17:49:34.896615 '221 bye bye baby\r\n' 17:49:34.897748 ====> Client disconnect 17:49:34.897931 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:35.849621 Running IPv4 version 17:49:35.849685 Listening on port 41219 17:49:35.849722 Wrote pid 108536 to log/4/server/ftp_sockdata.pid 17:49:35.849742 Received PING (on stdin) 17:49:35.849827 Received PORT (on stdin) 17:49:35.850114 ====> Client connect 17:49:35.850849 Received DATA (on stdin) 17:49:35.850861 > 17 bytes data, server => client 17:49:35.850871 'WE ROOLZ: 80996\r\n' 17:49:35.850895 Received DISC (on stdin) 17:49:35.850907 ====> Client forcibly disconnected 17:49:35.850987 Received QUIT (on stdin) 17:49:35.850998 quits 17:49:35.851058 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 574 === End of file server.cmd === Start of file stderr574 URL: ftp://127.0.0.1:40307/fully_simulated/UNIX/*.txt === End of file stderr574 === Start of file valgrind574 ==108618== ==108618== Process terminating with default action of signal 4 (SIGILL) ==108618== Illegal opcode at address 0x51D97AF ==108618== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108618== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108618== by 0x51D97AF: Curl_open (url.c:502) ==108618== by 0x515120F: curl_easy_init (easy.c:365) ==108618== by 0x4014866: test_lib574.lto_priv.0 (lib574.c:44) ==108618== by 0x40034B5: main (first.c:279) ==108618== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108618== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108618== by 0x51D96BD: Curl_open (url.c:479) ==108618== by 0x515120F: curl_easy_init (easy.c:365) ==108618== by 0x4014866: test_lib574.lto_priv.0 (lib574.c:44) ==108618== by 0x40034B5: main (first.c:279) ==108618== === End of file valgrind574 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/20/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:35215/fully_simulated/UNIX/* > log/20/stdout575 2> log/20/stderr575 575: stdout FAILED: --- log/20/check-expected 2026-01-28 17:49:35.909888766 +0000 +++ log/20/check-generated 2026-01-28 17:49:35.909888766 +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/20/ 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/20/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:35215/fully_simulated/UNIX/* > log/20/stdout575 2> log/20/stderr575 === End of file commands.log === Start of file ftp_server.log 17:49:35.020311 ====> Client connect 17:49:35.020483 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:35.020763 < "USER anonymous" 17:49:35.020804 > "331 We are happy you popped in![CR][LF]" 17:49:35.020975 < "PASS ftp@example.com" 17:49:35.021002 > "230 Welcome you silly person[CR][LF]" 17:49:35.021159 < "PWD" 17:49:35.021190 > "257 "/" is current directory[CR][LF]" 17:49:35.021356 < "EPSV" 17:49:35.021383 ====> Passive DATA channel requested by client 17:49:35.021398 DATA sockfilt for passive data channel starting... 17:49:35.022894 DATA sockfilt for passive data channel started (pid 108586) 17:49:35.022984 DATA sockfilt for passive data channel listens on port 34089 17:49:35.023020 > "229 Entering Passive Mode (|||34089|)[CR][LF]" 17:49:35.023034 Client has been notified that DATA conn will be accepted on port 34089 17:49:35.023227 Client connects to port 34089 17:49:35.023252 ====> Client established passive DATA connection on port 34089 17:49:35.023319 < "TYPE I" 17:49:35.023348 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:35.023486 < "SIZE verifiedserver" 17:49:35.023519 > "213 17[CR][LF]" 17:49:35.023647 < "RETR verifiedserver" 17:49:35.023676 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:35.023748 =====> Closing passive DATA connection... 17:49:35.023763 Server disconnects passive DATA connection 17:49:35.023871 Server disconnected passive DATA connection 17:49:35.023887 DATA sockfilt for passive data channel quits (pid 108586) 17:49:35.024092 DATA sockfilt for passive data channel quit (pid 108586) 17:49:35.024113 =====> Closed passive DATA connection 17:49:35.024136 > "226 File transfer complete[CR][LF]" 17:49:35.070314 < "QUIT" 17:49:35.070370 > "221 bye bye baby[CR][LF]" 17:49:35.071423 MAIN sockfilt said DISC 17:49:35.071455 ====> Client disconnected 17:49:35.071531 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:34.866396 ====> Client connect 17:49:34.866682 Received DATA (on stdin) 17:49:34.866697 > 146 bytes data, server => client 17:49:34.866709 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:34.866719 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:34.866728 '220 \___|\___/|_| \_\_____|\r\n' 17:49:34.866806 < 16 bytes data, client => server 17:49:34.866819 'USER anonymous\r\n' 17:49:34.866995 Received DATA (on stdin) 17:49:34.867007 > 33 bytes data, server => client 17:49:34.867017 '331 We are happy you popped in!\r\n' 17:49:34.867069 < 22 bytes data, client => server 17:49:34.867081 'PASS ftp@example.com\r\n' 17:49:34.867189 Received DATA (on stdin) 17:49:34.867201 > 30 bytes data, server => client 17:49:34.867211 '230 Welcome you silly person\r\n' 17:49:34.867260 < 5 bytes data, client => server 17:49:34.867271 'PWD\r\n' 17:49:34.867376 Received DATA (on stdin) 17:49:34.867387 > 30 bytes data, server => client 17:49:34.867397 '257 "/" is current directory\r\n' 17:49:34.867455 < 6 bytes data, client => server 17:49:34.867467 'EPSV\r\n' 17:49:34.869221 Received DATA (on stdin) 17:49:34.869232 > 39 bytes data, server => client 17:49:34.869241 '229 Entering Passive Mode (|||34089|)\r\n' 17:49:34.869364 < 8 bytes data, client => server 17:49:34.869373 'TYPE I\r\n' 17:49:34.869533 Received DATA (on stdin) 17:49:34.869542 > 33 bytes data, server => client 17:49:34.869552 '200 I modify TYPE as you wanted\r\n' 17:49:34.869597 < 21 bytes data, client => server 17:49:34.869607 'SIZE verifiedserver\r\n' 17:49:34.869703 Received DATA (on stdin) 17:49:34.869712 > 8 bytes data, server => client 17:49:34.869720 '213 17\r\n' 17:49:34.869761 < 21 bytes data, client => server 17:49:34.869770 'RETR verifiedserver\r\n' 17:49:34.869881 Received DATA (on stdin) 17:49:34.869901 > 29 bytes data, server => client 17:49:34.869912 '150 Binary junk (17 bytes).\r\n' 17:49:34.870320 Received DATA (on stdin) 17:49:34.870331 > 28 bytes data, server => client 17:49:34.870341 '226 File transfer complete\r\n' 17:49:34.916321 < 6 bytes data, client => server 17:49:34.916345 'QUIT\r\n' 17:49:34.916564 Received DATA (on stdin) 17:49:34.916577 > 18 bytes data, server => client 17:49:34.916587 '221 bye bye baby\r\n' 17:49:34.917556 ====> Client disconnect 17:49:34.917674 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:35.868924 Running IPv4 version 17:49:35.868977 Listening on port 34089 17:49:35.869010 Wrote pid 108586 to log/20/server/ftp_sockdata.pid 17:49:35.869026 Received PING (on stdin) 17:49:35.869098 Received PORT (on stdin) 17:49:35.869341 ====> Client connect 17:49:35.869939 Received DATA (on stdin) 17:49:35.869964 > 17 bytes data, server => client 17:49:35.869975 'WE ROOLZ: 81259\r\n' 17:49:35.870012 Received DISC (on stdin) 17:49:35.870026 ====> Client forcibly disconnected 17:49:35.870089 Received QUIT (on stdin) 17:49:35.870104 quits 17:49:35.870158 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 575 === End of file server.cmd === Start of file stderr575 URL: ftp://127.0.0.1:35215/fully_simulated/UNIX/* === End of file stderr575 === Start of file valgrind575 ==108648== ==108648== Process terminating with default action of signal 4 (SIGILL) ==108648== Illegal opcode at address 0x51D97AF ==108648== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108648== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108648== by 0x51D97AF: Curl_open (url.c:502) ==108648== by 0x515120F: curl_easy_init (easy.c:365) ==108648== by 0x40179B9: test_lib575.lto_priv.0 (lib575.c:44) =CMD (33792): ../libtool --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/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:40075/fully_simulated/UNIX/* > log/19/stdout576 2> log/19/stderr576 =108648== by 0x40034B5: main (first.c:279) ==108648== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108648== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108648== by 0x51D96BD: Curl_open (url.c:479) ==108648== by 0x515120F: curl_easy_init (easy.c:365) ==108648== by 0x40179B9: test_lib575.lto_priv.0 (lib575.c:44) ==108648== by 0x40034B5: main (first.c:279) ==108648== === End of file valgrind575 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/19/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:40075/fully_simulated/UNIX/* > log/19/stdout576 2> log/19/stderr576 576: stdout FAILED: --- log/19/check-expected 2026-01-28 17:49:35.943222099 +0000 +++ log/19/check-generated 2026-01-28 17:49:35.943222099 +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/19/ 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/19/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:40075/fully_simulated/UNIX/* > log/19/stdout576 2> log/19/stderr576 === End of file commands.log === Start of file ftp_server.log 17:49:35.023746 ====> Client connect 17:49:35.023910 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:35.024180 < "USER anonymous" 17:49:35.024228 > "331 We are happy you popped in![CR][LF]" 17:49:35.024403 < "PASS ftp@example.com" 17:49:35.024431 > "230 Welcome you silly person[CR][LF]" 17:49:35.024621 < "PWD" 17:49:35.024668 > "257 "/" is current directory[CR][LF]" 17:49:35.024845 < "EPSV" 17:49:35.024868 ====> Passive DATA channel requested by client 17:49:35.024881 DATA sockfilt for passive data channel starting... 17:49:35.026775 DATA sockfilt for passive data channel started (pid 108591) 17:49:35.026870 DATA sockfilt for passive data channel listens on port 41657 17:49:35.026904 > "229 Entering Passive Mode (|||41657|)[CR][LF]" 17:49:35.026918 Client has been notified that DATA conn will be accepted on port 41657 17:49:35.027105 Client connects to port 41657 17:49:35.027130 ====> Client established passive DATA connection on port 41657 17:49:35.027193 < "TYPE I" 17:49:35.027214 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:35.027330 < "SIZE verifiedserver" 17:49:35.027359 > "213 17[CR][LF]" 17:49:35.027468 < "RETR verifiedserver" 17:49:35.027493 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:35.027750 =====> Closing passive DATA connection... 17:49:35.027767 Server disconnects passive DATA connection 17:49:35.027816 Server disconnected passive DATA connection 17:49:35.027831 DATA sockfilt for passive data channel quits (pid 108591) 17:49:35.028009 DATA sockfilt for passive data channel quit (pid 108591) 17:49:35.028028 =====> Closed passive DATA connection 17:49:35.028049 > "226 File transfer complete[CR][LF]" 17:49:35.073569 < "QUIT" 17:49:35.073619 > "221 bye bye baby[CR][LF]" 17:49:35.074740 MAIN sockfilt said DISC 17:49:35.074777 ====> Client disconnected 17:49:35.074845 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:34.869809 ====> Client connect 17:49:34.870110 Received DATA (on stdin) 17:49:34.870125 > 146 bytes data, server => client 17:49:34.870137 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:34.870147 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:34.870157 '220 \___|\___/|_| \_\_____|\r\n' 17:49:34.870226 < 16 bytes data, client => server 17:49:34.870237 'USER anonymous\r\n' 17:49:34.870422 Received DATA (on stdin) 17:49:34.870434 > 33 bytes data, server => client 17:49:34.870444 '331 We are happy you popped in!\r\n' 17:49:34.870497 < 22 bytes data, client => server 17:49:34.870508 'PASS ftp@example.com\r\n' 17:49:34.870616 Received DATA (on stdin) 17:49:34.870626 > 30 bytes data, server => client 17:49:34.870636 '230 Welcome you silly person\r\n' 17:49:34.870682 < 5 bytes data, client => server 17:49:34.870691 'PWD\r\n' 17:49:34.870859 Received DATA (on stdin) 17:49:34.870875 > 30 bytes data, server => client 17:49:34.870885 '257 "/" is current directory\r\n' 17:49:34.870956 < 6 bytes data, client => server 17:49:34.870965 'EPSV\r\n' 17:49:34.873106 Received DATA (on stdin) 17:49:34.873118 > 39 bytes data, server => client 17:49:34.873127 '229 Entering Passive Mode (|||41657|)\r\n' 17:49:34.873223 < 8 bytes data, client => server 17:49:34.873234 'TYPE I\r\n' 17:49:34.873396 Received DATA (on stdin) 17:49:34.873405 > 33 bytes data, server => client 17:49:34.873413 '200 I modify TYPE as you wanted\r\n' 17:49:34.873450 < 21 bytes data, client => server 17:49:34.873458 'SIZE verifiedserver\r\n' 17:49:34.873539 Received DATA (on stdin) 17:49:34.873548 > 8 bytes data, server => client 17:49:34.873555 '213 17\r\n' 17:49:34.873590 < 21 bytes data, client => server 17:49:34.873597 'RETR verifiedserver\r\n' 17:49:34.873717 Received DATA (on stdin) 17:49:34.873726 > 29 bytes data, server => client 17:49:34.873734 '150 Binary junk (17 bytes).\r\n' 17:49:34.874231 Received DATA (on stdin) 17:49:34.874241 > 28 bytes data, server => client 17:49:34.874249 '226 File transfer complete\r\n' 17:49:34.CMD (33792): ../libtool --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/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:32889/578 log/10/ip578 > log/10/stdout578 2> log/10/stderr578 919601 < 6 bytes data, client => server 17:49:34.919624 'QUIT\r\n' 17:49:34.919811 Received DATA (on stdin) 17:49:34.919824 > 18 bytes data, server => client 17:49:34.919835 '221 bye bye baby\r\n' 17:49:34.920868 ====> Client disconnect 17:49:34.921035 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:35.872705 Running IPv4 version 17:49:35.872768 Listening on port 41657 17:49:35.872809 Wrote pid 108591 to log/19/server/ftp_sockdata.pid 17:49:35.872892 Received PING (on stdin) 17:49:35.872985 Received PORT (on stdin) 17:49:35.873249 ====> Client connect 17:49:35.873857 Received DATA (on stdin) 17:49:35.873867 > 17 bytes data, server => client 17:49:35.873875 'WE ROOLZ: 81054\r\n' 17:49:35.873951 Received DISC (on stdin) 17:49:35.873960 ====> Client forcibly disconnected 17:49:35.874016 Received QUIT (on stdin) 17:49:35.874024 quits 17:49:35.874075 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 576 === End of file server.cmd === Start of file stderr576 URL: ftp://127.0.0.1:40075/fully_simulated/UNIX/* === End of file stderr576 === Start of file valgrind576 ==108681== ==108681== Process terminating with default action of signal 4 (SIGILL) ==108681== Illegal opcode at address 0x51D97AF ==108681== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108681== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108681== by 0x51D97AF: Curl_open (url.c:502) ==108681== by 0x515120F: curl_easy_init (easy.c:365) ==108681== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==108681== by 0x40034B5: main (first.c:279) ==108681== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108681== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108681== by 0x51D96BD: Curl_open (url.c:479) ==108681== by 0x515120F: curl_easy_init (easy.c:365) ==108681== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==108681== by 0x40034B5: main (first.c:279) ==108681== === End of file valgrind576 CMD (33792): ../libtool --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/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:40899/581 > log/16/stdout581 2> log/16/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/3/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:45927/580 > log/3/stdout580 2> log/3/stderr580 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/10/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:32889/578 log/10/ip578 > log/10/stdout578 2> log/10/stderr578 578: data FAILED: --- log/10/check-expected 2026-01-28 17:49:36.263222099 +0000 +++ log/10/check-generated 2026-01-28 17:49:36.263222099 +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/10/ 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/10/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:32889/578 log/10/ip578 > log/10/stdout578 2> log/10/stderr578 === End of file commands.log === Start of file http_server.log 17:49:35.177755 ====> Client connect 17:49:35.177784 accept_connection 3 returned 4 17:49:35.177799 accept_connection 3 returned 0 17:49:35.177811 Read 93 bytes 17:49:35.177820 Process 93 bytes request 17:49:35.177833 Got request: GET /verifiedserver HTTP/1.1 17:49:35.177841 Are-we-friendly question received 17:49:35.177885 Wrote request (93 bytes) input to log/10/server.input 17:49:35.177901 Identifying ourselves as friends 17:49:35.177950 Response sent (56 bytes) and written to log/10/server.response 17:49:35.177958 special request received, no persistency 17:49:35.177967 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 49690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file stderr578 URL: http://127.0.0.1:32889/578 === End of file stderr578 === Start of file valgrind578 ==108845== ==108845== Process terminating with default action of signal 4 (SIGILL) ==108845== Illegal opcode at address 0x51D97AF ==108845== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108845== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108845== by 0x51D97AF: Curl_open (url.c:502) ==108845== by 0x515120F: curl_easy_init (easy.c:365) ==108845== by 0x4014B0A: test_lib578.lto_priv.0 (lib578.c:61) ==108845== by 0x40034B5: main (first.c:279) ==108845== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108845== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108845== by 0x51D96BD: Curl_open (url.c:479) ==108845== by 0x515120F: curl_easy_init (easy.c:365) ==108845== by 0x4014B0A: test_lib578.lto_priv.0 (lib578.c:61) ==108845== by 0x40034B5: main (first.c:279) ==108845== === End of file valgrind578 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/16/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:40899/581 > log/16/stdout581 2> log/16/stderr581 581: 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 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/16/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:40899/581 > log/16/stdout581 2> log/16/stderr581 === End of file commands.log === Start of file http_server.log 17:49:35.189025 ====> Client connect 17:49:35.189054 accept_connection 3 returned 4 17:49:35.189070 accept_connection 3 returned 0 17:49:35.189083 Read 93 bytes 17:49:35.189092 Process 93 bytes request 17:49:35.189102 Got request: GET /verifiedserver HTTP/1.1 17:49:35.189110 Are-we-friendly question received 17:49:35.189135 Wrote request (93 bytes) input to log/16/server.input 17:49:35.189150 Identifying ourselves as friends 17:49:35.189207 Response sent (56 bytes) and written to log/16/server.response 17:49:35.189216 special request received, no persistency 17:49:35.189225 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 46228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file stderr581 URL: http://127.0.0.1:40899/581 === End of file stderr581 === Start of file valgrind581 ==108883== ==108883== Process terminating with default action of signal 4 (SIGILL) ==108883== Illegal opcode at address 0x51A0F00 ==108883== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==108883== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==108883== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==108883== by 0x40627B5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==108883== by 0x40034B5: main (first.c:279) ==108883== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==108883== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108883== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==108883== by 0x40627B5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==108883== by 0x40034B5: main (first.c:279) ==108883== === End of file valgrind581 test 0580...[multi interface, multiple Location: 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/3/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:45927/580 > log/3/stdout580 2> log/3/stderr580 580: 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 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/3/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:45927/580 > log/3/stdoCMD (33792): ../libtool --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/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:42747/579 log/6/ip579 > log/6/stdout579 2> log/6/stderr579 ut580 2> log/3/stderr580 === End of file commands.log === Start of file http_server.log 17:49:35.185898 ====> Client connect 17:49:35.185933 accept_connection 3 returned 4 17:49:35.185948 accept_connection 3 returned 0 17:49:35.185960 Read 93 bytes 17:49:35.185968 Process 93 bytes request 17:49:35.185979 Got request: GET /verifiedserver HTTP/1.1 17:49:35.185988 Are-we-friendly question received 17:49:35.186018 Wrote request (93 bytes) input to log/3/server.input 17:49:35.186034 Identifying ourselves as friends 17:49:35.186092 Response sent (56 bytes) and written to log/3/server.response 17:49:35.186101 special request received, no persistency 17:49:35.186110 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 47500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file stderr580 URL: http://127.0.0.1:45927/580 === End of file stderr580 === Start of file valgrind580 ==108877== ==108877== Process terminating with default action of signal 4 (SIGILL) ==108877== Illegal opcode at address 0x51A0F00 ==108877== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==108877== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==108877== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==108877== by 0x40627B5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==108877== by 0x40034B5: main (first.c:279) ==108877== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==108877== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108877== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==108877== by 0x40627B5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==108877== by 0x40034B5: main (first.c:279) ==108877== === End of file valgrind580 CMD (33792): ../libtool --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/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:36641/585 > log/12/stdout585 2> log/12/stderr585 CMD (33792): ../libtool --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/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:41669/584 > log/21/stdout584 2> log/21/stderr584 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/6/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:42747/579 log/6/ip579 > log/6/stdout579 2> log/6/stderr579 579: data FAILED: --- log/6/check-expected 2026-01-28 17:49:36.306555432 +0000 +++ log/6/check-generated 2026-01-28 17:49:36.306555432 +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/6/ 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/6/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:42747/579 log/6/ip579 > log/6/stdout579 2> log/6/stderr579 === End of file commands.log === Start of file http_server.log 17:49:35.185898 ====> Client connect 17:49:35.185929 accept_connection 3 returned 4 17:49:35.185944 accept_connection 3 returned 0 17:49:35.185958 Read 93 bytes 17:49:35.185966 Process 93 bytes request 17:49:35.185979 Got request: GET /verifiedserver HTTP/1.1 17:49:35.185988 Are-we-friendly question received 17:49:35.186014 Wrote request (93 bytes) input to log/6/server.input 17:49:35.186031 Identifying ourselves as friends 17:49:35.186087 Response sent (56 bytes) and written to log/6/server.response 17:49:35.186096 special request received, no persistency 17:49:35.186104 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 33060 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file stderr579 URL: http://127.0.0.1:42747/579 === End of file stderr579 === Start of file valgrind579 ==108885== ==108885== Process terminating with default action of signal 4 (SIGILL) ==108885== Illegal opcode at address 0x51D97AF ==108885== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108885== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108885== by 0x51D97AF: Curl_open (url.c:502) ==108885== by 0x515120F: curl_easy_init (easy.c:365) ==108885== by 0x4017140: test_lib579.lto_priv.0 (lib579.c:114) ==108885== by 0x40034B5: main (first.c:279) ==108885== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108885== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108885== by 0x51D96BD: Curl_open (url.c:479) ==108885== by 0x515120F: curl_easy_init (easy.c:365) ==108885== by 0x4017140: test_lib579.lto_priv.0 (lib579.c:114) ==108885== by 0x40034B5: main (first.c:279) ==108885== === End of file valgrind579 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/12/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:36641/585 > log/12/stdout585 2> log/12/stderr585 585: 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 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/12/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:36641/585 > log/12/stdout585 2> log/12/stderr585 === End of file commands.log === Start of file http_server.log 17:49:35.207947 ====> Client connect 17:49:35.207979 accept_connection 3 returned 4 17:49:35.207995 accept_connection 3 returned 0 17:49:35.208008 Read 93 bytes 17:49:35.208017 Process 93 bytes request 17:49:35.208029 Got request: GET /verifiedserver HTTP/1.1 17:49:35.208038 Are-we-friendly question received 17:49:35.208064 Wrote request (93 bytes) input to log/12/server.input 17:49:35.208080 Identifying ourselves as friends 17:49:35.208138 Response sent (56 bytes) and written to log/12/server.response 17:49:35.208148 special request received, no persistency 17:49:35.208157 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 33020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file stderr585 URL: http://127.0.0.1:36641/585 === End of file stderr585 === Start of file valgrind585 ==108974== ==108974== Process terminating with default action of signal 4 (SIGILL) ==108974== Illegal opcode at address 0x51D97AF ==108974== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108974== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108974== by 0x51D97AF: Curl_open (url.c:502) ==108974== by 0x515120F: curl_easy_init (easy.c:365) ==108974== by 0x4009B81: test_lib500.lto_priv.0 (lib500.c:65) ==108974== by 0x40034B5: main (first.c:279) ==108974== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108974== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108974== by 0x51D96BD: Curl_open (url.c:479) ==108974== by 0x515120F: curl_easy_init (easy.c:365) ==108974== by 0x4009B81: test_lib500.lto_priv.0 (lib500.c:65) ==108974== by 0x40034B5: main (first.c:279) ==108974== === End of file valgrind585 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/21/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:41669/584 > log/21/stdout584 2> log/21/stderr584 584: protocol FAILED!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/17/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:44593/587 > log/17/stdout587 2> log/17/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/18/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:36869/586 > log/18/stdout586 2> log/18/stderr586 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 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/21/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:41669/584 > log/21/stdout584 2> log/21/stderr584 === End of file commands.log === Start of file http_server.log 17:49:35.206391 ====> Client connect 17:49:35.206427 accept_connection 3 returned 4 17:49:35.206443 accept_connection 3 returned 0 17:49:35.206458 Read 93 bytes 17:49:35.206467 Process 93 bytes request 17:49:35.206479 Got request: GET /verifiedserver HTTP/1.1 17:49:35.206488 Are-we-friendly question received 17:49:35.206511 Wrote request (93 bytes) input to log/21/server.input 17:49:35.206525 Identifying ourselves as friends 17:49:35.206595 Response sent (56 bytes) and written to log/21/server.response 17:49:35.206604 special request received, no persistency 17:49:35.206612 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 54814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stderr584 URL: http://127.0.0.1:41669/584 === End of file stderr584 === Start of file valgrind584 ==108991== ==108991== Process terminating with default action of signal 4 (SIGILL) ==108991== Illegal opcode at address 0x51D97AF ==108991== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==108991== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==108991== by 0x51D97AF: Curl_open (url.c:502) ==108991== by 0x515120F: curl_easy_init (easy.c:365) ==108991== by 0x402252A: test_lib589.lto_priv.0 (lib589.c:36) ==108991== by 0x40034B5: main (first.c:279) ==108991== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==108991== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108991== by 0x51D96BD: Curl_open (url.c:479) ==108991== by 0x515120F: curl_easy_init (easy.c:365) ==108991== by 0x402252A: test_lib589.lto_priv.0 (lib589.c:36) ==108991== by 0x40034B5: main (first.c:279) ==108991== === End of file valgrind584 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/18/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:36869/586 > log/18/stdout586 2> log/18/stderr586 586: 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 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/18/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:36869/586 > log/18/stdout586 2> log/18/stderr586 === End of file commands.log === Start of file ftp_server.log 17:49:35.512603 ====> Client connect 17:49:35.512762 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:35.513036 < "USER anonymous" 17:49:35.513072 > "331 We are happy you popped in![CR][LF]" 17:49:35.513240 < "PASS ftp@example.com" 17:49:35.513267 > "230 Welcome you silly person[CR][LF]" 17:49:35.513458 < "PWD" 17:49:35.513492 > "257 "/" is current directory[CR][LF]" 17:49:35.513664 < "EPSV" 17:49:35.513689 ====> Passive DATA channel requested by client 17:49:35.513702 DATA sockfilt for passive data channel starting... 17:49:35.515684 DATA sockfilt for passive data channel started (pid 109178) 17:49:35.515824 DATA sockfilt for passive data channel listens on port 45131 17:49:35.515877 > "229 Entering Passive Mode (|||45131|)[CR][LF]" 17:49:35.515897 Client has been notified that DATA conn will be accepted on port 45131 17:49:35.516183 Client connects to port 45131 17:49:35.516215 ====> Client established passive DATA connection on port 45131 17:49:35.516300 < "TYPE I" 17:49:35.516334 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:35.516498 < "SIZE verifiedserver" 17:49:35.516535 > "213 17[CR][LF]" 17:49:35.516697 < "RETR verifiedserver" 17:49:35.516733 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:35.516829 =====> Closing passive DATA connection... 17:49:35.516849 Server disconnects passive DATA connection 17:49:35.517000 Server disconnected passive DATA connection 17:49:35.517034 DATA sockfilt for passive data channel quits (pid 109178) 17:49:35.517275 DATA sockfilt for passive data channel quit (pid 109178) 17:49:35.517303 =====> Closed passive DATA connection 17:49:35.517334 > "226 File transfer complete[CR][LF]" 17:49:35.562651 < "QUIT" 17:49:35.562717 > "221 bye bye baby[CR][LF]" 17:49:35.562993 MAIN sockfilt said DISC 17:49:35.563045 ====> Client disconnected 17:49:35.563119 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:36.358693 ====> Client connect 17:49:36.358953 Received DATA (on stdin) 17:49:36.358969 > 146 bytes data, server => client 17:49:36.358980 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:36.358991 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:36.358999 '220 \___|\___/|_| \_\_____|\r\n' 17:49:36.359075 < 16 bytes data, client => server 17:49:36.359089 'USER anonymous\r\n' 17:49:36.359264 Received DATA (on stdin) 17:49:36.359276 > 33 bytes data, server => client 17:49:36.359286 '331 We are happy you popped in!\r\n' 17:49:36.359336 < 22 bytes data, client => server 17:49:36.359347 'PASS ftp@example.com\r\n' 17:49:36.359456 Received DATA (on stdin) 17:49:36.359468 > 30 bytes data, server => client 17:49:36.359478 '230 Welcome you silly person\r\n' 17:49:36.359553 < 5 bytes data, client => server 17:49:36.359567 'PWD\r\n' 17:49:36.359679 Received DATA (on stdin) 17:49:36.359690 > 30 bytes data, server => client 17:49:36.359700 '257 "/" is current directory\r\n' 17:49:36.359762 < 6 bytes data, client => server 17:49:36.359775 'EPSV\r\n' 17:49:36.362094 Received DATA (on stdin) 17:49:36.362110 > 39 bytes data, server => client 17:49:36.362121 '229 Entering Passive Mode (|||45131|)\r\n' 17:49:36.362317 < 8 bytes data, client => server 17:49:36.362329 'TYPE I\r\n' 17:49:36.362526 Received DATA (on stdin) 17:49:36.362538 > 33 bytes data, server => client 17:49:36.362548 '200 I modify TYPE as you wanted\r\n' 17:49:36.362598 < 21 bytes data, client => server 17:49:36.362610 'SIZE verifiedserver\r\n' 17:49:36.362722 Received DATA (on stdin) 17:49:36.362733 > 8 bytes data, server => client 17:49:36.362743 '213 17\r\n' 17:49:36.362791 < 21 bytes data, client => server 17:49:36.362804 'RETR verifiedserver\r\n' 17:49:36.362979 Received DATA (on stdin) 17:49:36.362999 > 29 bytes data, server => client 17:49:36.363012 '150 Binary junk (17 bytes).\r\n' 17:49:36.363525 Received DATA (on stdin) 17:49:36.363537 > 28 bytes data, server => client 17:49:36.363547 '226 File transfer complete\r\n' 17:49:36.408650 < 6 bytes data, client => server 17:49:36.408675 'QUIT\r\n' 17:49:36.408916 Received DATA (on stdin) 17:49:36.408933 > 18 bytes data, server => client 17:49:36.408cannot 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/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:46399/path/588 log/23/upload588 > log/23/stdout588 2> log/23/stderr588 943 '221 bye bye baby\r\n' 17:49:36.409107 ====> Client disconnect 17:49:36.409308 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:35.361641 Running IPv4 version 17:49:35.361740 Listening on port 45131 17:49:35.361787 Wrote pid 109178 to log/18/server/ftp_sockdata.pid 17:49:35.361808 Received PING (on stdin) 17:49:35.361909 Received PORT (on stdin) 17:49:35.362288 ====> Client connect 17:49:35.362987 Received DATA (on stdin) 17:49:35.363067 > 17 bytes data, server => client 17:49:35.363079 'WE ROOLZ: 82094\r\n' 17:49:35.363116 Received DISC (on stdin) 17:49:35.363131 ====> Client forcibly disconnected 17:49:35.363244 Received QUIT (on stdin) 17:49:35.363256 quits 17:49:35.363313 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 586 === End of file server.cmd === Start of file stderr586 URL: ftp://127.0.0.1:36869/586 === End of file stderr586 === Start of file valgrind586 ==109214== ==109214== Process terminating with default action of signal 4 (SIGILL) ==109214== Illegal opcode at address 0x51D97AF ==109214== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109214== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109214== by 0x51D97AF: Curl_open (url.c:502) ==109214== by 0x515120F: curl_easy_init (easy.c:365) ==109214== by 0x4009B81: test_lib500.lto_priv.0 (lib500.c:65) ==109214== by 0x40034B5: main (first.c:279) ==109214== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==109214== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109214== by 0x51D96BD: Curl_open (url.c:479) ==109214== by 0x515120F: curl_easy_init (easy.c:365) ==109214== by 0x4009B81: test_lib500.lto_priv.0 (lib500.c:65) ==109214== by 0x40034B5: main (first.c:279) ==109214== === End of file valgrind586 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/23/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:46399/path/588 log/23/upload588 > log/23/stdout588 2> log/23/stderr588 588: 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 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/23/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:46399/path/588 log/23/upload588 > log/23/stdout588 2> log/23/stderr588 === End of file commands.log === Start of file ftp_server.log 17:49:35.654679 ====> Client connect 17:49:35.654841 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:35.655116 < "USER anonymous" 17:49:35.655145 > "331 We are happy you popped in![CR][LF]" 17:49:35.655294 < "PASS ftp@example.com" 17:49:35.655317 > "230 Welcome you silly person[CR][LF]" 17:49:35.655451 < "PWD" 17:49:35.655481 > "257 "/" is current directory[CR][LF]" 17:49:35.655623 < "EPSV" 17:49:35.655646 ====> Passive DATA channel requested by client 17:49:35.655660 DATA sockfilt for passive data channel starting... 17:49:35.657522 DATA sockfilt for passive data channel started (pid 109310) 17:49:35.657633 DATA sockfilt for passive data channel listens on port 35079 17:49:35.657670 > "229 Entering Passive Mode (|||35079|)[CR][LF]" 17:49:35.657686 Client has been notified that DATA conn will be accepted on port 35079 17:49:35.657901 Client connects to port 35079 17:49:35.657925 ====> Client established passive DATA connection on port 35079 17:49:35.657993 < "TYPE I" 17:49:35.658015 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:35.658126 < "SIZE verifiedserver" 17:49:35.658153 > "213 17[CR][LF]" 17:49:35.658258 < "RETR verifiedserver" 17:49:35.658282 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:35.658346 =====> Closing passive DATA connection... 17:49:35.658359 Server disconnects passive DATA connection 17:49:35.658523 Server disconnected passive DATA connection 17:49:35.658543 DATA sockfilt for passive data channel quits (pid 109310) 17:49:35.658702 DATA sockfilt for passive data channel quit (pid 109310) 17:49:35.658720 =====> Closed passive DATA connection 17:49:35.658742 > "226 File transfer complete[CR][LF]" 17:49:35.706903 < "QUIT" 17:49:35.706948 > "221 bye bye baby[CR][LF]" 17:49:35.707725 MAIN sockfilt said DISC 17:49:35.707751 ====> Client disconnected 17:49:35.707815 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:36.500754 ====> Client connect 17:49:36.501038 Received DATA (on stdin) 17:49:36.501065 > 146 bytes data, server => client 17:49:36.501077 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:36.501087 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:36.501096 '220 \___|\___/|_| \_\_____|\r\n' 17:49:36.501165 < 16 bytes data, client => server 17:49:36.501175 'USER anonymous\r\n' 17:49:36.501333 Received DATA (on stdin) 17:49:36.501344 > 33 bytes data, server => client 17:49:36.501354 '331 We are happy you popped in!\r\n' 17:49:36.501400 < 22 bytes data, client => server 17:49:36.501410 'PASS ftp@example.com\r\n' 17:49:36.501501 Received DATA (on stdin) 17:49:36.501511 > 30 bytes data, server => client 17:49:36.501521 '230 Welcome you silly person\r\n' 17:49:36.501561 < 5 bytes data, client => server 17:49:36.501571 'PWD\r\n' 17:49:36.501664 Received DATA (on stdin) 17:49:36.501674 > 30 bytes data, server => client 17:49:36.501685 '257 "/" is current directory\r\n' 17:49:36.501735 < 6 bytes data, client => server 17:49:36.501745 'EPSV\r\n' 17:49:36.503874 Received DATA (on stdin) 17:49:36.503887 > 39 bytes data, server => client 17:49:36.503895 '229 Entering Passive Mode (|||35079|)\r\n' 17:49:36.504044 < 8 bytes data, client => server 17:49:36.504052 'TYPE I\r\n' 17:49:36.504196 Received DATA (on stdin) 17:49:36.504204 > 33 bytes data, server => client 17:49:36.504211 '200 I modify TYPE as you wanted\r\n' 17:49:36.504248 < 21 bytes data, client => server 17:49:36.504255 'SIZE verifiedserver\r\n' 17:49:36.504333 Received DATA (on stdin) 17:49:36.504341 > 8 bytes data, server => client 17:49:36.504348 '213 17\r\n' 17:49:36.504382 < 21 bytes data, client => server 17:49:36.504389 'RETR verifiedserver\r\n' 17:49:36.504540 Received DATA (on stdin) 17:49:36.504548 > 29 bytes data, server => client 17:49:36.504556 '150 Binary junk (17 bytes).\r\n' 17:49:36.504923 Received DATA (on stdin) 17:49:36.504932 > 28 bytes data, server => client 17:49:36.504940 '226 File transfer complete\r\n' 17:49:36.552928 < 6 bytes data, client => server 17:49:36.552950 'QUIT\r\n' 17:49:36.553132 Received DATA (on stdin) 17:49:36.553141 > 18 bytes data, server => client 17:49:36.553148 '221 bye bye baby\r\n' 17:49:36.553863 ====> Client disconnect 17:49:36.554024 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:35.503546 Running IPv4 version 17:49:35.503601 Listening on port 35079 17:49:35.503632 Wrote pid 109310 to log/23/server/ftp_sockdata.pid 17:49:35.503649 Received PING (on stdin) 17:49:35.503738 Received PORT (on stdin) 17:49:35.504024 ====> Client connect 17:49:35.504573 Received DATA (on stdin) 17:49:35.504582 > 17 bytes data, server => client 17:49:35.504590 'WE ROOLZ: 81154\r\n' 17:49:35.504607 Received DISC (on stdin) 17:49:35.504615 ====> Client forcibly disconnected 17:49:35.504731 Received QUIT (on stdin) 17:49:35.504739 quits 17:49:35.504787 ============> 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 stderr588 URL: ftp://127.0.0.1cannot 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/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:33643/567 > log/15/stdout567 2> log/15/stderr567 CMD (33792): ../libtool --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/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:43595/568 log/9/file568.txt > log/9/stdout568 2> log/9/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/24/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:39525/path/564 127.0.0.1:35561 > log/24/stdout564 2> log/24/stderr564 CMD (33792): ../libtool --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/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:35671/589 > log/7/stdout589 2> log/7/stderr589 :46399/path/588 === End of file stderr588 === Start of file upload588 Moooooooooooo upload this === End of file upload588 === Start of file valgrind588 ==109316== ==109316== Process terminating with default action of signal 4 (SIGILL) ==109316== Illegal opcode at address 0x51D97AF ==109316== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109316== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109316== by 0x51D97AF: Curl_open (url.c:502) ==109316== by 0x515120F: curl_easy_init (easy.c:365) ==109316== by 0x401051C: test_lib525.lto_priv.0 (lib525.c:69) ==109316== by 0x40034B5: main (first.c:279) ==109316== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==109316== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109316== by 0x51D96BD: Curl_open (url.c:479) ==109316== by 0x515120F: curl_easy_init (easy.c:365) ==109316== by 0x401051C: test_lib525.lto_priv.0 (lib525.c:69) ==109316== by 0x40034B5: main (first.c:279) ==109316== === End of file valgrind588 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/15/server/rtsp_server.pid" --portfile "log/15/server/rtsp_server.port" --logfile "log/15/rtsp_server.log" --logdir "log/15" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108416 port 33643 * pid rtsp => 108416 108416 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/15/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:33643/567 > log/15/stdout567 2> log/15/stderr567 567: 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 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/15/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:33643/567 > log/15/stdout567 2> log/15/stderr567 === End of file commands.log === Start of file rtsp_server.log 17:49:34.681288 Running IPv4 version on port 33643 17:49:34.681391 Wrote pid 108416 to log/15/server/rtsp_server.pid 17:49:34.681425 Wrote port 33643 to log/15/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 stderr567 URL: rtsp://127.0.0.1:33643/567 === End of file stderr567 === Start of file valgrind567 ==109460== ==109460== Process terminating with default action of signal 4 (SIGILL) ==109460== Illegal opcode at address 0x51D97AF ==109460== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109460== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109460== by 0x51D97AF: Curl_open (url.c:502) ==109460== by 0x515120F: curl_easy_init (easy.c:365) ==109460== by 0x40146CA: test_lib567.lto_priv.0 (lib567.c:40) ==109460== by 0x40034B5: main (first.c:279) ==109460== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==109460== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109460== by 0x51D96BD: Curl_open (url.c:479) ==109460== by 0x515120F: curl_easy_init (easy.c:365) ==109460== by 0x40146CA: test_lib567.lto_priv.0 (lib567.c:40) ==109460== by 0x40034B5: main (first.c:279) ==109460== === End of file valgrind567 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 108424 port 43595 * pid rtsp => 108424 108424 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/9/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:43595/568 log/9/file568.txt > log/9/stdout568 2> log/9/stderr568 568: 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 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/9/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:43595/568 log/9/file568.txt > log/9/stdout568 2> log/9/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 17:49:34.697135 Running IPv4 version on port 43595 17:49:34.697306 Wrote pid 108424 to log/9/server/rtsp_server.pid 17:49:34.697333 Wrote port 43595 to log/9/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 stderr568 URL: rtsp://127.0.0.1:43595/568 === End of file stderr568 === Start of file valgrind568 ==109510== ==109510== Process terminating with default action of signal 4 (SIGILL) ==109510== Illegal opcode at address 0x51D97AF ==109510== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109510== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109510== by 0x51D97AF: Curl_open (url.c:502) ==109510== by 0x515120F: curl_easy_init (easy.c:365) ==109510== by 0x401F67E: test_lib568.lto_priv.0 (lib568.c:48) ==109510== by 0x40034B5: main (first.c:279) ==109510== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==109510== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109510== by 0x51D96BD: Curl_open (url.c:479) ==109510== by 0x515120F: curl_easy_init (easy.c:365) ==109510== by 0x401F67E: test_lib568.lto_priv.0 (lib568.c:48) ==109510== by 0x40034B5: main (first.c:279) ==109510== === End of file valgrind568 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/7/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:35671/589 > log/7/stdout589 2> log/7/stderr589 589: 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 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/7/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:35671/589 > log/7/stdout589 2> log/7/stderr589 === End of file commands.log === Start of file http_server.log 17:49:35.650624 ====> Client connect 17:49:35.650661 accept_connection 3 returned 4 17:49:35.650675 accept_connection 3 returned 0 17:49:35.650688 Read 93 bytes 17:49:35.650697 Process 93 bytes request 17:49:35.650709 Got request: GET /verifiedserver HTTP/1.1 17:49:35.650717 Are-we-friendly question received 17:49:35.650742 Wrote request (93 bytes) input to log/7/server.input 17:49:35.650757 Identifying ourselves as friends 17:49:35.650808 Response sent (56 bytes) and written to log/7/server.response 17:49:35.650817 special request received, no persistency 17:49:35.650825 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 58068 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file stderr589 URL: http://127.0.0.1:35671/589 === End of file stderr589 === Start of file valgrind589 ==109441== ==109441== Process terminating with default action of signal 4 (SIGILL) ==109441== Illegal opcode at address 0x51D97AF ==109441== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109441== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109441== by 0x51D97AF: Curl_open (url.c:502) ==109441== by 0x515120F: curl_easy_init (easy.c:365) ==109441== by 0x402252A: test_lib589.lto_priv.0 (lib589.c:36) ==109441== by 0x40034B5: main (first.c:279) ==109441== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==109441== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109441== by 0x51D96BD: Curl_open (url.c:479) ==109441== by 0x515120F: curl_easy_init (easy.c:365) ==109441== by 0x402252A: test_lib589.lto_priv.0 (lib589.c:36) ==109441== by 0x40034B5: main (first.c:279) ==109441== === End of file valgrind589 CMD (33792): ../libtool --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/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:33495/570 > log/8/stdout570 2> log/8/stderr570 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 108380 * pid socks => 108380 108380 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/24/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:39525/path/564 127.0.0.1:35561 > log/24/stdout564 2> log/24/stderr564 564: stdout FAILED: --- log/24/check-expected 2026-01-28 17:49:36.846555432 +0000 +++ log/24/check-generated 2026-01-28 17:49:36.846555432 +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/24/ 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/24/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:39525/path/564 127.0.0.1:35561 > log/24/stdout564 2> log/24/stderr564 === End of file commands.log === Start of file ftp_server.log 17:49:34.707440 ====> Client connect 17:49:34.707834 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:34.709036 < "USER anonymous" 17:49:34.709290 > "331 We are happy you popped in![CR][LF]" 17:49:34.709744 < "PASS ftp@example.com" 17:49:34.709781 > "230 Welcome you silly person[CR][LF]" 17:49:34.710359 < "PWD" 17:49:34.710741 > "257 "/" is current directory[CR][LF]" 17:49:34.711172 < "EPSV" 17:49:34.711201 ====> Passive DATA channel requested by client 17:49:34.711217 DATA sockfilt for passive data channel starting... 17:49:34.713426 DATA sockfilt for passive data channel started (pid 108342) 17:49:34.713744 DATA sockfilt for passive data channel listens on port 41549 17:49:34.713799 > "229 Entering Passive Mode (|||41549|)[CR][LF]" 17:49:34.713822 Client has been notified that DATA conn will be accepted on port 41549 17:49:34.714077 Client connects to port 41549 17:49:34.714112 ====> Client established passive DATA connection on port 41549 17:49:34.714200 < "TYPE I" 17:49:34.714237 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:34.714411 < "SIZE verifiedserver" 17:49:34.714452 > "213 17[CR][LF]" 17:49:34.714621 < "RETR verifiedserver" 17:49:34.714662 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:34.714757 =====> Closing passive DATA connection... 17:49:34.714778 Server disconnects passive DATA connection 17:49:34.715023 Server disconnected passive DATA connection 17:49:34.715055 DATA sockfilt for passive data channel quits (pid 108342) 17:49:34.715285 DATA sockfilt for passive data channel quit (pid 108342) 17:49:34.715313 =====> Closed passive DATA connection 17:49:34.715344 > "226 File transfer complete[CR][LF]" 17:49:34.760343 < "QUIT" 17:49:34.760406 > "221 bye bye baby[CR][LF]" 17:49:34.761897 MAIN sockfilt said DISC 17:49:34.761941 ====> Client disconnected 17:49:34.770358 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:35.553467 ====> Client connect 17:49:35.553943 Received DATA (on stdin) 17:49:35.553963 > 146 bytes data, server => client 17:49:35.553976 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:35.554038 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:35.554055 '220 \___|\___/|_| \_\_____|\r\n' 17:49:35.554828 < 16 bytes data, client => server 17:49:35.554863 'USER anonymous\r\n' 17:49:35.555347 Received DATA (on stdin) 17:49:35.555364 > 33 bytes data, server => client 17:49:35.555376 '331 We are happy you popped in!\r\n' 17:49:35.555813 < 22 bytes data, client => server 17:49:35.555829 'PASS ftp@example.com\r\n' 17:49:35.556044 Received DATA (on stdin) 17:49:35.556084 > 30 bytes data, server => client 17:49:35.556112 '230 Welcome you silly person\r\n' 17:49:35.556385 < 5 bytes data, client => server 17:49:35.556403 'PWD\r\n' 17:49:35.556792 Received DATA (on stdin) 17:49:35.556806 > 30 bytes data, server => client 17:49:35.556825 '257 "/" is current directory\r\n' 17:49:35.557215 < 6 bytes data, client => server 17:49:35.557230 'EPSV\r\n' 17:49:35.560017 Received DATA (on stdin) 17:49:35.560031 > 39 bytes data, server => client 17:49:35.560042 '229 Entering Passive Mode (|||41549|)\r\n' 17:49:35.560179 < 8 bytes data, client => server 17:49:35.560195 'TYPE I\r\n' 17:49:35.560427 Received DATA (on stdin) 17:49:35.560441 > 33 bytes data, server => client 17:49:35.560452 '200 I modify TYPE as you wanted\r\n' 17:49:35.560507 < 21 bytes data, client => server 17:49:35.560520 'SIZE verifiedserver\r\n' 17:49:35.560641 Received DATA (on stdin) 17:49:35.560653 > 8 bytes data, server => client 17:49:35.560664 '213 17\r\n' 17:49:35.560716 < 21 bytes data, client => server 17:49:35.560728 'RETR verifiedserver\r\n' 17:49:35.560969 Received DATA (on stdin) 17:49:35.560983 > 29 bytes data, server => client 17:49:35.560994 '150 Binary junk (17 bytes).\r\n' 17:49:35.561537 Received DATA (on stdin) 17:49:35.561551 > 28 bytes data, server => client 17:49:35.561562 '226 File transfer complete\r\n' 17:49:35.606318 < 6 bytes data, client => server 17:49:35.606341 'QUIT\r\n' 17:49:35.607042 Received DATA (on stdin) 17:49:35.607064 > 18 bytes data, server => client 17:49:35.607075 '221 bye bye baby\r\n' 17:49:35.608020 ====> Client disconnect 17:49:35.608137 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:34.559183 Running IPv4 version 17:49:34.559243 Listening on port 41549 17:49:34.559422 Wrote pid 108342 to log/24/server/ftp_sockdata.pid 17:49:34.559447 Received PING (on stdin) 17:49:34.559643 Received PORT (on stdin) 17:49:34.560215 ====> Client connect 17:49:34.561022 Received DATA (on stdin) 17:49:34.561036 > 17 bytes data, server => client 17:49:34.561050 'WE ROOLZ: 81152\r\n' 17:49:34.561075 Received DISC (on stdin) 17:49:34.561087 ====> Client forcibly disconnected 17:49:34.561254 Received QUIT (on stdin) 17:49:34.561266 quits 17:49:34.561343 ============> 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 17:49:34.614287 Running IPv4 version 17:49:34.614349 Listening on port 35561 17:49:34.615087 Wrote pid 108380 to log/24/server/socks_server.pid 17:49:34.615194 Wrote port 35561 to log/24/server/socks_server.port === End of file socks_server.log === Start of file stderr564 URL: ftp://127.0.0.1:39525/path/564 === End of file stderr564 === Start of file valgrind564 ==109375== ==109375== Process terminating with default action of signal 4 (SIGILL) ==109375== Illegal opcode at address 0x51D97AF ==109375== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109375== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109375== by 0x51D97AF: Curl_open (url.c:502) ==109375== by 0x515120F: curl_easy_init (easy.c:365) ==109375== by 0x4061895: test_lib564.part.0.lto_priv.0 (lib564.c:42) ==109375== by 0x40034B5: main (first.c:279) ==109375== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==109375== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109375== by 0x51D96BD: Curl_open (url.c:479) ==109375== by 0x515120F: curl_easy_init (easy.c:365) ==109375== by 0x4061895: test_lib564.part.0.lto_priv.0 (lib564.c:42) ==109375== by 0x40034B5: main (first.c:279) ==109375== === End of file valgrind564 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfcannot find sshd 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/13/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:38423/569 log/13/idfile569.txt > log/13/stdout569 2> log/13/stderr569 CMD (33792): ../libtool --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/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:40611/571 log/1/protofile571.txt > log/1/stdout571 2> log/1/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/14/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:37569 > log/14/stdout590 2> log/14/stderr590 ile "log/8/server/rtsp_server.pid" --portfile "log/8/server/rtsp_server.port" --logfile "log/8/rtsp_server.log" --logdir "log/8" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108434 port 33495 * pid rtsp => 108434 108434 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/8/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:33495/570 > log/8/stdout570 2> log/8/stderr570 570: 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 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/8/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:33495/570 > log/8/stdout570 2> log/8/stderr570 === End of file commands.log === Start of file rtsp_server.log 17:49:34.718527 Running IPv4 version on port 33495 17:49:34.718627 Wrote pid 108434 to log/8/server/rtsp_server.pid 17:49:34.718658 Wrote port 33495 to log/8/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 stderr570 URL: rtsp://127.0.0.1:33495/570 === End of file stderr570 === Start of file valgrind570 ==109588== ==109588== Process terminating with default action of signal 4 (SIGILL) ==109588== Illegal opcode at address 0x51D97AF ==109588== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109588== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109588== by 0x51D97AF: Curl_open (url.c:502) ==109588== by 0x515120F: curl_easy_init (easy.c:365) ==109588== by 0x401EECA: test_lib570.lto_priv.0 (lib570.c:40) ==109588== by 0x40034B5: main (first.c:279) ==109588== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==109588== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109588== by 0x51D96BD: Curl_open (url.c:479) ==109588== by 0x515120F: curl_easy_init (easy.c:365) ==109588== by 0x401EECA: test_lib570.lto_priv.0 (lib570.c:40) ==109588== by 0x40034B5: main (first.c:279) ==109588== === End of file valgrind570 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 108427 port 38423 * pid rtsp => 108427 108427 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/13/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:38423/569 log/13/idfile569.txt > log/13/stdout569 2> log/13/stderr569 569: 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 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/13/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:38423/569 log/13/idfile569.txt > log/13/stdout569 2> log/13/stderr569 === End of file commands.log === Start of file rtsp_server.log 17:49:34.696590 Running IPv4 version on port 38423 17:49:34.696708 Wrote pid 108427 to log/13/server/rtsp_server.pid 17:49:34.696743 Wrote port 38423 to log/13/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 stderr569 URL: rtsp://127.0.0.1:38423/569 === End of file stderr569 === Start of file valgrind569 ==109531== ==109531== Process terminating with default action of signal 4 (SIGILL) ==109531== Illegal opcode at address 0x51D97AF ==109531== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109531== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109531== by 0x51D97AF: Curl_open (url.c:502) ==109531== by 0x515120F: curl_easy_init (easy.c:365) ==109531== by 0x401EB5E: test_lib569.lto_priv.0 (lib569.c:52) ==109531== by 0x40034B5: main (first.c:279) ==109531== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==109531== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109531== by 0x51D96BD: Curl_open (url.c:479) ==109531== by 0x515120F: curl_easy_init (easy.c:365) ==109531== by 0x401EB5E: test_lib569.lto_priv.0 (lib569.c:52) ==109531== by 0x40034B5: main (first.c:279) ==109531== === End of file valgrind569 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/1/server/rtsp_server.pid" --portfile "log/1/server/rtsp_server.port" --logfile "log/1/rtsp_server.log" --logdir "log/1" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108490 port 40611 * pid rtsp => 108490 108490 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/1/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:40611/571 log/1/protofile571.txt > log/1/stdout571 2> log/1/stderr571 571: stdout FAILED: --- log/1/check-expected 2026-01-28 17:49:36.953222099 +0000 +++ log/1/check-generated 2026-01-28 17:49:36.953222099 +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/1/ 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/1/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:40611/571 log/1/protofile571.txt > log/1/stdout571 2> log/1/stderr571 === End of file commands.log === Start of file rtsp_server.log 17:49:34.828108 Running IPv4 version on port 40611 17:49:34.828217 Wrote pid 108490 to log/1/server/rtsp_server.pid 17:49:34.828254 Wrote port 40611 to log/1/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 stderr571 URL: rtsp://127.0.0.1:40611/571 === End of file stderr571 === Start of file valgrind571 ==109802== ==109802== Process terminating with default action of signal 4 (SIGILL) ==109802== Illegal opcode at address 0x51D97AF ==109802== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109802== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109802== by 0x51D97AF: Curl_open (url.c:502) ==109802== by 0x515120F: curl_easy_init (easy.c:365) ==109802== by 0x401F20E: test_lib571.lto_priv.0 (lib571.c:109) ==109802== by 0x40034B5: main (first.c:279) ==109802== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==109802== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109802== by 0x51D96BD: Curl_open (url.c:479) ==109802== by 0x515120F: curl_easy_init (easy.c:365) ==109802== by 0x401F20E: test_lib571.lto_priv.0 (lib571.c:109) ==109802== by 0x40034B5: main (first.c:279) ==109802== === End of file valgrind571 test 0590...[HTTP proxy offers Negotiate+NTLM, use only NTLM] ../libtool --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/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:37569 > log/14/stdout590 2> log/14/stderr590 590: 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 590 === Start of file commands.log ../libtool --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/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:37569 > log/14/stdout590 2> log/14/stderr590 === End of file commands.log === Start of file http_server.log 17:49:36.769170 ====> Client connect 17:49:36.769208 accept_connection 3 returned 4 17:49:36.769225 accept_connection 3 returned 0 17:49:36.769238 Read 93 bytes 17:49:36.769247 Process 93 bytes request 17:49:36.769260 Got request: GET /verifiedserver HTTP/1.1 17:49:36.769268 Are-we-friendly question received 17:49:36.769290 Wrote request (93 bytes) input to log/14/server.input 17:49:36.769305 Identifying ourselves as friends 17:49:36.769355 Response sent (56 bytes) and written to log/14/server.response 17:49:36.769364 special request received, no persistency 17:49:36.769372 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43536 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === End of file http_verify.out === Start of file server.cmd Testnum 590 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74822 === End of file server.response === Start of file stderr590 URL: http://test.remote.example.com/path/590 === End of file stderr590 === Start of file valgrind590 ==109734== ==109734== Process terminating with default action of signal 4 (SIGILL) ==109734== Illegal opcode at address 0x51D97AF ==109734== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109734== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109734== by 0x51D97AF: Curl_open (url.c:502) ==109734== by 0x515120F: curl_easy_init (easy.c:365) ==109734== by 0x402297F: test_lib590.lto_priv.0 (lib590.c:51) ==109734== by 0x40034B5: main (first.c:279) ==109734== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==109734== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109734== by 0x51D96BD: Curl_open (url.c:479) ==109734== by 0x515120F: curl_easy_init (easy.c:365) ==109734== by 0x402297F: test_lib590.lto_priv.0 (lib590.c:51) ==109734== by 0x40034B5: main (first.c:279) ==10973cannot 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/2/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:41351/572 log/2/file572.txt > log/2/stdout572 2> log/2/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/4/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:40307/path/591 8 log/4/upload591 > log/4/stdout591 2> log/4/stderr591 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/20/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:35215/path/592 8 log/20/upload592 > log/20/stdout592 2> log/20/stderr592 4== === End of file valgrind590 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 108493 port 41351 * pid rtsp => 108493 108493 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/2/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:41351/572 log/2/file572.txt > log/2/stdout572 2> log/2/stderr572 572: 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 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/2/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:41351/572 log/2/file572.txt > log/2/stdout572 2> log/2/stderr572 === End of file commands.log === Start of file file572.txt scale speed === End of file file572.txt === Start of file rtsp_server.log 17:49:34.837652 Running IPv4 version on port 41351 17:49:34.837762 Wrote pid 108493 to log/2/server/rtsp_server.pid 17:49:34.837796 Wrote port 41351 to log/2/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 stderr572 URL: rtsp://127.0.0.1:41351/572 === End of file stderr572 === Start of file valgrind572 ==109813== ==109813== Process terminating with default action of signal 4 (SIGILL) ==109813== Illegal opcode at address 0x51D97AF ==109813== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109813== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109813== by 0x51D97AF: Curl_open (url.c:502) ==109813== by 0x515120F: curl_easy_init (easy.c:365) ==109813== by 0x401FC1E: test_lib572.lto_priv.0 (lib572.c:48) ==109813== by 0x40034B5: main (first.c:279) ==109813== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==109813== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109813== by 0x51D96BD: Curl_open (url.c:479) ==109813== by 0x515120F: curl_easy_init (easy.c:365) ==109813== by 0x401FC1E: test_lib572.lto_priv.0 (lib572.c:48) ==109813== by 0x40034B5: main (first.c:279) ==109813== === 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/4/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:40307/path/591 8 log/4/upload591 > log/4/stdout591 2> log/4/stderr591 591: 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 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/4/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:40307/path/591 8 log/4/upload591 > log/4/stdout591 2> log/4/stderr591 === End of file commands.log === Start of file ftp_server.log 17:49:35.931182 ====> Client connect 17:49:35.931361 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:35.931660 < "USER anonymous" 17:49:35.931698 > "331 We are happy you popped in![CR][LF]" 17:49:35.931875 < "PASS ftp@example.com" 17:49:35.931904 > "230 Welcome you silly person[CR][LF]" 17:49:35.932071 < "PWD" 17:49:35.932110 > "257 "/" is current directory[CR][LF]" 17:49:35.932288 < "EPSV" 17:49:35.932317 ====> Passive DATA channel requested by client 17:49:35.932333 DATA sockfilt for passive data channel starting... 17:49:35.934219 DATA sockfilt for passive data channel started (pid 109728) 17:49:35.934337 DATA sockfilt for passive data channel listens on port 46411 17:49:35.934383 > "229 Entering Passive Mode (|||46411|)[CR][LF]" 17:49:35.934403 Client has been notified that DATA conn will be accepted on port 46411 17:49:35.934670 Client connects to port 46411 17:49:35.934701 ====> Client established passive DATA connection on port 46411 17:49:35.934786 < "TYPE I" 17:49:35.934817 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:35.934991 < "SIZE verifiedserver" 17:49:35.935035 > "213 17[CR][LF]" 17:49:35.935206 < "RETR verifiedserver" 17:49:35.935243 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:35.935322 =====> Closing passive DATA connection... 17:49:35.935339 Server disconnects passive DATA connection 17:49:35.935475 Server disconnected passive DATA connection 17:49:35.935500 DATA sockfilt for passive data channel quits (pid 109728) 17:49:35.935728 DATA sockfilt for passive data channel quit (pid 109728) 17:49:35.935751 =====> Closed passive DATA connection 17:49:35.935775 > "226 File transfer complete[CR][LF]" 17:49:35.977012 < "QUIT" 17:49:35.977066 > "221 bye bye baby[CR][LF]" 17:49:35.978584 MAIN sockfilt said DISC 17:49:35.978632 ====> Client disconnected 17:49:35.978708 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:35.777238 ====> Client connect 17:49:35.777564 Received DATA (on stdin) 17:49:35.777579 > 146 bytes data, server => client 17:49:35.777592 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:35.777603 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:35.777613 '220 \___|\___/|_| \_\_____|\r\n' 17:49:35.777690 < 16 bytes data, client => server 17:49:35.777705 'USER anonymous\r\n' 17:49:35.777889 Received DATA (on stdin) 17:49:35.777902 > 33 bytes data, server => client 17:49:35.777913 '331 We are happy you popped in!\r\n' 17:49:35.777966 < 22 bytes data, client => server 17:49:35.777979 'PASS ftp@example.com\r\n' 17:49:35.778092 Received DATA (on stdin) 17:49:35.778104 > 30 bytes data, server => client 17:49:35.778114 '230 Welcome you silly person\r\n' 17:49:35.778165 < 5 bytes data, client => server 17:49:35.778177 'PWD\r\n' 17:49:35.778299 Received DATA (on stdin) 17:49:35.778311 > 30 bytes data, server => client 17:49:35.778321 '257 "/" is current directory\r\n' 17:49:35.778383 < 6 bytes data, client => server 17:49:35.778396 'EPSV\r\n' 17:49:35.780596 Received DATA (on stdin) 17:49:35.780610 > 39 bytes data, server => client 17:49:35.780621 '229 Entering Passive Mode (|||46411|)\r\n' 17:49:35.780801 < 8 bytes data, client => server 17:49:35.780813 'TYPE I\r\n' 17:49:35.781005 Received DATA (on stdin) 17:49:35.781018 > 33 bytes data, server => client 17:49:35.781030 '200 I modify TYPE as you wanted\r\n' 17:49:35.781085 < 21 bytes data, client => server 17:49:35.781098 'SIZE verifiedserver\r\n' 17:49:35.781218 Received DATA (on stdin) 17:49:35.781239 > 8 bytes data, server => client 17:49:35.781249 '213 17\r\n' 17:49:35.781303 < 21 bytes data, client => server 17:49:35.781314 'RETR verifiedserver\r\n' 17:49:35.781525 Received DATA (on stdin) 17:49:35.781537 > 29 bytes data, server => client 17:49:35.781547 '150 Binary junk (17 bytes).\r\n' 17:49:35.781960 Received DATA (on stdin) 17:49:35.781971 > 28 bytes data, server => client 17:49:35.781981 '226 File transfer complete\r\n' 17:49:35.823036 < 6 bytes data, client => server 17:49:35.823061 'QUIT\r\n' 17:49:35.823260 Received DATA (on stdin) 17:49:35.823273 > 18 bytes data, server => client 17:49:35.823284 '221 bye bye baby\r\n' 17:49:35.824510 ====> Client disconnect 17:49:35.824901 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:35.780086 Running IPv4 version 17:49:35.780149 Listening on port 46411 17:49:35.780190 Wrote pid 109728 to log/4/server/ftp_sockdata.pid 17:49:35.780337 Received PING (on stdin) 17:49:35.780436 Received PORT (on stdin) 17:49:35.780771 ====> Client connect 17:49:35.781442 Received DATA (on stdin) 17:49:35.781458 > 17 bytes data, server => client 17:49:35.781469 'WE ROOLZ: 80996\r\n' 17:49:35.781525 Received DISC (on stdin) 17:49:35.781539 ====> Client forcibly disconnected 17:49:35.781693 Received QUIT (on stdin) 17:49:35.781704 quits 17:49:35.781774 ============> 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 stderr591 URL: ftp://127.0.0.1:40307/path/591 === End of file stderr591 === Start of file upload591 Moooooooooooo for 591 upload this === End of file upload591 === Start of file valgrind591 ==109972== ==109972== Process terminating with default action of signal 4 (SIGILL) ==109972== Illegal opcode at address 0x51D97AF ==109972== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109972== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109972== by 0x51D97AF: Curl_open (url.c:502) ==109972== by 0x515120F: curl_easy_init (easy.c:365) ==109972== by 0x4022FF5: test_lib591.lto_priv.0 (lib591.c:59) ==109972== by 0x40034B5: main (first.c:279) ==109972== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==109972== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109972== by 0x51D96BD: Curl_open (url.c:479) ==109972== by 0x515120F: curl_easy_init (easy.c:365) ==109972== by 0x4022FF5: test_lib591.lto_priv.0 (lib591.c:59) ==109972== by 0x40034B5: main (first.c:279) ==109972== === 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/20/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:35215/path/592 8 log/20/upload592 > log/20/stdout592 2> log/20/stderr592 592: 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 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/20/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:35215/path/592 8 log/20/upload592 > log/20/stdout592 2> log/20/stderr592 === End of file commands.log === Start of file ftp_server.log 17:49:35.937663 ====> Client connect 17:49:35.937814 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:35.938080 < "USER anonymous" 17:49:35.938117 > "331 We are happy you popped in![CR][LF]" 17:49:35.938272 < "PASS ftp@example.com" 17:49:35.938297 > "230 Welcome you silly person[CR][LF]" 17:49:35.938439 < "PWD" 17:49:35.938468 > "257 "/" is current directory[CR][LF]" 17:49:35.938636 < "EPSV" 17:49:35.938661 ====> Passive DATA channel requested by client 17:49:35.938675 DATA sockfilt for passive data channel starting... 17:49:35.940596 DATA sockfilt for passive data channel started (pid 109731) 17:49:35.940835 DATA sockfilt for passive data channel listens on port 44353 17:49:35.940887 > "229 Entering Passive Mode (|||44353|)[CR][LF]" 17:49:35.940907 Client has been notified that DATA conn will be accepted on port 44353 17:49:35.941086 Client connects to port 44353 17:49:35.941111 ====> Client established passive DATA connection on port 44353 17:49:35.941250 < "TYPE I" 17:49:35.941287 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:35.941477 < "SIZE verifiedserver" 17:49:35.941521 > "213 17[CR][LF]" 17:49:35.941662 < "RETR verifiedserver" 17:49:35.941694 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:35.941775 =====> Closing passive DATA connection... 17:49:35.941792 Server disconnects passive DATA connection 17:49:35.941865 Server disconnected passive DATA connection 17:49:35.941883 DATA sockfilt for passive data channel quits (pid 109731) 17:49:35.942113 DATA sockfilt for passive data channel quit (pid 109731) 17:49:35.942135 =====> Closed passive DATA connection 17:49:35.942162 > "226 File transfer complete[CR][LF]" 17:49:35.987492 < "QUIT" 17:49:35.987553 > "221 bye bye baby[CR][LF]" 17:49:35.987885 MAIN sockfilt said DISC 17:49:35.987929 ====> Client disconnected 17:49:35.988008 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:35.783748 ====> Client connect 17:49:35.784011 Received DATA (on stdin) 17:49:35.784024 > 146 bytes data, server => client 17:49:35.784035 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:35.784045 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:35.784054 '220 \___|\___/|_| \_\_____|\r\n' 17:49:35.784124 < 16 bytes data, client => server 17:49:35.784136 'USER anonymous\r\n' 17:49:35.784305 Received DATA (on stdin) 17:49:35.784315 > 33 bytes data, server => client 17:49:35.784326 '331 We are happy you popped in!\r\n' 17:49:35.784374 < 22 bytes data, client => server 17:49:35.784384 'PASS ftp@example.com\r\n' 17:49:35.784481 Received DATA (on stdin) 17:49:35.784492 > 30 bytes data, server => client 17:49:35.784502 '230 Welcome you silly person\r\n' 17:49:35.784547 < 5 bytes data, client => server 17:49:35.784557 'PWD\r\n' 17:49:35.784653 Received DATA (on stdin) 17:49:35.784675 > 30 bytes data, server => client 17:49:35.784686 '257 "/" is current directory\r\n' 17:49:35.784742 < 6 bytes data, client => server 17:49:35.784752 'EPSV\r\n' 17:49:35.787055 Received DATA (on stdin) 17:49:35.787075 > 39 bytes data, server => client 17:49:35.787088 '229 Entering Passive Mode (|||44353|)\r\n' 17:49:35.787249 < 8 bytes data, client => server 17:49:35.787260 'TYPE I\r\n' 17:49:35.787479 Received DATA (on stdin) 17:49:35.787497 > 33 bytes data, server => client 17:49:35.787508 '200 I modify TYPE as you wanted\r\n' 17:49:35.787582 < 21 bytes data, client => server 17:49:35.787593 'SIZE verifiedserver\r\n' 17:49:35.787706 Received DATA (on stdin) 17:49:35.787716 > 8 bytes data, server => client 17:49:35.787725 '213 17\r\n' 17:49:35.787771 < 21 bytes data, client => server 17:49:35.787780 'RETR verifiedserver\r\n' 17:49:35.787963 Received DATA (on stdin) 17:49:35.787978 > 29 bytes data, server => client 17:49:35.787988 '150 Binary junk (17 bytes).\r\n' 17:49:35.788350 Received DATA (on stdin) 17:49:35.788364 > 28 bytes data, server => client 17:49:35.788375 '226 File transfer complete\r\n' 17:49:35.833479 < 6 bytes data, client => server 17:49:35.833509 'QUIT\r\n' 17:49:35.833749 Received DATA (on stdin) 17:49:35.833763 > 18 bytes data, server => client 17:49:35.833774 '221 bye bye baby\r\n' 17:49:35.833998 ====> Client disconnect 17:49:35.834194 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:35.786445 Running IPv4 version 17:49:35.786508 Listening on port 44353 17:49:35.786555 Wrote pid 109731 to log/20/server/ftp_sockdata.pid 17:49:35.786710 Received PING (on stdin) 17:49:35.786868 Received PORT (on stdin) 17:49:35.787214 ====> Client connect 17:49:35.787891 Received DATA (on stdin) 17:49:35.787904 > 17 bytes data, server => client 17:49:35.787918 'WE ROOLZ: 81259\r\n' 17:49:35.787985 Received DISC (on stdin) 17:49:35.788001 ====> Client forcibly disconnected 17:49:35.788070 Received QUIT (on stdin) 17:49:35.788078 quits 17:49:35.788138 ============> 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 stderr592 URL: ftp://127.0.0.1:35215/path/592 === End of file stderr592 === Start of file upload592 MooooooCMD (33792): ../libtool --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/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:40075/path/593 8 log/19/upload593 > log/19/stdout593 2> log/19/stderr593 oooooo for 592 upload this === End of file upload592 === Start of file valgrind592 ==109842== ==109842== Process terminating with default action of signal 4 (SIGILL) ==109842== Illegal opcode at address 0x51D97AF ==109842== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109842== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109842== by 0x51D97AF: Curl_open (url.c:502) ==109842== by 0x515120F: curl_easy_init (easy.c:365) ==109842== by 0x4022FF5: test_lib591.lto_priv.0 (lib591.c:59) ==109842== by 0x40034B5: main (first.c:279) ==109842== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==109842== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109842== by 0x51D96BD: Curl_open (url.c:479) ==109842== by 0x515120F: curl_easy_init (easy.c:365) ==109842== by 0x4022FF5: test_lib591.lto_priv.0 (lib591.c:59) ==109842== by 0x40034B5: main (first.c:279) ==109842== === End of file valgrind592 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/19/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:40075/path/593 8 log/19/upload593 > log/19/stdout593 2> log/19/stderr593 593: 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 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/19/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:40075/path/593 8 log/19/upload593 > log/19/stdout593 2> log/19/stderr593 === End of file commands.log === Start of file ftp_server.log 17:49:35.969414 ====> Client connect 17:49:35.969575 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:35.969841 < "USER anonymous" 17:49:35.969877 > "331 We are happy you popped in![CR][LF]" 17:49:35.970041 < "PASS ftp@example.com" 17:49:35.970066 > "230 Welcome you silly person[CR][LF]" 17:49:35.970203 < "PWD" 17:49:35.970232 > "257 "/" is current directory[CR][LF]" 17:49:35.970375 < "EPSV" 17:49:35.970399 ====> Passive DATA channel requested by client 17:49:35.970413 DATA sockfilt for passive data channel starting... 17:49:35.971927 DATA sockfilt for passive data channel started (pid 109792) 17:49:35.972034 DATA sockfilt for passive data channel listens on port 46385 17:49:35.972073 > "229 Entering Passive Mode (|||46385|)[CR][LF]" 17:49:35.972091 Client has been notified that DATA conn will be accepted on port 46385 17:49:35.972300 Client connects to port 46385 17:49:35.972329 ====> Client established passive DATA connection on port 46385 17:49:35.972400 < "TYPE I" 17:49:35.972431 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:35.972577 < "SIZE verifiedserver" 17:49:35.972613 > "213 17[CR][LF]" 17:49:35.972750 < "RETR verifiedserver" 17:49:35.972783 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:35.972864 =====> Closing passive DATA connection... 17:49:35.972880 Server disconnects passive DATA connection 17:49:35.973089 Server disconnected passive DATA connection 17:49:35.973116 DATA sockfilt for passive data channel quits (pid 109792) 17:49:35.973317 DATA sockfilt for passive data channel quit (pid 109792) 17:49:35.973346 =====> Closed passive DATA connection 17:49:35.973374 > "226 File transfer complete[CR][LF]" 17:49:36.013682 < "QUIT" 17:49:36.013746 > "221 bye bye baby[CR][LF]" 17:49:36.013948 MAIN sockfilt said DISC 17:49:36.014001 ====> Client disconnected 17:49:36.014093 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:35.815468 ====> Client connect 17:49:35.815773 Received DATA (on stdin) 17:49:35.815787 > 146 bytes data, server => client 17:49:35.815798 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:35.815809 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:35.815819 '220 \___|\___/|_| \_\_____|\r\n' 17:49:35.815889 < 16 bytes data, client => server 17:49:35.815899 'USER anonymous\r\n' 17:49:35.816066 Received DATA (on stdin) 17:49:35.816076 > 33 bytes data, server => client 17:49:35.816086 '331 We are happy you popped in!\r\n' 17:49:35.816134 < 22 bytes data, client => server 17:49:35.816144 'PASS ftp@example.com\r\n' 17:49:35.816250 Received DATA (on stdin) 17:49:35.816260 > 30 bytes data, server => client 17:49:35.816270 '230 Welcome you silly person\r\n' 17:49:35.816315 < 5 bytes data, client => server 17:49:35.816324 'PWD\r\n' 17:49:35.816416 Received DATA (on stdin) 17:49:35.816426 > 30 bytes data, server => client 17:49:35.816436 '257 "/" is current directory\r\n' 17:49:35.816487 < 6 bytes data, client => server 17:49:35.816496 'EPSV\r\n' 17:49:35.818280 Received DATA (on stdin) 17:49:35.818292 > 39 bytes data, server => client 17:49:35.818303 '229 Entering Passive Mode (|||46385|)\r\n' 17:49:35.818410 < 8 bytes data, client => server 17:49:35.818423 'TYPE I\r\n' 17:49:35.818616 Received DATA (on stdin) 17:49:35.818627 > 33 bytes data, server => client 17:49:35.818637 '200 I modify TYPE as you wanted\r\n' 17:49:35.818684 < 21 bytes data, client => server 17:49:35.818695 'SIZE verifiedserver\r\n' 17:49:35.818797 Received DATA (on stdin) 17:49:35.818808 > 8 bytes data, server => client 17:49:35.818817 '213 17\r\n' 17:49:35.818861 < 21 bytes data, client => server 17:49:35.818871 'RETR verifiedserver\r\n' 17:49:35.819067 Received DATA (on stdin) 17:49:35.819077 > 29 bytes data, server => client 17:49:35.819087 '150 Binary junk (17 bytes).\r\n' 17:49:35.819561 Received DATA (on stdin) 17:49:35.819573 > 28 bytes data, server => client 17:49:35.819584 '226 File transfer complete\r\n' 17:49:35.859663 < 6 bytes data, client => server 17:49:35.859691 'QUIT\r\n' 17:49:35.859940 Received DATA (on stdin) 17:49:35.859953 > 18 bytes data, server => client 17:49:35.859963 '221 bye bye baby\r\n' 17:49:35.860058 ====> Client disconnect 17:49:35.860280 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:35.817940 Running IPv4 version 17:49:35.817999 Listening on port 46385 17:49:35.818036 Wrote pid 109792 to log/19/server/ftp_sockdata.pid 17:49:35.818055 Received PING (on stdin) 17:49:35.818138 Received PORT (on stdin) 17:49:35.818442 ====> Client connect 17:49:35.819110 Received DATA (on stdin) 17:49:35.819122 > 17 bytes data, server => client 17:49:35.819132 'WE ROOLZ: 81054\r\n' 17:49:35.819153 Received DISC (on stdin) 17:49:35.819164 ====> Client forcibly disconnected 17:49:35.819309 Received QUIT (on stdin) 17:49:35.819320 quits 17:49:35.819383 ============> 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 stderr593 URL: ftp://127.0.0.1:40075/path/593 === End of file stderr593 === Start of file upload593 Moooooooooooo for 593 upload this === End of file upload593 === Start of file valgrind593 ==109934== ==109934== Process terminating with default action of signal 4 (SIGILL) ==109934== Illegal opcode at address 0x51D97AF ==109934== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==109934== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109934== by 0x51D97AF: Curl_open (url.c:502) ==109934== by 0x515120F: curl_easy_init (easy.c:365) ==109934== by 0x4022FF5: test_lib591.lto_priv.0 (lib591.c:59) ==109934== by 0x40034B5: main (first.c:279) ==109934== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==109934== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109934== by 0x51D96BD: Curl_open (url.c:479) ==109934== by 0x515120F: curl_easy_initcannot 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/5/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:36747/577 > log/5/stdout577 2> log/5/stderr577 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/10/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:41693/595 log/10/ip595 > log/10/stdout595 2> log/10/stderr595 (easy.c:365) ==109934== by 0x4022FF5: test_lib591.lto_priv.0 (lib591.c:59) ==109934== by 0x40034B5: main (first.c:279) ==109934== === End of file valgrind593 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/5/server/rtsp_server.pid" --portfile "log/5/server/rtsp_server.port" --logfile "log/5/rtsp_server.log" --logdir "log/5" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108617 port 36747 * pid rtsp => 108617 108617 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/5/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:36747/577 > log/5/stdout577 2> log/5/stderr577 577: 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 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/5/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:36747/577 > log/5/stdout577 2> log/5/stderr577 === End of file commands.log === Start of file rtsp_server.log 17:49:35.932178 Running IPv4 version on port 36747 17:49:35.932274 Wrote pid 108617 to log/5/server/rtsp_server.pid 17:49:35.932307 Wrote port 36747 to log/5/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 stderr577 URL: rtsp://127.0.0.1:36747/577 === End of file stderr577 === Start of file valgrind577 ==110058== ==110058== Process terminating with default action of signal 4 (SIGILL) ==110058== Illegal opcode at address 0x51D97AF ==110058== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==110058== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==110058== by 0x51D97AF: Curl_open (url.c:502) ==110058== by 0x515120F: curl_easy_init (easy.c:365) ==110058== by 0x40146CA: test_lib567.lto_priv.0 (lib567.c:40) ==110058== by 0x40034B5: main (first.c:279) ==110058== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==110058== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110058== by 0x51D96BD: Curl_open (url.c:479) ==110058== by 0x515120F: curl_easy_init (easy.c:365) ==110058== by 0x40146CA: test_lib567.lto_priv.0 (lib567.c:40) ==110058== by 0x40034B5: main (first.c:279) ==110058== === End of file valgrind577 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/10/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:41693/595 log/10/ip595 > log/10/stdout595 2> log/10/stderr595 595: 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 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/10/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:41693/595 log/10/ip595 > log/10/stdout595 2> log/10/stderr595 === End of file commands.log === Start of file ftp_server.log 17:49:36.295047 ====> Client connect 17:49:36.295193 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:36.295682 < "USER anonymous" 17:49:36.295719 > "331 We are happy you popped in![CR][LF]" 17:49:36.295879 < "PASS ftp@example.com" 17:49:36.295907 > "230 Welcome you silly person[CR][LF]" 17:49:36.296057 < "PWD" 17:49:36.296088 > "257 "/" is current directory[CR][LF]" 17:49:36.296245 < "EPSV" 17:49:36.296268 ====> Passive DATA channel requested by client 17:49:36.296282 DATA sockfilt for passive data channel starting... 17:49:36.297675 DATA sockfilt for passive data channel started (pid 110157) 17:49:36.297754 DATA sockfilt for passive data channel listens on port 43991 17:49:36.297788 > "229 Entering Passive Mode (|||43991|)[CR][LF]" 17:49:36.297803 Client has been notified that DATA conn will be accepted on port 43991 17:49:36.297979 Client connects to port 43991 17:49:36.298006 ====> Client established passive DATA connection on port 43991 17:49:36.298110 < "TYPE I" 17:49:36.298141 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:36.298289 < "SIZE verifiedserver" 17:49:36.298324 > "213 17[CR][LF]" 17:49:36.298470 < "RETR verifiedserver" 17:49:36.298503 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:36.298585 =====> Closing passive DATA connection... 17:49:36.298603 Server disconnects passive DATA connection 17:49:36.298816 Server disconnected passive DATA connection 17:49:36.298843 DATA sockfilt for passive data channel quits (pid 110157) 17:49:36.299090 DATA sockfilt for passive data channel quit (pid 110157) 17:49:36.299115 =====> Closed passive DATA connection 17:49:36.299140 > "226 File transfer complete[CR][LF]" 17:49:36.340406 < "QUIT" 17:49:36.340465 > "221 bye bye baby[CR][LF]" 17:49:36.341797 MAIN sockfilt said DISC 17:49:36.341831 ====> Client disconnected 17:49:36.341922 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:36.141138 ====> Client connect 17:49:36.141393 Received DATA (on stdin) 17:49:36.141407 > 146 bytes data, server => client 17:49:36.141419 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:36.141429 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:36.141439 '220 \___|\___/|_| \_\_____|\r\n' 17:49:36.141510 < 16 bytes data, client => server 17:49:36.141522 'USER anonymous\r\n' 17:49:36.141908 Received DATA (on stdin) 17:49:36.141919 > 33 bytes data, server => client 17:49:36.141930 '331 We are happy you popped in!\r\n' 17:49:36.141980 < 22 bytes data, client => server 17:49:36.141990 'PASS ftp@example.com\r\n' 17:49:36.142093 Received DATA (on stdin) 17:49:36.142104 > 30 bytes data, server => client 17:49:36.142114 '230 Welcome you silly person\r\n' 17:49:36.142161 < 5 bytes data, client => server 17:49:36.142171 'PWD\r\n' 17:49:36.142272 Received DATA (on stdin) 17:49:36.142283 > 30 bytes data, server => client 17:49:36.142293 '257 "/" is current directory\r\n' 17:49:36.142348 < 6 bytes data, client => server 17:49:36.142360 'EPSV\r\n' 17:49:36.143989 Received DATA (on stdin) 17:49:36.144002 > 39 bytes data, server => client 17:49:36.144011 '229 Entering Passive Mode (|||43991|)\r\n' 17:49:36.144203 < 8 bytes data, client => server 17:49:36.144214 'TYPE I\r\n' 17:49:36.144327 Received DATA (on stdin) 17:49:36.144337 > 33 bytes data, server => client 17:49:36.144346 '200 I modify TYPE as you wanted\r\n' 17:49:36.144395 < 21 bytes data, client => server 17:49:36.144405 'SIZE verifiedserver\r\n' 17:49:36.144511 Received DATA (on stdin) 17:49:36.144522 > 8 bytes data, server => client 17:49:36.144530 '213 17\r\n' 17:49:36.144576 < 21 bytes data, client => server 17:49:36.144587 'RETR verifiedserver\r\n' 17:49:36.144791 Received DATA (on stdin) 17:49:36.144802 > 29 bytes data, server => client 17:49:36.144811 '150 Binary junk (17 bytes).\r\n' 17:49:36.145326 Received DATA (on stdin) 17:49:36.145338 > 28 bytes data, server => client 17:49:36.145348 '226 File transfer complete\r\n' 17:49:36.186404 < 6 bytes data, client => server 17:49:36.186432 'QUIT\r\n' 17:49:36.186656 Received DATA (on stdin) 17:49:36.186668 > 18 bytes data, server => client 17:49:36.186679 '221 bye bye baby\r\n' 17:49:36.187929 ====> Client disconnect 17:49:36.189069 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:36.143638 Running IPv4CMD (33792): ../libtool --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/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:36641/599 log/12/ip599 > log/12/stdout599 2> log/12/stderr599 version 17:49:36.143679 Listening on port 43991 17:49:36.143709 Wrote pid 110157 to log/10/server/ftp_sockdata.pid 17:49:36.143815 Received PING (on stdin) 17:49:36.143873 Received PORT (on stdin) 17:49:36.144115 ====> Client connect 17:49:36.144835 Received DATA (on stdin) 17:49:36.144848 > 17 bytes data, server => client 17:49:36.144859 'WE ROOLZ: 81055\r\n' 17:49:36.144881 Received DISC (on stdin) 17:49:36.144893 ====> Client forcibly disconnected 17:49:36.145037 Received QUIT (on stdin) 17:49:36.145048 quits 17:49:36.145149 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 595 === End of file server.cmd === Start of file stderr595 URL: ftp://127.0.0.1:41693/595 === End of file stderr595 === Start of file valgrind595 ==110228== ==110228== Process terminating with default action of signal 4 (SIGILL) ==110228== Illegal opcode at address 0x51D97AF ==110228== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==110228== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==110228== by 0x51D97AF: Curl_open (url.c:502) ==110228== by 0x515120F: curl_easy_init (easy.c:365) ==110228== by 0x4009B81: test_lib500.lto_priv.0 (lib500.c:65) ==110228== by 0x40034B5: main (first.c:279) ==110228== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==110228== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110228== by 0x51D96BD: Curl_open (url.c:479) ==110228== by 0x515120F: curl_easy_init (easy.c:365) ==110228== by 0x4009B81: test_lib500.lto_priv.0 (lib500.c:65) ==110228== by 0x40034B5: main (first.c:279) ==110228== === End of file valgrind595 CMD (33792): ../libtool --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/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:39205/596 log/16/ip596 activeftp > log/16/stdout596 2> log/16/stderr596 CMD (33792): ../libtool --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:42747/598 > log/6/stdout598 2> log/6/stderr598 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/12/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:36641/599 log/12/ip599 > log/12/stdout599 2> log/12/stderr599 599: data FAILED: --- log/12/check-expected 2026-01-28 17:49:37.236555432 +0000 +++ log/12/check-generated 2026-01-28 17:49:37.236555432 +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/12/ 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/12/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:36641/599 log/12/ip599 > log/12/stdout599 2> log/12/stderr599 === End of file commands.log === Start of file http_server.log 17:49:36.179793 ====> Client connect 17:49:36.179822 accept_connection 3 returned 4 17:49:36.179838 accept_connection 3 returned 0 17:49:36.179851 Read 93 bytes 17:49:36.179860 Process 93 bytes request 17:49:36.179871 Got request: GET /verifiedserver HTTP/1.1 17:49:36.179880 Are-we-friendly question received 17:49:36.179904 Wrote request (93 bytes) input to log/12/server.input 17:49:36.179920 Identifying ourselves as friends 17:49:36.179975 Response sent (56 bytes) and written to log/12/server.response 17:49:36.179984 special request received, no persistency 17:49:36.179993 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 33036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file stderr599 URL: http://127.0.0.1:36641/599 === End of file stderr599 === Start of file valgrind599 ==110219== ==110219== Process terminating with default action of signal 4 (SIGILL) ==110219== Illegal opcode at address 0x51D97AF ==110219== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==110219== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==110219== by 0x51D97AF: Curl_open (url.c:502) ==110219== by 0x515120F: curl_easy_init (easy.c:365) ==110219== by 0x4022B7F: test_lib599.lto_priv.0 (lib599.c:53) ==110219== by 0x40034B5: main (first.c:279) ==110219== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==110219== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110219== by 0x51D96BD: Curl_open (url.c:479) ==110219== by 0x515120F: curl_easy_init (easy.c:365) ==110219== by 0x4022B7F: test_lib599.lto_priv.0 (lib599.c:53) ==110219== by 0x40034B5: main (first.c:279) ==110219== === End of file valgrind599 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/16/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:39205/596 log/16/ip596 activeftp > log/16/stdout596 2> log/16/stderr596 596: 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 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/16/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:39205/596 log/16/ip596 activeftp > log/16/stdout596 2> log/16/stderr596 === End of file commands.log === Start of file ftp_server.log 17:49:36.294841 ====> Client connect 17:49:36.297209 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:36.297496 < "USER anonymous" 17:49:36.297532 > "331 We are happy you popped in![CR][LF]" 17:49:36.297703 < "PASS ftp@example.com" 17:49:36.297735 > "230 Welcome you silly person[CR][LF]" 17:49:36.297892 < "PWD" 17:49:36.297930 > "257 "/" is current directory[CR][LF]" 17:49:36.298099 < "EPSV" 17:49:36.298126 ====> Passive DATA channel requested by client 17:49:36.298141 DATA sockfilt for passive data channel starting... 17:49:36.301574 DATA sockfilt for passive data channel started (pid 110158) 17:49:36.301673 DATA sockfilt for passive data channel listens on port 36935 17:49:36.301717 > "229 Entering Passive Mode (|||36935|)[CR][LF]" 17:49:36.301733 Client has been notified that DATA conn will be accepted on port 36935 17:49:36.301945 Client connects to port 36935 17:49:36.301975 ====> Client established passive DATA connection on port 36935 17:49:36.302050 < "TYPE I" 17:49:36.302082 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:36.302226 < "SIZE verifiedserver" 17:49:36.302259 > "213 17[CR][LF]" 17:49:36.302877 < "RETR verifiedserver" 17:49:36.302912 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:36.302998 =====> Closing passive DATA connection... 17:49:36.303014 Server disconnects passive DATA connection 17:49:36.303234 Server disconnected passive DATA connection 17:49:36.303262 DATA sockfilt for passive data channel quits (pid 110158) 17:49:36.304734 DATA sockfilt for passive data channel quit (pid 110158) 17:49:36.304762 =====> Closed passive DATA connection 17:49:36.304790 > "226 File transfer complete[CR][LF]" 17:49:36.347852 < "QUIT" 17:49:36.347907 > "221 bye bye baby[CR][LF]" 17:49:36.348829 MAIN sockfilt said DISC 17:49:36.348861 ====> Client disconnected 17:49:36.348927 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:36.140908 ====> Client connect 17:49:36.143416 Received DATA (on stdin) 17:49:36.143432 > 146 bytes data, server => client 17:49:36.143444 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:36.143454 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:36.143463 '220 \___|\___/|_| \_\_____|\r\n' 17:49:36.143536 < 16 bytes data, client => server 17:49:36.143550 'USER anonymous\r\n' 17:49:36.143722 Received DATA (on stdin) 17:49:36.143734 > 33 bytes data, server => client 17:49:36.143744 '331 We are happy you popped in!\r\n' 17:49:36.143796 < 22 bytes data, client => server 17:49:36.143809 'PASS ftp@example.com\r\n' 17:49:36.143922 Received DATA (on stdin) 17:49:36.143934 > 30 bytes datcannot 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/3/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:35383 > log/3/stdout597 2> log/3/stderr597 a, server => client 17:49:36.143944 '230 Welcome you silly person\r\n' 17:49:36.143992 < 5 bytes data, client => server 17:49:36.144003 'PWD\r\n' 17:49:36.144116 Received DATA (on stdin) 17:49:36.144130 > 30 bytes data, server => client 17:49:36.144140 '257 "/" is current directory\r\n' 17:49:36.144198 < 6 bytes data, client => server 17:49:36.144211 'EPSV\r\n' 17:49:36.147923 Received DATA (on stdin) 17:49:36.147935 > 39 bytes data, server => client 17:49:36.147945 '229 Entering Passive Mode (|||36935|)\r\n' 17:49:36.148081 < 8 bytes data, client => server 17:49:36.148092 'TYPE I\r\n' 17:49:36.148267 Received DATA (on stdin) 17:49:36.148278 > 33 bytes data, server => client 17:49:36.148288 '200 I modify TYPE as you wanted\r\n' 17:49:36.148333 < 21 bytes data, client => server 17:49:36.148344 'SIZE verifiedserver\r\n' 17:49:36.148443 Received DATA (on stdin) 17:49:36.148453 > 8 bytes data, server => client 17:49:36.148463 '213 17\r\n' 17:49:36.148969 < 21 bytes data, client => server 17:49:36.148985 'RETR verifiedserver\r\n' 17:49:36.149203 Received DATA (on stdin) 17:49:36.149214 > 29 bytes data, server => client 17:49:36.149225 '150 Binary junk (17 bytes).\r\n' 17:49:36.150978 Received DATA (on stdin) 17:49:36.151095 > 28 bytes data, server => client 17:49:36.151106 '226 File transfer complete\r\n' 17:49:36.193865 < 6 bytes data, client => server 17:49:36.193885 'QUIT\r\n' 17:49:36.194104 Received DATA (on stdin) 17:49:36.194117 > 18 bytes data, server => client 17:49:36.194127 '221 bye bye baby\r\n' 17:49:36.194966 ====> Client disconnect 17:49:36.195118 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:36.145788 Running IPv4 version 17:49:36.145833 Listening on port 36935 17:49:36.145873 Wrote pid 110158 to log/16/server/ftp_sockdata.pid 17:49:36.147704 Received PING (on stdin) 17:49:36.147780 Received PORT (on stdin) 17:49:36.148056 ====> Client connect 17:49:36.149253 Received DATA (on stdin) 17:49:36.149265 > 17 bytes data, server => client 17:49:36.149280 'WE ROOLZ: 81124\r\n' 17:49:36.149302 Received DISC (on stdin) 17:49:36.149312 ====> Client forcibly disconnected 17:49:36.149454 Received QUIT (on stdin) 17:49:36.149467 quits 17:49:36.150403 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 596 === End of file server.cmd === Start of file stderr596 URL: ftp://127.0.0.1:39205/596 === End of file stderr596 === Start of file valgrind596 ==110254== ==110254== Process terminating with default action of signal 4 (SIGILL) ==110254== Illegal opcode at address 0x51D97AF ==110254== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==110254== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==110254== by 0x51D97AF: Curl_open (url.c:502) ==110254== by 0x515120F: curl_easy_init (easy.c:365) ==110254== by 0x4009B81: test_lib500.lto_priv.0 (lib500.c:65) ==110254== by 0x40034B5: main (first.c:279) ==110254== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==110254== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110254== by 0x51D96BD: Curl_open (url.c:479) ==110254== by 0x515120F: curl_easy_init (easy.c:365) ==110254== by 0x4009B81: test_lib500.lto_priv.0 (lib500.c:65) ==110254== by 0x40034B5: main (first.c:279) ==110254== === 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:42747/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:42747/598 > log/6/stdout598 2> log/6/stderr598 === End of file commands.log === Start of file http_server.log 17:49:36.178859 ====> Client connect 17:49:36.178894 accept_connection 3 returned 4 17:49:36.178909 accept_connection 3 returned 0 17:49:36.178923 Read 93 bytes 17:49:36.178932 Process 93 bytes request 17:49:36.178945 Got request: GET /verifiedserver HTTP/1.1 17:49:36.178954 Are-we-friendly question received 17:49:36.178978 Wrote request (93 bytes) input to log/6/server.input 17:49:36.178993 Identifying ourselves as friends 17:49:36.179045 Response sent (56 bytes) and written to log/6/server.response 17:49:36.179054 special request received, no persistency 17:49:36.179063 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 33072 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file stderr598 URL: http://127.0.0.1:42747/598 === End of file stderr598 === Start of file valgrind598 ==110218== ==110218== Process terminating with default action of signal 4 (SIGILL) ==110218== Illegal opcode at address 0x51D97AF ==110218== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==110218== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==110218== by 0x51D97AF: Curl_open (url.c:502) ==110218== by 0x515120F: curl_easy_init (easy.c:365) ==110218== by 0x4023B8C: test_lib598.lto_priv.0 (lib598.c:36) ==110218== by 0x40034B5: main (first.c:279) ==110218== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==110218== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110218== by 0x51D96BD: Curl_open (url.c:479) ==110218== by 0x515120F: curl_easy_init (easy.c:365) ==110218== by 0x4023B8C: test_lib598.lto_priv.0 (lib598.c:36) ==110218== by 0x40034B5: main (first.c:279) ==110218== === End of file valgrind598 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/3/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:35383 > log/3/stdout597 2> log/3/stderr597 597: 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 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/3/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:35383 > log/3/stdout597 2> log/3/stderr597 === End of file commands.log === Start of file ftp_server.log 17:49:36.320478 ====> Client connect 17:49:36.320629 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:36.320887 < "USER anonymous" 17:49:36.320925 > "331 We are happy you popped in![CR][LF]" 17:49:36.321170 < "PASS ftp@example.com" 17:49:36.321201 > "230 Welcome you silly person[CR][LF]" 17:49:36.321366 < "PWD" 17:49:36.321400 > "257 "/" is current directory[CR][LF]" 17:49:36.321662 < "EPSV" 17:49:36.321692 ====> Passive DATA channel requestecannot find sshd cannot find sshd cannot find sshd cannot find sshd d by client 17:49:36.321708 DATA sockfilt for passive data channel starting... 17:49:36.323716 DATA sockfilt for passive data channel started (pid 110191) 17:49:36.323830 DATA sockfilt for passive data channel listens on port 41691 17:49:36.323877 > "229 Entering Passive Mode (|||41691|)[CR][LF]" 17:49:36.323896 Client has been notified that DATA conn will be accepted on port 41691 17:49:36.324118 Client connects to port 41691 17:49:36.324149 ====> Client established passive DATA connection on port 41691 17:49:36.324226 < "TYPE I" 17:49:36.324256 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:36.324429 < "SIZE verifiedserver" 17:49:36.324469 > "213 17[CR][LF]" 17:49:36.324637 < "RETR verifiedserver" 17:49:36.324679 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:36.324764 =====> Closing passive DATA connection... 17:49:36.324781 Server disconnects passive DATA connection 17:49:36.325015 Server disconnected passive DATA connection 17:49:36.325044 DATA sockfilt for passive data channel quits (pid 110191) 17:49:36.325252 DATA sockfilt for passive data channel quit (pid 110191) 17:49:36.325277 =====> Closed passive DATA connection 17:49:36.325306 > "226 File transfer complete[CR][LF]" 17:49:36.367022 < "QUIT" 17:49:36.367083 > "221 bye bye baby[CR][LF]" 17:49:36.368320 MAIN sockfilt said DISC 17:49:36.368377 ====> Client disconnected 17:49:36.368459 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:36.166571 ====> Client connect 17:49:36.166815 Received DATA (on stdin) 17:49:36.166830 > 146 bytes data, server => client 17:49:36.166841 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:36.166851 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:36.166860 '220 \___|\___/|_| \_\_____|\r\n' 17:49:36.166934 < 16 bytes data, client => server 17:49:36.166946 'USER anonymous\r\n' 17:49:36.167114 Received DATA (on stdin) 17:49:36.167140 > 33 bytes data, server => client 17:49:36.167151 '331 We are happy you popped in!\r\n' 17:49:36.167248 < 22 bytes data, client => server 17:49:36.167268 'PASS ftp@example.com\r\n' 17:49:36.167389 Received DATA (on stdin) 17:49:36.167400 > 30 bytes data, server => client 17:49:36.167411 '230 Welcome you silly person\r\n' 17:49:36.167464 < 5 bytes data, client => server 17:49:36.167476 'PWD\r\n' 17:49:36.167626 Received DATA (on stdin) 17:49:36.167641 > 30 bytes data, server => client 17:49:36.167664 '257 "/" is current directory\r\n' 17:49:36.167751 < 6 bytes data, client => server 17:49:36.167763 'EPSV\r\n' 17:49:36.170087 Received DATA (on stdin) 17:49:36.170100 > 39 bytes data, server => client 17:49:36.170110 '229 Entering Passive Mode (|||41691|)\r\n' 17:49:36.170250 < 8 bytes data, client => server 17:49:36.170262 'TYPE I\r\n' 17:49:36.170447 Received DATA (on stdin) 17:49:36.170459 > 33 bytes data, server => client 17:49:36.170470 '200 I modify TYPE as you wanted\r\n' 17:49:36.170523 < 21 bytes data, client => server 17:49:36.170536 'SIZE verifiedserver\r\n' 17:49:36.170656 Received DATA (on stdin) 17:49:36.170668 > 8 bytes data, server => client 17:49:36.170678 '213 17\r\n' 17:49:36.170730 < 21 bytes data, client => server 17:49:36.170744 'RETR verifiedserver\r\n' 17:49:36.170970 Received DATA (on stdin) 17:49:36.170983 > 29 bytes data, server => client 17:49:36.170993 '150 Binary junk (17 bytes).\r\n' 17:49:36.171493 Received DATA (on stdin) 17:49:36.171506 > 28 bytes data, server => client 17:49:36.171516 '226 File transfer complete\r\n' 17:49:36.213019 < 6 bytes data, client => server 17:49:36.213044 'QUIT\r\n' 17:49:36.213519 Received DATA (on stdin) 17:49:36.213537 > 18 bytes data, server => client 17:49:36.213548 '221 bye bye baby\r\n' 17:49:36.214429 ====> Client disconnect 17:49:36.214647 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:36.169595 Running IPv4 version 17:49:36.169649 Listening on port 41691 17:49:36.169687 Wrote pid 110191 to log/3/server/ftp_sockdata.pid 17:49:36.169843 Received PING (on stdin) 17:49:36.169929 Received PORT (on stdin) 17:49:36.170222 ====> Client connect 17:49:36.171021 Received DATA (on stdin) 17:49:36.171034 > 17 bytes data, server => client 17:49:36.171044 'WE ROOLZ: 81126\r\n' 17:49:36.171067 Received DISC (on stdin) 17:49:36.171079 ====> Client forcibly disconnected 17:49:36.171240 Received QUIT (on stdin) 17:49:36.171257 quits 17:49:36.171309 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 597 === End of file server.cmd === Start of file stderr597 URL: ftp://127.0.0.1:35383 === End of file stderr597 === Start of file valgrind597 ==110331== ==110331== Process terminating with default action of signal 4 (SIGILL) ==110331== Illegal opcode at address 0x51D97AF ==110331== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==110331== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==110331== by 0x51D97AF: Curl_open (url.c:502) ==110331== by 0x515120F: curl_easy_init (easy.c:365) ==110331== by 0x40610F5: test_lib597.part.0.lto_priv.0 (lib597.c:48) ==110331== by 0x40034B5: main (first.c:279) ==110331== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==110331== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110331== by 0x51D96BD: Curl_open (url.c:479) ==110331== by 0x515120F: curl_easy_init (easy.c:365) ==110331== by 0x40610F5: test_lib597.part.0.lto_priv.0 (lib597.c:48) ==110331== by 0x40034B5: main (first.c:279) ==110331== === End of file valgrind597 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/17/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:44593/587 > log/17/stdout587 2> log/17/stderr587 libtests returned 132, when expecting 42 587: exit FAILED == Contents of files in the log/17/ 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/17/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:44593/587 > log/17/stdout587 2> log/17/stderr587 === End of file commands.log === Start of file http_server.log 17:49:35.393774 ====> Client connect 17:49:35.393805 accept_connection 3 returned 4 17:49:35.393821 accept_connection 3 returned 0 17:49:35.393835 Read 93 bytes 17:49:35.393844 Process 93 bytes request 17:49:35.393859 Got request: GET /verifiedserver HTTP/1.1 17:49:35.393867 Are-we-friendly question received 17:49:35.393898 Wrote request (93 bytes) input to log/17/server.input 17:49:35.393914 Identifying ourselves as friends 17:49:35.393966 Response sent (56 bytes) and written to log/17/server.response 17:49:35.393975 special request received, no persistency 17:49:35.393983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 44150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file stderr587 URL: http://127.0.0.1:44593/587 === End of file stderr587 === Start of file valgrind587 ==109199== ==109199== Process terminating with default action of signal 4 (SIGILL) ==109199== Illegal opcode at address 0x51D97AF ==109199== at 0x51D97AF: UnknownInlinedFun (stricannot 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/valgrind632 ../src/curl -q --output log/22/curl632.out --include --trace-ascii log/22/trace632 --trace-time --hostpubmd5 00 --key log/22/server/curl_client_key --pubkey log/22/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/22/irrelevant-file --insecure > log/22/stdout632 2> log/22/stderr632 CMD (33792): ../libtool --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/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:46439/643 > log/11/stdout643 2> log/11/stderr643 ng_fortified.h:59) ==109199== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==109199== by 0x51D97AF: Curl_open (url.c:502) ==109199== by 0x515120F: curl_easy_init (easy.c:365) ==109199== by 0x4018C28: t554_test_once (lib554.c:145) ==109199== by 0x4018EAB: test_lib554.lto_priv.0 (lib554.c:202) ==109199== by 0x40034B5: main (first.c:279) ==109199== 5,512 bytes in 1 blocks are definitely lost in loss record 792 of 803 ==109199== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==109199== by 0x51D96BD: Curl_open (url.c:479) ==109199== by 0x515120F: curl_easy_init (easy.c:365) ==109199== by 0x4018C28: t554_test_once (lib554.c:145) ==109199== by 0x4018EAB: test_lib554.lto_priv.0 (lib554.c:202) ==109199== by 0x40034B5: main (first.c:279) ==109199== === End of file valgrind587 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 74787) running test 608 in state 3 Runner 2 (id 74788) running test 610 in state 3 Runner 3 (id 74789) running test 620 in state 3 Runner 4 (id 74790) running test 611 in state 3 Runner 5 (id 74791) running test 614 in state 3 Runner 6 (id 74792) running test 619 in state 3 Runner 7 (id 74793) running test 615 in state 3 Runner 8 (id 74794) running test 606 in state 3 Runner 9 (id 74795) running test 604 in state 3 Runner 10 (id 74796) running test 616 in state 3 Runner 11 (id 74797) running test 583 in state 3 Runner 12 (id 74798) running test 617 in state 3 Runner 13 (id 74799) running test 607 in state 3 Runner 14 (id 74800) running test 609 in state 3 Runner 15 (id 74801) running test 603 in state 3 Runner 16 (id 74802) running test 618 in state 3 Runner 17 (id 74803) running test 621 in state 3 Runner 18 (id 74804) running test 601 in state 3 Runner 19 (id 74805) running test 613 in state 3 Runner 20 (id 74806) running test 612 in state 3 Runner 21 (id 74807) running test 600 in state 3 Runner 22 (id 74808) running test 582 in state 3 Runner 23 (id 74809) running test 602 in state 3 Runner 24 (id 74810) running test 605 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" --sshport 43583 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43583 test 0582 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/11/server/ssh_server.pid" --logdir "log/11" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 33471 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33471 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" --sshport 38831 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38831 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/22/valgrind632 ../src/curl -q --output log/22/curl632.out --include --trace-ascii log/22/trace632 --trace-time --hostpubmd5 00 --key log/22/server/curl_client_key --pubkey log/22/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/22/irrelevant-file --insecure > log/22/stdout632 2> log/22/stderr632 curl returned 132, when expecting 2 632: exit FAILED == Contents of files in the log/22/ 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/22/valgrind632 ../src/curl -q --output log/22/curl632.out --include --trace-ascii log/22/trace632 --trace-time --hostpubmd5 00 --key log/22/server/curl_client_key --pubkey log/22/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/22/irrelevant-file --insecure > log/22/stdout632 2> log/22/stderr632 === End of file commands.log === Start of file server.cmd Testnum 632 === End of file server.cmd === Start of file valgrind632 ==110549== ==110549== Process terminating with default action of signal 4 (SIGILL) ==110549== Illegal opcode at address 0x4014520 ==110549== at 0x4014520: getparameter (tool_getparam.c:2862) ==110549== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==110549== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==110549== by 0x4003728: main (tool_main.c:186) === End of file valgrind632 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" --sshport 44383 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44383 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/11/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:46439/643 > log/11/stdout643 2> log/11/stderr643 643: 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 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/11/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:46439/643 > log/11/stdout643 2> log/11/stderr643 === End of file commands.log === Start of file http_server.log 17:49:51.239999 ====> Client connect 17:49:51.240044 accept_connection 3 returned 4 17:49:51.240065 accept_connection 3 returned 0 17:49:51.240083 Read 93 bytes 17:49:51.240093 Process 93 bytes request 17:49:51.240107 Got request: GET /verifiedserver HTTP/1.1 17:49:51.240116 Are-we-friendly question received 17:49:51.240146 Wrote request (93 bytes) input to log/11/server.input 17:49:51.240166 Identifying ourselves as friends 17:49:51.240252 Response sent (56 bytes) and written to log/11/server.response 17:49:51.240264 special request received, no persistency 17:49:51.240273 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 50030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file stderr643 URL: http://127.0.0.1:46439/643 === End of file stderr643 === Start of file valgrind643 ==110599== ==110599== Process terminating with default action of signal 4 (SIGILL) ==110599== Illegal opcode at address 0x51D97AF ==110599== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==110599== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==110599== by 0x51D97AF: Curl_open (url.c:502) ==110599== by 0x515120F: curl_easy_init (easy.c:365) ==110599== by 0x4023DD3: t643_test_oRUN: Process with pid 108380 signalled to die RUN: Process with pid 108380 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/9/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:37413/651 log/9/test651.filedata log/9/stdout651 2> log/9/stderr651 nce (lib643.c:75) ==110599== by 0x4024297: test_lib643.lto_priv.0 (lib643.c:255) ==110599== by 0x40034B5: main (first.c:279) ==110599== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==110599== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110599== by 0x51D96BD: Curl_open (url.c:479) ==110599== by 0x515120F: curl_easy_init (easy.c:365) ==110599== by 0x4023DD3: t643_test_once (lib643.c:75) ==110599== by 0x4024297: test_lib643.lto_priv.0 (lib643.c:255) ==110599== by 0x40034B5: main (first.c:279) ==110599== === End of file valgrind643 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" --sshport 41385 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41385 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" --sshport 34343 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34343 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" --sshport 46209 startnew: child process has died, server might start up RUN: failed to start the SSH server on 46209 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" --sshport 44739 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44739 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" --sshport 45369 startnew: child process has died, server might start up RUN: failed to start the SSH server on 45369 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" --sshport 43221 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43221 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" --sshport 34273 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34273 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" --sshport 40145 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40145 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" --sshport 41681 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41681 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" --sshport 35005 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35005 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" --sshport 43613 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43613 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" --sshport 38049 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38049 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" --sshport 45539 startnew: child process has died, server might start up RUN: failed to start the SSH server on 45539 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" --sshport 34179 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34179 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" --sshport 40641 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40641 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" --sshport 33675 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33675 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" --sshport 35385 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35385 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" --sshport 38809 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38809 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" --sshport 34041 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34041 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" --sshport 33687 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33687 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/9/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:37413/651 log/9/test651.filedata log/9/stdout651 2> log/9/stderr651 651: 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 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/9/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:37413/651 log/9/test651.filedata log/9/stdout651 2> log/9/stderr651 === End of file commands.log === Start of file http_server.log 17:49:52.825172 ====> Client connect 17:49:52.825210 accept_connection 3 returned 4 17:49:52.825230 accept_connection 3 returned 0 17:49:52.825245 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/21/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:41669/645 > log/21/stdout645 2> log/21/stderr645 CMD (33792): ../libtool --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/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:39649/658 > log/24/stdout658 2> log/24/stderr658 ead 93 bytes 17:49:52.825255 Process 93 bytes request 17:49:52.825270 Got request: GET /verifiedserver HTTP/1.1 17:49:52.825279 Are-we-friendly question received 17:49:52.825308 Wrote request (93 bytes) input to log/9/server.input 17:49:52.825327 Identifying ourselves as friends 17:49:52.825392 Response sent (56 bytes) and written to log/9/server.response 17:49:52.825404 special request received, no persistency 17:49:52.825413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 60176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === End of file http_verify.out === Start 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: 74974 === End of file server.response === Start of file stderr651 URL: http://127.0.0.1:37413/651 === End of file stderr651 === 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 ==110802== ==110802== Process terminating with default action of signal 4 (SIGILL) ==110802== Illegal opcode at address 0x40254D0 ==110802== at 0x40254D0: UnknownInlinedFun (string_fortified.h:59) ==110802== by 0x40254D0: test_lib651.lto_priv.0 (lib651.c:41) ==110802== by 0x40034B5: main (first.c:279) === End of file valgrind651 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/21/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:41669/645 > log/21/stdout645 2> log/21/stderr645 645: 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 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/21/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:41669/645 > log/21/stdout645 2> log/21/stderr645 === End of file commands.log === Start of file http_server.log 17:49:52.288845 ====> Client connect 17:49:52.288888 accept_connection 3 returned 4 17:49:52.288910 accept_connection 3 returned 0 17:49:52.288926 Read 93 bytes 17:49:52.288936 Process 93 bytes request 17:49:52.288951 Got request: GET /verifiedserver HTTP/1.1 17:49:52.288960 Are-we-friendly question received 17:49:52.288990 Wrote request (93 bytes) input to log/21/server.input 17:49:52.289007 Identifying ourselves as friends 17:49:52.289069 Response sent (56 bytes) and written to log/21/server.response 17:49:52.289081 special request received, no persistency 17:49:52.289090 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 60368 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stderr645 URL: http://127.0.0.1:41669/645 === End of file stderr645 === Start of file valgrind645 ==110685== ==110685== Process terminating with default action of signal 4 (SIGILL) ==110685== Illegal opcode at address 0x51D97AF ==110685== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==110685== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==110685== by 0x51D97AF: Curl_open (url.c:502) ==110685== by 0x515120F: curl_easy_init (easy.c:365) ==110685== by 0x4023DD3: t643_test_once (lib643.c:75) ==110685== by 0x4024297: test_lib643.lto_priv.0 (lib643.c:255) ==110685== by 0x40034B5: main (first.c:279) ==110685== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==110685== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110685== by 0x51D96BD: Curl_open (url.c:479) ==110685== by 0x515120F: curl_easy_init (easy.c:365) ==110685== by 0x4023DD3: t643_test_once (lib643.c:75) ==110685== by 0x4024297: test_lib643.lto_priv.0 (lib643.c:255) ==110685== by 0x40034B5: main (first.c:279) ==110685== === End of file valgrind645 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/24/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:39649/658 > log/24/stdout658 2> log/24/stderr658 658: 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 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/24/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:39649/658 > log/24/stdout658 2> log/24/stderr658 === End of file commands.log === Start of file http_server.log 17:49:52.902922 ====> Client connect 17:49:52.902965 accept_connection 3 returned 4 17:49:52.906236 accept_connection 3 returned 0 17:49:52.906270 Read 93 bytes 17:49:52.906280 Process 93 bytes request 17:49:52.906300 Got request: GET /verifiedserver HTTP/1.1 17:49:52.906309 Are-we-friendly question received 17:49:52.906473 Wrote request (93 bytes) input to log/24/server.input 17:49:52.906497 Identifying ourselves as friends 17:49:52.913984 Response sent (56 bytes) and written to log/24/server.response 17:49:52.914006 special request received, no persistency 17:49:52.914016 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 51934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file stderr658 URL: http://127.0.0.1:39649/658 === End of file stderr658 === Start of file valgrind658 ==111027== ==111027== Process terminating with default action of signal 4 (SIGILL) ==111027== Illegal opcode at address 0x51D97AF ==111027== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==111027== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==111027== by 0x51D97AF: Curl_open (url.c:502) ==111027== by 0x515120F: curl_easy_init (easy.c:365) ==111027== by 0x4026D6C: UnknownInlinedFun (lib658.c:38) ==111027== by 0x4026D6C: test_lib658.lto_pCMD (33792): ../libtool --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/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:40307/ > log/4/stdout661 2> log/4/stderr661 CMD (33792): ../libtool --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/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:41057/650 log/15/test650.filedata log/15/stdout650 2> log/15/stderr650 riv.0 (lib658.c:30) ==111027== by 0x40034B5: main (first.c:279) ==111027== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==111027== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111027== by 0x51D96BD: Curl_open (url.c:479) ==111027== by 0x515120F: curl_easy_init (easy.c:365) ==111027== by 0x4026D6C: UnknownInlinedFun (lib658.c:38) ==111027== by 0x4026D6C: test_lib658.lto_priv.0 (lib658.c:30) ==111027== by 0x40034B5: main (first.c:279) ==111027== === End of file valgrind658 test 0661...[Avoid redundant CWDs] ../libtool --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/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:40307/ > log/4/stdout661 2> log/4/stderr661 661: 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 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/4/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:40307/ > log/4/stdout661 2> log/4/stderr661 === End of file commands.log === Start of file ftp_server.log 17:49:53.096794 ====> Client connect 17:49:53.096959 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:53.107120 < "USER anonymous" 17:49:53.107192 > "331 We are happy you popped in![CR][LF]" 17:49:53.118706 < "PASS ftp@example.com" 17:49:53.118786 > "230 Welcome you silly person[CR][LF]" 17:49:53.123514 < "PWD" 17:49:53.123572 > "257 "/" is current directory[CR][LF]" 17:49:53.124118 < "EPSV" 17:49:53.124163 ====> Passive DATA channel requested by client 17:49:53.124180 DATA sockfilt for passive data channel starting... 17:49:53.139252 DATA sockfilt for passive data channel started (pid 111008) 17:49:53.139415 DATA sockfilt for passive data channel listens on port 42215 17:49:53.139474 > "229 Entering Passive Mode (|||42215|)[CR][LF]" 17:49:53.139497 Client has been notified that DATA conn will be accepted on port 42215 17:49:53.139753 Client connects to port 42215 17:49:53.139787 ====> Client established passive DATA connection on port 42215 17:49:53.139948 < "TYPE I" 17:49:53.139990 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:53.140386 < "SIZE verifiedserver" 17:49:53.140431 > "213 17[CR][LF]" 17:49:53.140613 < "RETR verifiedserver" 17:49:53.140656 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:53.140760 =====> Closing passive DATA connection... 17:49:53.140785 Server disconnects passive DATA connection 17:49:53.141051 Server disconnected passive DATA connection 17:49:53.141086 DATA sockfilt for passive data channel quits (pid 111008) 17:49:53.152329 DATA sockfilt for passive data channel quit (pid 111008) 17:49:53.152390 =====> Closed passive DATA connection 17:49:53.152440 > "226 File transfer complete[CR][LF]" 17:49:53.187011 < "QUIT" 17:49:53.187068 > "221 bye bye baby[CR][LF]" 17:49:53.188469 MAIN sockfilt said DISC 17:49:53.188510 ====> Client disconnected 17:49:53.188596 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:52.942864 ====> Client connect 17:49:52.943160 Received DATA (on stdin) 17:49:52.944085 > 146 bytes data, server => client 17:49:52.944105 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:52.944118 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:52.944128 '220 \___|\___/|_| \_\_____|\r\n' 17:49:52.944231 < 16 bytes data, client => server 17:49:52.944248 'USER anonymous\r\n' 17:49:52.953396 Received DATA (on stdin) 17:49:52.953420 > 33 bytes data, server => client 17:49:52.953431 '331 We are happy you popped in!\r\n' 17:49:52.953538 < 22 bytes data, client => server 17:49:52.953554 'PASS ftp@example.com\r\n' 17:49:52.967345 Received DATA (on stdin) 17:49:52.967383 > 30 bytes data, server => client 17:49:52.967396 '230 Welcome you silly person\r\n' 17:49:52.969527 < 5 bytes data, client => server 17:49:52.969550 'PWD\r\n' 17:49:52.969772 Received DATA (on stdin) 17:49:52.969793 > 30 bytes data, server => client 17:49:52.969805 '257 "/" is current directory\r\n' 17:49:52.970149 < 6 bytes data, client => server 17:49:52.970172 'EPSV\r\n' 17:49:52.985695 Received DATA (on stdin) 17:49:52.985715 > 39 bytes data, server => client 17:49:52.985726 '229 Entering Passive Mode (|||42215|)\r\n' 17:49:52.986006 < 8 bytes data, client => server 17:49:52.986020 'TYPE I\r\n' 17:49:52.986188 Received DATA (on stdin) 17:49:52.986201 > 33 bytes data, server => client 17:49:52.986213 '200 I modify TYPE as you wanted\r\n' 17:49:52.986467 < 21 bytes data, client => server 17:49:52.986485 'SIZE verifiedserver\r\n' 17:49:52.986618 Received DATA (on stdin) 17:49:52.986629 > 8 bytes data, server => client 17:49:52.986640 '213 17\r\n' 17:49:52.986699 < 21 bytes data, client => server 17:49:52.986715 'RETR verifiedserver\r\n' 17:49:52.986977 Received DATA (on stdin) 17:49:52.986990 > 29 bytes data, server => client 17:49:52.987001 '150 Binary junk (17 bytes).\r\n' 17:49:52.999639 Received DATA (on stdin) 17:49:52.999665 > 28 bytes data, server => client 17:49:52.999677 '226 File transfer complete\r\n' 17:49:53.032990 < 6 bytes data, client => server 17:49:53.033023 'QUIT\r\n' 17:49:53.033260 Received DATA (on stdin) 17:49:53.033273 > 18 bytes data, server => client 17:49:53.033283 '221 bye bye baby\r\n' 17:49:53.034596 ====> Client disconnect 17:49:53.034789 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:53.976931 Running IPv4 version 17:49:53.985291 Listening on port 42215 17:49:53.985339 Wrote pid 111008 to log/4/server/ftp_sockdata.pid 17:49:53.985366 Received PING (on stdin) 17:49:53.985493 Received PORT (on stdin) 17:49:53.985882 ====> Client connect 17:49:53.987031 Received DATA (on stdin) 17:49:53.987045 > 17 bytes data, server => client 17:49:53.987061 'WE ROOLZ: 80996\r\n' 17:49:53.987088 Received DISC (on stdin) 17:49:53.987102 ====> Client forcibly disconnected 17:49:53.987288 Received QUIT (on stdin) 17:49:53.987301 quits 17:49:53.990765 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 661 === End of file server.cmd === Start of file stderr661 URL: ftp://127.0.0.1:40307/ === End of file stderr661 === Start of file valgrind661 ==111148== ==111148== Process terminating with default action of signal 4 (SIGILL) ==111148== Illegal opcode at address 0x51D97AF ==111148== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==111148== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==111148== by 0x51D97AF: Curl_open (url.c:502) ==111148== by 0x515120F: curl_easy_init (easy.c:365) ==111148== by 0x40274B0: test_lib661.lto_priv.0 (lib661.c:38) ==111148== by 0x40034B5: main (first.c:279) ==111148== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==111148== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111148== by 0x51D96BD: Curl_open (url.c:479) ==111148== by 0x515120F: curl_easy_init (easy.c:365) ==111148== by 0x40274B0: test_lib661.lto_priv.0 (lib661.c:38) ==111148== by 0x40034B5: main (first.c:279) ==111148== === End of file valgrind661 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/15/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:41057/650 log/15/test650.filedata log/15/stdout650 2> log/15/stderr650 650: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == CoCMD (33792): ../libtool --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/valgrind663 ../src/curl -q --output log/5/curl663.out --include --trace-ascii log/5/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:46875 > log/5/stdout663 2> log/5/stderr663 CMD (33792): ../libtool --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/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:38779 > log/2/stdout659 2> log/2/stderr659 ntents of files in the log/15/ 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/15/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:41057/650 log/15/test650.filedata log/15/stdout650 2> log/15/stderr650 === End of file commands.log === Start of file http_server.log 17:49:52.769643 ====> Client connect 17:49:52.769699 accept_connection 3 returned 4 17:49:52.769725 accept_connection 3 returned 0 17:49:52.769746 Read 93 bytes 17:49:52.769756 Process 93 bytes request 17:49:52.769772 Got request: GET /verifiedserver HTTP/1.1 17:49:52.769781 Are-we-friendly question received 17:49:52.769814 Wrote request (93 bytes) input to log/15/server.input 17:49:52.769833 Identifying ourselves as friends 17:49:52.769933 Response sent (56 bytes) and written to log/15/server.response 17:49:52.769947 special request received, no persistency 17:49:52.769956 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 36840 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file stderr650 URL: http://127.0.0.1:41057/650 === End of file stderr650 === 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 ==110772== ==110772== Process terminating with default action of signal 4 (SIGILL) ==110772== Illegal opcode at address 0x518CEF5 ==110772== at 0x518CEF5: UnknownInlinedFun (string_fortified.h:59) ==110772== by 0x518CEF5: curl_mime_init (mime.c:1271) ==110772== by 0x5159F28: Curl_getformdata.part.0 (formdata.c:732) ==110772== by 0x515A432: UnknownInlinedFun (formdata.c:729) ==110772== by 0x515A432: curl_formget (formdata.c:638) ==110772== by 0x402517E: test_lib650.lto_priv.0 (lib650.c:143) ==110772== by 0x40034B5: main (first.c:279) ==110772== 96 bytes in 1 blocks are definitely lost in loss record 657 of 807 ==110772== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==110772== by 0x518CECF: curl_mime_init (mime.c:1264) ==110772== by 0x5159F28: Curl_getformdata.part.0 (formdata.c:732) ==110772== by 0x515A432: UnknownInlinedFun (formdata.c:729) ==110772== by 0x515A432: curl_formget (formdata.c:638) ==110772== by 0x402517E: test_lib650.lto_priv.0 (lib650.c:143) ==110772== by 0x40034B5: main (first.c:279) ==110772== === End of file valgrind650 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/5/valgrind663 ../src/curl -q --output log/5/curl663.out --include --trace-ascii log/5/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:46875 > log/5/stdout663 2> log/5/stderr663 663: 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 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/5/valgrind663 ../src/curl -q --output log/5/curl663.out --include --trace-ascii log/5/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:46875 > log/5/stdout663 2> log/5/stderr663 === End of file commands.log === Start of file http_server.log 17:49:52.989407 ====> Client connect 17:49:52.998674 accept_connection 3 returned 4 17:49:52.998704 accept_connection 3 returned 0 17:49:52.998724 Read 93 bytes 17:49:52.998735 Process 93 bytes request 17:49:52.998750 Got request: GET /verifiedserver HTTP/1.1 17:49:52.998760 Are-we-friendly question received 17:49:52.998793 Wrote request (93 bytes) input to log/5/server.input 17:49:52.998815 Identifying ourselves as friends 17:49:52.998915 Response sent (56 bytes) and written to log/5/server.response 17:49:52.998929 special request received, no persistency 17:49:52.998939 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 50548 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === End of file http_verify.out === Start of file server.cmd Testnum 663 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77918 === End of file server.response === Start of file valgrind663 ==111076== ==111076== Process terminating with default action of signal 4 (SIGILL) ==111076== Illegal opcode at address 0x4014520 ==111076== at 0x4014520: getparameter (tool_getparam.c:2862) ==111076== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==111076== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==111076== by 0x4003728: main (tool_main.c:186) === End of file valgrind663 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/2/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:38779 > log/2/stdout659 2> log/2/stderr659 659: 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 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/2/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:38779 > log/2/stdout659 2> log/2/stderr659 === End of file commands.log === Start of file http_server.log 17:49:52.895039 ====> Client connect 17:49:52.895112 accept_connection 3 returned 4 17:49:52.895132 accept_connection 3 returned 0 17:49:52.895148 Read 93 bytes 17:49:52.895159 Process 93 bytes request 17:49:52.895173 Got request: GET /verifiedserver HTTP/1.1 17:49:52.895183 Are-we-friendly question received 17:49:52.895213 Wrote request (93 bytes) input to log/2/server.input 17:49:52.895235 Identifying ourselves as friends 17:49:52.895301 Response sent (56 bytes) and written to log/2/server.response 17:49:52.895313 special request received, no persistency 17:49:52.895323 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 33892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #CMD (33792): ../libtool --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/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:32889/667 > log/10/stdout667 2> log/10/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/14/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:37569/655 > log/14/stdout655 2> log/14/stderr655 0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file stderr659 URL: http://127.0.0.1:38779 === End of file stderr659 === Start of file valgrind659 ==110951== ==110951== Process terminating with default action of signal 4 (SIGILL) ==110951== Illegal opcode at address 0x51D97AF ==110951== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==110951== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==110951== by 0x51D97AF: Curl_open (url.c:502) ==110951== by 0x515120F: curl_easy_init (easy.c:365) ==110951== by 0x4026FCC: UnknownInlinedFun (lib659.c:37) ==110951== by 0x4026FCC: test_lib659.lto_priv.0 (lib659.c:30) ==110951== by 0x40034B5: main (first.c:279) ==110951== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==110951== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110951== by 0x51D96BD: Curl_open (url.c:479) ==110951== by 0x515120F: curl_easy_init (easy.c:365) ==110951== by 0x4026FCC: UnknownInlinedFun (lib659.c:37) ==110951== by 0x4026FCC: test_lib659.lto_priv.0 (lib659.c:30) ==110951== by 0x40034B5: main (first.c:279) ==110951== === End of file valgrind659 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/10/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:32889/667 > log/10/stdout667 2> log/10/stderr667 667: 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 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/10/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:32889/667 > log/10/stdout667 2> log/10/stderr667 === End of file commands.log === Start of file http_server.log 17:49:53.165036 ====> Client connect 17:49:53.165072 accept_connection 3 returned 4 17:49:53.165091 accept_connection 3 returned 0 17:49:53.165108 Read 93 bytes 17:49:53.165118 Process 93 bytes request 17:49:53.165133 Got request: GET /verifiedserver HTTP/1.1 17:49:53.165143 Are-we-friendly question received 17:49:53.165173 Wrote request (93 bytes) input to log/10/server.input 17:49:53.165193 Identifying ourselves as friends 17:49:53.165260 Response sent (56 bytes) and written to log/10/server.response 17:49:53.165273 special request received, no persistency 17:49:53.165283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 33148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file stderr667 URL: http://127.0.0.1:32889/667 === End of file stderr667 === Start of file valgrind667 ==111423== ==111423== Process terminating with default action of signal 4 (SIGILL) ==111423== Illegal opcode at address 0x51D97AF ==111423== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==111423== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==111423== by 0x51D97AF: Curl_open (url.c:502) ==111423== by 0x515120F: curl_easy_init (easy.c:365) ==111423== by 0x4025D99: test_lib667.lto_priv.0 (lib667.c:72) ==111423== by 0x40034B5: main (first.c:279) ==111423== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==111423== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111423== by 0x51D96BD: Curl_open (url.c:479) ==111423== by 0x515120F: curl_easy_init (easy.c:365) ==111423== by 0x4025D99: test_lib667.lto_priv.0 (lib667.c:72) ==111423== by 0x40034B5: main (first.c:279) ==111423== === End of file valgrind667 CMD (33792): ../libtool --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/valgrind662 ../src/curl -q --output log/19/curl662.out --include --trace-ascii log/19/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:36987 > log/19/stdout662 2> log/19/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/7/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:35671/666 > log/7/stdout666 2> log/7/stderr666 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/14/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:37569/655 > log/14/stdout655 2> log/14/stderr655 655: data FAILED: --- log/14/check-expected 2026-01-28 17:49:55.333222089 +0000 +++ log/14/check-generated 2026-01-28 17:49:55.333222089 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/14/ 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/14/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:37569/655 > log/14/stdout655 2> log/14/stderr655 === End of file commands.log === Start of file http_server.log 17:49:53.882922 ====> Client connect 17:49:53.882962 accept_connection 3 returned 4 17:49:53.882979 accept_connection 3 returned 0 17:49:53.882996 Read 93 bytes 17:49:53.883006 Process 93 bytes request 17:49:53.883019 Got request: GET /verifiedserver HTTP/1.1 17:49:53.883028 Are-we-friendly question received 17:49:53.883052 Wrote request (93 bytes) input to log/14/server.input 17:49:53.883069 Identifying ourselves as friends 17:49:53.883148 Response sent (56 bytes) and written to log/14/server.response 17:49:53.883157 special request received, no persistency 17:49:53.883166 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file stderr655 URL: http://failthis/655 === End of file stderr655 === Start of file valgrind655 ==110889== ==110889== Process terminating with default action of signal 4 (SIGILL) ==110889== Illegal opcode at address 0x51D97AF ==110889== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==110889== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==110889== by 0x51D97AF: Curl_open (url.c:502) ==110889== by 0x515120F: curl_easy_init (easy.c:365) ==110889== by 0x4021AA6: test_lib655.lto_priv.0 (lib655.c:68) ==110889== by 0x40034B5: main (first.c:279) ==110889== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==110889== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==110889== by 0x51D96BD: Curl_open (url.c:479) ==110889== by 0x515120F: curl_easy_init (easy.c:365) ==110889== by 0x4021AA6: test_lib655.lto_priv.0 (lib655.c:68) ==110889== by 0x40034B5: main (first.c:279) ==110889== === End of file valgrind655 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/19/valgrind662 ../src/curl -q --output log/19/curl662.out --include --trace-ascii log/19/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:36987 > log/19/stdout662 2> log/19/stderr662 662: 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 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/19/valgrind662 ../src/curl -q --output log/19/curl662.out --include --trace-ascii log/19/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:36987 > log/19/stdout662 2> log/19/stderr662 === End of file commands.log === Start of file http_server.log 17:49:52.960575 ====> Client connect 17:49:52.960615 accept_connection 3 returned 4 17:49:52.960636 accept_connection 3 returned 0 17:49:52.960653 Read 93 bytes 17:49:52.960664 Process 93 bytes request 17:49:52.960679 Got request: GET /verifiedserver HTTP/1.1 17:49:52.960689 Are-we-friendly question received 17:49:52.960721 Wrote request (93 bytes) input to log/19/server.input 17:49:52.960742 Identifying ourselves as friends 17:49:52.960814 Response sent (56 bytes) and written to log/19/server.response 17:49:52.960828 special request received, no persistency 17:49:52.960837 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 53832 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind662 ==111029== ==111029== Process terminating with default action of signal 4 (SIGILL) ==111029== Illegal opcode at address 0x4014520 ==111029== at 0x4014520: getparameter (tool_getparam.c:2862) ==111029== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==111029== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==111029== by 0x4003728: main (tool_main.c:186) === End of file valgrind662 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/7/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:35671/666 > log/7/stdout666 2> log/7/stderr666 666: 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 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/7/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:35671/666 > log/7/stdout666 2> log/7/stderr666 === End of file commands.log === Start of file http_server.log 17:49:53.096247 ====> Client connect 17:49:53.096290 accept_connection 3 returned 4 17:49:53.096310 accept_connection 3 returned 0 17:49:53.096326 Read 93 bytes 17:49:53.096334 Process 93 bytes request 17:49:53.096347 Got request: GET /verifiedserver HTTP/1.1 17:49:53.096355 Are-we-friendly question received 17:49:53.096377 Wrote request (93 bytes) input to log/7/server.input 17:49:53.096392 Identifying ourselves as friends 17:49:53.096466 Response sent (56 bytes) and written to log/7/server.response 17:49:53.096476 special request received, no persistency 17:49:53.096483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 34096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.CMD (33792): ../libtool --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/valgrind669 ../src/curl -q --output log/16/curl669.out --include --trace-ascii log/16/trace669 --trace-time http://127.0.0.1:40899/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/16/stdout669 2> log/16/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/1/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:39589/654 log/1/file654.txt > log/1/stdout654 2> log/1/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/17/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:44593/672 > log/17/stdout672 2> log/17/stderr672 18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file stderr666 URL: http://127.0.0.1:35671/666 === End of file stderr666 === Start of file valgrind666 ==111310== ==111310== Process terminating with default action of signal 4 (SIGILL) ==111310== Illegal opcode at address 0x51D97AF ==111310== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==111310== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==111310== by 0x51D97AF: Curl_open (url.c:502) ==111310== by 0x515120F: curl_easy_init (easy.c:365) ==111310== by 0x4025AD2: test_lib666.lto_priv.0 (lib666.c:50) ==111310== by 0x40034B5: main (first.c:279) ==111310== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==111310== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111310== by 0x51D96BD: Curl_open (url.c:479) ==111310== by 0x515120F: curl_easy_init (easy.c:365) ==111310== by 0x4025AD2: test_lib666.lto_priv.0 (lib666.c:50) ==111310== by 0x40034B5: main (first.c:279) ==111310== === End of file valgrind666 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/16/valgrind669 ../src/curl -q --output log/16/curl669.out --include --trace-ascii log/16/trace669 --trace-time http://127.0.0.1:40899/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/16/stdout669 2> log/16/stderr669 669: 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 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/16/valgrind669 ../src/curl -q --output log/16/curl669.out --include --trace-ascii log/16/trace669 --trace-time http://127.0.0.1:40899/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/16/stdout669 2> log/16/stderr669 === End of file commands.log === Start of file http_server.log 17:49:53.178125 ====> Client connect 17:49:53.178157 accept_connection 3 returned 4 17:49:53.178173 accept_connection 3 returned 0 17:49:53.179668 Read 93 bytes 17:49:53.179684 Process 93 bytes request 17:49:53.179697 Got request: GET /verifiedserver HTTP/1.1 17:49:53.179705 Are-we-friendly question received 17:49:53.179747 Wrote request (93 bytes) input to log/16/server.input 17:49:53.179764 Identifying ourselves as friends 17:49:53.179821 Response sent (56 bytes) and written to log/16/server.response 17:49:53.179831 special request received, no persistency 17:49:53.179838 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 56538 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind669 ==111465== ==111465== Process terminating with default action of signal 4 (SIGILL) ==111465== Illegal opcode at address 0x4014520 ==111465== at 0x4014520: getparameter (tool_getparam.c:2862) ==111465== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==111465== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==111465== by 0x4003728: main (tool_main.c:186) === End of file valgrind669 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/1/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:39589/654 log/1/file654.txt > log/1/stdout654 2> log/1/stderr654 654: 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 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/1/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:39589/654 log/1/file654.txt > log/1/stdout654 2> log/1/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 17:49:52.926223 ====> Client connect 17:49:52.926259 accept_connection 3 returned 4 17:49:52.926277 accept_connection 3 returned 0 17:49:52.926291 Read 93 bytes 17:49:52.926299 Process 93 bytes request 17:49:52.926312 Got request: GET /verifiedserver HTTP/1.1 17:49:52.926320 Are-we-friendly question received 17:49:52.926344 Wrote request (93 bytes) input to log/1/server.input 17:49:52.926360 Identifying ourselves as friends 17:49:52.926420 Response sent (56 bytes) and written to log/1/server.response 17:49:52.926429 special request received, no persistency 17:49:52.926438 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 57572 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file stderr654 URL: http://127.0.0.1:39589/654 === End of file stderr654 === Start of file valgrind654 ==111025== ==111025== Process terminating with default action of signal 4 (SIGILL) ==111025== Illegal opcode at address 0x51D97AF ==111025== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==111025== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==111025== by 0x51D97AF: Curl_open (url.c:502) ==111025== by 0x515120F: curl_easy_init (easy.c:365) ==111025== by 0x402697B: test_lib654.lto_priv.0 (lib654.c:82) ==111025== by 0x40034B5: main (first.c:279) ==111025== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==111025== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111025== by 0x51D96BD: Curl_open (url.c:479) ==111025== by 0x515120F: curl_easy_init (easy.c:365) ==111025== by 0x402697B: test_lib654.lto_priv.0 (lib654.c:82) ==111025== by 0x40034B5: main (first.c:279) ==111025== === End of file valgrind654 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/17/valgrind67CMD (33792): ../libtool --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/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:36641/671 > log/12/stdout671 2> log/12/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/13/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:43845/653 > log/13/stdout653 2> log/13/stderr653 2 ./libtest/libtests lib670 http://127.0.0.1:44593/672 > log/17/stdout672 2> log/17/stderr672 672: 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 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/17/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:44593/672 > log/17/stdout672 2> log/17/stderr672 === End of file commands.log === Start of file http_server.log 17:49:53.479571 ====> Client connect 17:49:53.479615 accept_connection 3 returned 4 17:49:53.479634 accept_connection 3 returned 0 17:49:53.479651 Read 93 bytes 17:49:53.479661 Process 93 bytes request 17:49:53.479674 Got request: GET /verifiedserver HTTP/1.1 17:49:53.479683 Are-we-friendly question received 17:49:53.479712 Wrote request (93 bytes) input to log/17/server.input 17:49:53.479728 Identifying ourselves as friends 17:49:53.479804 Response sent (56 bytes) and written to log/17/server.response 17:49:53.479814 special request received, no persistency 17:49:53.479822 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 47112 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file stderr672 URL: http://127.0.0.1:44593/672 === End of file stderr672 === Start of file valgrind672 ==111788== ==111788== Process terminating with default action of signal 4 (SIGILL) ==111788== Illegal opcode at address 0x51D97AF ==111788== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==111788== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==111788== by 0x51D97AF: Curl_open (url.c:502) ==111788== by 0x515120F: curl_easy_init (easy.c:365) ==111788== by 0x4027CF0: test_lib670.lto_priv.0 (lib670.c:105) ==111788== by 0x40034B5: main (first.c:279) ==111788== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==111788== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111788== by 0x51D96BD: Curl_open (url.c:479) ==111788== by 0x515120F: curl_easy_init (easy.c:365) ==111788== by 0x4027CF0: test_lib670.lto_priv.0 (lib670.c:105) ==111788== by 0x40034B5: main (first.c:279) ==111788== === End of file valgrind672 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/12/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:36641/671 > log/12/stdout671 2> log/12/stderr671 671: 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 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/12/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:36641/671 > log/12/stdout671 2> log/12/stderr671 === End of file commands.log === Start of file http_server.log 17:49:53.229118 ====> Client connect 17:49:53.229150 accept_connection 3 returned 4 17:49:53.229169 accept_connection 3 returned 0 17:49:53.229183 Read 93 bytes 17:49:53.229192 Process 93 bytes request 17:49:53.229205 Got request: GET /verifiedserver HTTP/1.1 17:49:53.229213 Are-we-friendly question received 17:49:53.229236 Wrote request (93 bytes) input to log/12/server.input 17:49:53.229250 Identifying ourselves as friends 17:49:53.229301 Response sent (56 bytes) and written to log/12/server.response 17:49:53.229310 special request received, no persistency 17:49:53.229317 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 48134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file stderr671 URL: http://127.0.0.1:36641/671 === End of file stderr671 === Start of file valgrind671 ==111514== ==111514== Process terminating with default action of signal 4 (SIGILL) ==111514== Illegal opcode at address 0x51D97AF ==111514== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==111514== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==111514== by 0x51D97AF: Curl_open (url.c:502) ==111514== by 0x515120F: curl_easy_init (easy.c:365) ==111514== by 0x4027CF0: test_lib670.lto_priv.0 (lib670.c:105) ==111514== by 0x40034B5: main (first.c:279) ==111514== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==111514== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111514== by 0x51D96BD: Curl_open (url.c:479) ==111514== by 0x515120F: curl_easy_init (easy.c:365) ==111514== by 0x4027CF0: test_lib670.lto_priv.0 (lib670.c:105) ==111514== by 0x40034B5: main (first.c:279) ==111514== === End of file valgrind671 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/13/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:43845/653 > log/13/stdout653 2> log/13/stderr653 653: 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 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/13/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:43845/653 > log/13/stdout653 2> log/13/stderr653 === End of file commands.log === Start of file http_server.log 17:49:53.926446 ====> Client connect 17:49:53.926492 accept_connection 3 returned 4 17:49:53.942874 accept_connection 3 returned 0 17:49:53.942914 Read 93 bytes 17:49:53.942925 Process 93 bytes request 17:49:53.942939 Got request: GET /verifiedserver HTTP/1.1 17:49:53.942948 Are-we-friendly question received 17:49:53.942992 Wrote request (93 bytes) input to log/13/server.input 17:49:53.943011 Identifying ourselves as friends 17:49:53.943098 Response sent (56 bytes) and written to log/13/server.response 17:49:53.943107 special request received, no persistency 17:49:53.943116 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 33646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.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/18/valgrind647 ../src/curl -q --output log/18/curl647.out --include --trace-ascii log/18/trace647 --trace-time imap://127.0.0.1:45845/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/18/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/18/stdout647 2> log/18/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/3/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:45927/670 > log/3/stdout670 2> log/3/stderr670 Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file stderr653 URL: http://127.0.0.1:43845/653 === End of file stderr653 === Start of file valgrind653 ==111055== ==111055== Process terminating with default action of signal 4 (SIGILL) ==111055== Illegal opcode at address 0x51D97AF ==111055== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==111055== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==111055== by 0x51D97AF: Curl_open (url.c:502) ==111055== by 0x515120F: curl_easy_init (easy.c:365) ==111055== by 0x40226D0: UnknownInlinedFun (lib653.c:34) ==111055== by 0x40226D0: test_lib653.lto_priv.0 (lib653.c:26) ==111055== by 0x40034B5: main (first.c:279) ==111055== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==111055== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111055== by 0x51D96BD: Curl_open (url.c:479) ==111055== by 0x515120F: curl_easy_init (easy.c:365) ==111055== by 0x40226D0: UnknownInlinedFun (lib653.c:34) ==111055== by 0x40226D0: test_lib653.lto_priv.0 (lib653.c:26) ==111055== by 0x40034B5: main (first.c:279) ==111055== === End of file valgrind653 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 45845 (log/18/server/imap_server.port) RUN: IMAP server is PID 110710 port 45845 * pid imap => 110710 110710 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/18/valgrind647 ../src/curl -q --output log/18/curl647.out --include --trace-ascii log/18/trace647 --trace-time imap://127.0.0.1:45845/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/18/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/18/stdout647 2> log/18/stderr647 647: 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 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/18/valgrind647 ../src/curl -q --output log/18/curl647.out --include --trace-ascii log/18/trace647 --trace-time imap://127.0.0.1:45845/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/18/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/18/stdout647 2> log/18/stderr647 === End of file commands.log === Start of file imap_server.log 17:49:52.654797 IMAP server listens on port IPv4/45845 17:49:52.654921 logged pid 110710 in log/18/server/imap_server.pid 17:49:52.654961 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:49:52.500397 Running IPv4 version 17:49:52.500755 Listening on port 45845 17:49:52.500808 Wrote pid 110717 to log/18/server/imap_sockfilt.pid 17:49:52.500842 Wrote port 45845 to log/18/server/imap_server.port 17:49:52.500867 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 ==111782== ==111782== Process terminating with default action of signal 4 (SIGILL) ==111782== Illegal opcode at address 0x4014520 ==111782== at 0x4014520: getparameter (tool_getparam.c:2862) ==111782== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==111782== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==111782== by 0x4003728: main (tool_main.c:186) === End of file valgrind647 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/3/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:45927/670 > log/3/stdout670 2> log/3/stderr670 670: 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 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/3/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:45927/670 > log/3/stdout670 2> log/3/stderr670 === End of file commands.log === Start of file http_server.log 17:49:53.184523 ====> Client connect 17:49:53.184560 accept_connection 3 returned 4 17:49:53.184579 accept_connection 3 returned 0 17:49:53.184596 Read 93 bytes 17:49:53.184606 Process 93 bytes request 17:49:53.184621 Got request: GET /verifiedserver HTTP/1.1 17:49:53.184631 Are-we-friendly question received 17:49:53.184668 Wrote request (93 bytes) input to log/3/server.input 17:49:53.184689 Identifying ourselves as friends 17:49:53.184753 Response sent (56 bytes) and written to log/3/server.response 17:49:53.184764 special request received, no persistency 17:49:53.184774 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 46296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file stderr670 URL: http://127.0.0.1:45927/670 === End of file stderr670 === Start of file valgrind670 ==111457== ==111457== Process terminating with default action of signal 4 (SIGILL) ==111457== Illegal opcode at address 0x51D97AF ==111457== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==111457== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==111457== by 0x51D97AF: Curl_open (url.c:502) ==111457== by 0x515120F: curl_easy_init (easy.c:365) ==111457== by 0x4027CF0: test_lib670.lto_priv.0 (lib670.c:105) ==111457== by 0x40034B5: main (first.c:279) ==111457== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==111457== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111457== by 0x51D96BD: Curl_open (url.c:479) ==111457== by 0x515120F: curl_easy_init (easy.c:365) ==111457== by 0x4027CF0: test_lib670.lto_priv.0 (lib670.c:105) ==111457=CMD (33792): ../libtool --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/valgrind649 ../src/curl -q --output log/23/curl649.out --include --trace-ascii log/23/trace649 --trace-time smtp://127.0.0.1:41181/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/23/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/23/stdout649 2> log/23/stderr649 CMD (33792): ../libtool --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:42747/668 log/6/file668.txt > log/6/stdout668 2> log/6/stderr668 CMD (33792): ../libtool --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/valgrind648 ../src/curl -q --output log/11/curl648.out --include --trace-ascii log/11/trace648 --trace-time smtp://127.0.0.1:35641/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/11/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/11/stdout648 2> log/11/stderr648 = by 0x40034B5: main (first.c:279) ==111457== === End of file valgrind670 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 41181 (log/23/server/smtp_server.port) RUN: SMTP server is PID 110732 port 41181 * pid smtp => 110732 110732 test 0649...[SMTP multipart with 7bit 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/23/valgrind649 ../src/curl -q --output log/23/curl649.out --include --trace-ascii log/23/trace649 --trace-time smtp://127.0.0.1:41181/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/23/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/23/stdout649 2> log/23/stderr649 649: 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 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/23/valgrind649 ../src/curl -q --output log/23/curl649.out --include --trace-ascii log/23/trace649 --trace-time smtp://127.0.0.1:41181/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/23/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/23/stdout649 2> log/23/stderr649 === End of file commands.log === Start of file server.cmd Testnum 649 === End of file server.cmd === Start of file smtp_server.log 17:49:52.789631 SMTP server listens on port IPv4/41181 17:49:52.789749 logged pid 110732 in log/23/server/smtp_server.pid 17:49:52.789783 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:49:52.635336 Running IPv4 version 17:49:52.635447 Listening on port 41181 17:49:52.635494 Wrote pid 110737 to log/23/server/smtp_sockfilt.pid 17:49:52.635530 Wrote port 41181 to log/23/server/smtp_server.port 17:49:52.635704 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 ==111880== ==111880== Process terminating with default action of signal 4 (SIGILL) ==111880== Illegal opcode at address 0x4014520 ==111880== at 0x4014520: getparameter (tool_getparam.c:2862) ==111880== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==111880== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==111880== by 0x4003728: main (tool_main.c:186) === End of file valgrind649 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:42747/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:42747/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 17:49:53.196238 ====> Client connect 17:49:53.196277 accept_connection 3 returned 4 17:49:53.196293 accept_connection 3 returned 0 17:49:53.196308 Read 93 bytes 17:49:53.196318 Process 93 bytes request 17:49:53.196332 Got request: GET /verifiedserver HTTP/1.1 17:49:53.196341 Are-we-friendly question received 17:49:53.196369 Wrote request (93 bytes) input to log/6/server.input 17:49:53.196386 Identifying ourselves as friends 17:49:53.196460 Response sent (56 bytes) and written to log/6/server.response 17:49:53.196472 special request received, no persistency 17:49:53.196481 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59010 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file stderr668 URL: http://127.0.0.1:42747/668 === End of file stderr668 === Start of file valgrind668 ==111496== ==111496== Process terminating with default action of signal 4 (SIGILL) ==111496== Illegal opcode at address 0x51D97AF ==111496== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==111496== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==111496== by 0x51D97AF: Curl_open (url.c:502) ==111496== by 0x515120F: curl_easy_init (easy.c:365) ==111496== by 0x4026759: test_lib668.lto_priv.0 (lib668.c:66) ==111496== by 0x40034B5: main (first.c:279) ==111496== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==111496== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==111496== by 0x51D96BD: Curl_open (url.c:479) ==111496== by 0x515120F: curl_easy_init (easy.c:365) ==111496== by 0x4026759: test_lib668.lto_priv.0 (lib668.c:66) ==111496== by 0x40034B5: main (first.c:279) ==111496== === End of file valgrind668 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 35641 (log/11/server/smtp_server.port) RUN: SMTP server is PID 110729 port 35641 * pid smtp => 110729 110729 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/11/valgrind648 ../src/curl -q --output log/11/curl648.out --include --trace-ascii log/11/trace648 --trace-time smtp://127.0.0.1:35641/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/11/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/11/stdout648 2> log/11/stderr648 648: 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 648 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppCMD (33792): ../libtool --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/valgrind646 ../src/curl -q --output log/22/curl646.out --include --trace-ascii log/22/trace646 --trace-time smtp://127.0.0.1:40615/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/22/headers646" -F "=)" -F "=@log/22/test646.txt;headers=" log/22/stdout646 2> log/22/stderr646 CMD (33792): ../libtool --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/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:45515/652 > log/8/stdout652 2> log/8/stderr652 ressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind648 ../src/curl -q --output log/11/curl648.out --include --trace-ascii log/11/trace648 --trace-time smtp://127.0.0.1:35641/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/11/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/11/stdout648 2> log/11/stderr648 === End of file commands.log === Start of file server.cmd Testnum 648 === End of file server.cmd === Start of file smtp_server.log 17:49:52.778133 SMTP server listens on port IPv4/35641 17:49:52.778231 logged pid 110729 in log/11/server/smtp_server.pid 17:49:52.778258 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:49:52.623835 Running IPv4 version 17:49:52.623934 Listening on port 35641 17:49:52.623981 Wrote pid 110735 to log/11/server/smtp_sockfilt.pid 17:49:52.624015 Wrote port 35641 to log/11/server/smtp_server.port 17:49:52.624219 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 ==111888== ==111888== Process terminating with default action of signal 4 (SIGILL) ==111888== Illegal opcode at address 0x4014520 ==111888== at 0x4014520: getparameter (tool_getparam.c:2862) ==111888== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==111888== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==111888== by 0x4003728: main (tool_main.c:186) === End of file valgrind648 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 40615 (log/22/server/smtp_server.port) RUN: SMTP server is PID 110701 port 40615 * pid smtp => 110701 110701 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/22/valgrind646 ../src/curl -q --output log/22/curl646.out --include --trace-ascii log/22/trace646 --trace-time smtp://127.0.0.1:40615/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/22/headers646" -F "=)" -F "=@log/22/test646.txt;headers=" log/22/stdout646 2> log/22/stderr646 646: 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 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/22/valgrind646 ../src/curl -q --output log/22/curl646.out --include --trace-ascii log/22/trace646 --trace-time smtp://127.0.0.1:40615/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/22/headers646" -F "=)" -F "=@log/22/test646.txt;headers=" log/22/stdout646 2> log/22/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 17:49:52.620108 SMTP server listens on port IPv4/40615 17:49:52.620240 logged pid 110701 in log/22/server/smtp_server.pid 17:49:52.620278 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:49:52.457278 Running IPv4 version 17:49:52.457389 Listening on port 40615 17:49:52.457476 Wrote pid 110711 to log/22/server/smtp_sockfilt.pid 17:49:52.457514 Wrote port 40615 to log/22/server/smtp_server.port 17:49:52.462849 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 ==111770== ==111770== Process terminating with default action of signal 4 (SIGILL) ==111770== Illegal opcode at address 0x4014520 ==111770== at 0x4014520: getparameter (tool_getparam.c:2862) ==111770== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==111770== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==111770== by 0x4003728: main (tool_main.c:186) === End of file valgrind646 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 45515 (log/8/server/smtp_server.port) RUN: SMTP server is PID 110752 port 45515 * pid smtp => 110752 110752 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/8/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:45515/652 > log/8/stdout652 2> log/8/stderr652 652: 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 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/8/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:45515/652 > log/8/stdout652 2> log/8/stderr652 === End of file commands.log === Start of file server.cmd Testnum 652 === End of file server.cmd === Start of file smtp_server.log 17:49:52.956794 SMTP server listens on port IPv4/45515 17:49:52.956920 logged pid 110752 in log/8/server/smtp_server.pid 17:49:52.956950 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:49:52.794091 Running IPv4 version 17:49:52.794200 Listening on port 45515 17:49:52.794247 Wrote pid 110766 to log/8/server/smtp_sockfilt.pid 17:49:52.794281 Wrote port 45515 to log/8/server/smtp_server.port 17:49:52.799516 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stderr652 URL: smtp://127.0.0.1:45515/652 === End of file stderr652 === Start of file valgrind652 ==112051== ==112051== Process terminating with default action of signal 4 (SIGILL) ==112051== Illegal opcode at address 0x51D97AF ==112051== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==112051== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==112051== by 0x51D97AF: 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/20/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:36145/660 > log/20/stdout660 2> log/20/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/9/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:37413/673 > log/9/stdout673 2> log/9/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/21/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:41669/674 > log/21/stdout674 2> log/21/stderr674 l_open (url.c:502) ==112051== by 0x515120F: curl_easy_init (easy.c:365) ==112051== by 0x4025FCD: test_lib652.lto_priv.0 (lib652.c:48) ==112051== by 0x40034B5: main (first.c:279) ==112051== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==112051== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==112051== by 0x51D96BD: Curl_open (url.c:479) ==112051== by 0x515120F: curl_easy_init (easy.c:365) ==112051== by 0x4025FCD: test_lib652.lto_priv.0 (lib652.c:48) ==112051== by 0x40034B5: main (first.c:279) ==112051== === End of file valgrind652 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 36145 (log/20/server/imap_server.port) RUN: IMAP server is PID 110875 port 36145 * pid imap => 110875 110875 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/20/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:36145/660 > log/20/stdout660 2> log/20/stderr660 660: 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 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/20/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:36145/660 > log/20/stdout660 2> log/20/stderr660 === End of file commands.log === Start of file imap_server.log 17:49:53.120092 IMAP server listens on port IPv4/36145 17:49:53.140202 logged pid 110875 in log/20/server/imap_server.pid 17:49:53.143263 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:49:53.955435 Running IPv4 version 17:49:53.962917 Listening on port 36145 17:49:53.965075 Wrote pid 110989 to log/20/server/imap_sockfilt.pid 17:49:53.965113 Wrote port 36145 to log/20/server/imap_server.port 17:49:53.965139 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 stderr660 URL: imap://127.0.0.1:36145/660 === End of file stderr660 === Start of file valgrind660 ==112071== ==112071== Process terminating with default action of signal 4 (SIGILL) ==112071== Illegal opcode at address 0x51D97AF ==112071== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==112071== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==112071== by 0x51D97AF: Curl_open (url.c:502) ==112071== by 0x515120F: curl_easy_init (easy.c:365) ==112071== by 0x40610F5: test_lib597.part.0.lto_priv.0 (lib597.c:48) ==112071== by 0x40034B5: main (first.c:279) ==112071== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==112071== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==112071== by 0x51D96BD: Curl_open (url.c:479) ==112071== by 0x515120F: curl_easy_init (easy.c:365) ==112071== by 0x40610F5: test_lib597.part.0.lto_priv.0 (lib597.c:48) ==112071== by 0x40034B5: main (first.c:279) ==112071== === End of file valgrind660 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/9/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:37413/673 > log/9/stdout673 2> log/9/stderr673 673: 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 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/9/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:37413/673 > log/9/stdout673 2> log/9/stderr673 === End of file commands.log === Start of file http_server.log 17:49:54.297441 ====> Client connect 17:49:54.297477 accept_connection 3 returned 4 17:49:54.297493 accept_connection 3 returned 0 17:49:54.297508 Read 93 bytes 17:49:54.297517 Process 93 bytes request 17:49:54.297531 Got request: GET /verifiedserver HTTP/1.1 17:49:54.297540 Are-we-friendly question received 17:49:54.297563 Wrote request (93 bytes) input to log/9/server.input 17:49:54.297579 Identifying ourselves as friends 17:49:54.297635 Response sent (56 bytes) and written to log/9/server.response 17:49:54.297645 special request received, no persistency 17:49:54.297654 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 60184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file stderr673 URL: http://127.0.0.1:37413/673 === End of file stderr673 === Start of file valgrind673 ==112190== ==112190== Process terminating with default action of signal 4 (SIGILL) ==112190== Illegal opcode at address 0x51D97AF ==112190== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==112190== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==112190== by 0x51D97AF: Curl_open (url.c:502) ==112190== by 0x515120F: curl_easy_init (easy.c:365) ==112190== by 0x4027CF0: test_lib670.lto_priv.0 (lib670.c:105) ==112190== by 0x40034B5: main (first.c:279) ==112190== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==112190== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==112190== by 0x51D96BD: Curl_open (url.c:479) ==112190== by 0x515120F: curl_easy_init (easy.c:365) ==112190== by 0x4027CF0: test_lib670.lto_priv.0 (lib670.c:105) ==112190== by 0x40034B5: main (first.c:279) ==112190== === End of file valgrind673 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/21/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:41669/674 > log/21/stdout674 2> log/21/stderr674 674: 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 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/21/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:41669/674 > log/21/stdout674 2> log/21/stderr674 === End of file commands.log === Start of file http_server.log 17:49:54.388812 ====> Client connect 17:49:54.388848 accept_connection 3 returned 4 17:49:54.388864 accept_connection 3 returned 0 17:49:54.395297 Read 93 bytes 17:49:54.395321 Process 93 bytes request 17:49:54.395336 Got request: GET /verifiedserver HTTP/1.1 17:49:54.395345 Are-we-friendly question received 17:49:54.395392 Wrote request (93 bytes) input to log/21/server.input 17:49:54.395411 Identifying ourselves as friends 17:49:54.395480 CMD (33792): ../libtool --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/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:34411/we/want/676 log/4/cookies676 > log/4/stdout676 2> log/4/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/19/valgrind683 ../src/curl -q --output log/19/curl683.out --include --trace-ascii log/19/trace683 --trace-time --netrc-optional --netrc-file log/19/netrc683 http://user2@127.0.0.1:36987/ > log/19/stdout683 2> log/19/stderr683 Response sent (56 bytes) and written to log/21/server.response 17:49:54.395490 special request received, no persistency 17:49:54.395499 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 60380 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stderr674 URL: http://127.0.0.1:41669/674 === End of file stderr674 === Start of file valgrind674 ==112241== ==112241== Process terminating with default action of signal 4 (SIGILL) ==112241== Illegal opcode at address 0x51D97AF ==112241== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==112241== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==112241== by 0x51D97AF: Curl_open (url.c:502) ==112241== by 0x515120F: curl_easy_init (easy.c:365) ==112241== by 0x4027250: UnknownInlinedFun (lib674.c:39) ==112241== by 0x4027250: test_lib674.lto_priv.0 (lib674.c:30) ==112241== by 0x40034B5: main (first.c:279) ==112241== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==112241== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==112241== by 0x51D96BD: Curl_open (url.c:479) ==112241== by 0x515120F: curl_easy_init (easy.c:365) ==112241== by 0x4027250: UnknownInlinedFun (lib674.c:39) ==112241== by 0x4027250: test_lib674.lto_priv.0 (lib674.c:30) ==112241== by 0x40034B5: main (first.c:279) ==112241== === End of file valgrind674 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/4/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:34411/we/want/676 log/4/cookies676 > log/4/stdout676 2> log/4/stderr676 676: 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 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/4/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:34411/we/want/676 log/4/cookies676 > log/4/stdout676 2> log/4/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 17:49:55.039575 ====> Client connect 17:49:55.039611 accept_connection 3 returned 4 17:49:55.039629 accept_connection 3 returned 0 17:49:55.039644 Read 93 bytes 17:49:55.039653 Process 93 bytes request 17:49:55.039667 Got request: GET /verifiedserver HTTP/1.1 17:49:55.039676 Are-we-friendly question received 17:49:55.039702 Wrote request (93 bytes) input to log/4/server.input 17:49:55.039718 Identifying ourselves as friends 17:49:55.039781 Response sent (56 bytes) and written to log/4/server.response 17:49:55.039793 special request received, no persistency 17:49:55.039802 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 46886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file stderr676 URL: http://127.0.0.1:34411/we/want/676 === End of file stderr676 === Start of file valgrind676 ==112420== ==112420== Process terminating with default action of signal 4 (SIGILL) ==112420== Illegal opcode at address 0x51D97AF ==112420== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==112420== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==112420== by 0x51D97AF: Curl_open (url.c:502) ==112420== by 0x515120F: curl_easy_init (easy.c:365) ==112420== by 0x4021C86: test_lib676.lto_priv.0 (lib676.c:36) ==112420== by 0x40034B5: main (first.c:279) ==112420== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==112420== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==112420== by 0x51D96BD: Curl_open (url.c:479) ==112420== by 0x515120F: curl_easy_init (easy.c:365) ==112420== by 0x4021C86: test_lib676.lto_priv.0 (lib676.c:36) ==112420== by 0x40034B5: main (first.c:279) ==112420== === End of file valgrind676 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/19/valgrind683 ../src/curl -q --output log/19/curl683.out --include --trace-ascii log/19/trace683 --trace-time --netrc-optional --netrc-file log/19/netrc683 http://user2@127.0.0.1:36987/ > log/19/stdout683 2> log/19/stderr683 683: 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 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/19/valgrind683 ../src/curl -q --output log/19/curl683.out --include --trace-ascii log/19/trace683 --trace-time --netrc-optional --netrc-file log/19/netrc683 http://user2@127.0.0.1:36987/ > log/19/stdout683 2> log/19/stderr683 === End of file commands.log === Start of file http_server.log 17:49:55.262050 ====> Client connect 17:49:55.262102 accept_connection 3 returned 4 17:49:55.262122 accept_connection 3 returned 0 17:49:55.262139 Read 93 bytes 17:49:55.262149 Process 93 bytes request 17:49:55.262166 Got request: GET /verifiedserver HTTP/1.1 17:49:55.262176 Are-we-friendly question received 17:49:55.262208 Wrote request (93 bytes) input to log/19/server.input 17:49:55.262227 Identifying ourselves as friends 17:49:55.262313 Response sent (56 bytes) and written to log/19/server.response 17:49:55.262326 special request received, no persistency 17:49:55.262335 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 53848 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === 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/5/valgrind679 ../src/curl -q --output log/5/curl679.out --include --trace-ascii log/5/trace679 --trace-time --netrc-optional --netrc-file log/5/netrc679 http://127.0.0.1:46875/ > log/5/stdout679 2> log/5/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/10/valgrind681 ../src/curl -q --trace-ascii log/10/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:32889/681 > log/10/stdout681 2> log/10/stderr681 CMD (33792): ../libtool --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/valgrind680 ../src/curl -q --output log/2/curl680.out --include --trace-ascii log/2/trace680 --trace-time --netrc --netrc-file log/2/netrc680 http://user1@http.example/ > log/2/stdout680 2> log/2/stderr680 == Start of file valgrind683 ==112611== ==112611== Process terminating with default action of signal 4 (SIGILL) ==112611== Illegal opcode at address 0x4014520 ==112611== at 0x4014520: getparameter (tool_getparam.c:2862) ==112611== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==112611== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==112611== by 0x4003728: main (tool_main.c:186) === End of file valgrind683 test 0679...[netrc with quoted 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/5/valgrind679 ../src/curl -q --output log/5/curl679.out --include --trace-ascii log/5/trace679 --trace-time --netrc-optional --netrc-file log/5/netrc679 http://127.0.0.1:46875/ > log/5/stdout679 2> log/5/stderr679 679: 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 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/5/valgrind679 ../src/curl -q --output log/5/curl679.out --include --trace-ascii log/5/trace679 --trace-time --netrc-optional --netrc-file log/5/netrc679 http://127.0.0.1:46875/ > log/5/stdout679 2> log/5/stderr679 === End of file commands.log === Start of file http_server.log 17:49:55.139591 ====> Client connect 17:49:55.139630 accept_connection 3 returned 4 17:49:55.139646 accept_connection 3 returned 0 17:49:55.139660 Read 93 bytes 17:49:55.139669 Process 93 bytes request 17:49:55.139681 Got request: GET /verifiedserver HTTP/1.1 17:49:55.139689 Are-we-friendly question received 17:49:55.139723 Wrote request (93 bytes) input to log/5/server.input 17:49:55.139739 Identifying ourselves as friends 17:49:55.139813 Response sent (56 bytes) and written to log/5/server.response 17:49:55.139823 special request received, no persistency 17:49:55.139831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 50556 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === End of file http_verify.out === Start of file netrc679 machine 127.0.0.1 login user1 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: 77918 === End of file server.response === Start of file valgrind679 ==112494== ==112494== Process terminating with default action of signal 4 (SIGILL) ==112494== Illegal opcode at address 0x4014520 ==112494== at 0x4014520: getparameter (tool_getparam.c:2862) ==112494== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==112494== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==112494== by 0x4003728: main (tool_main.c:186) === End of file valgrind679 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/2/valgrind680 ../src/curl -q --output log/2/curl680.out --include --trace-ascii log/2/trace680 --trace-time --netrc --netrc-file log/2/netrc680 http://user1@http.example/ > log/2/stdout680 2> log/2/stderr680 curl returned 132, when expecting 26 680: exit FAILED == Contents of files in the log/2/ 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/2/valgrind680 ../src/curl -q --output log/2/curl680.out --include --trace-ascii log/2/trace680 --trace-time --netrc --netrc-file log/2/netrc680 http://user1@http.example/ > log/2/stdout680 2> log/2/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 ==112460== ==112460== Process terminating with default action of signal 4 (SIGILL) ==112460== Illegal opcode at address 0x4014520 ==112460== at 0x4014520: getparameter (tool_getparam.c:2862) ==112460== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==112460== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==112460== by 0x4003728: main (tool_main.c:186) === End of file valgrind680 CMD (33792): ../libtool --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/valgrind675 ../src/curl -q --output log/24/curl675.out --include --trace-ascii log/24/trace675 --trace-time http://user1:foo1@127.0.0.1:39649/user1/675 http://user2:foo2@127.0.0.1:39649/user2/675 > log/24/stdout675 2> log/24/stderr675 CMD (33792): ../libtool --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/valgrind685 ../src/curl -q --output log/16/curl685.out --include --trace-ascii log/16/trace685 --trace-time --netrc-optional --netrc-file log/16/netrc685 http://user@127.0.0.1:40899/ > log/16/stdout685 2> log/16/stderr685 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/10/valgrind681 ../src/curl -q --trace-ascii log/10/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:32889/681 > log/10/stdout681 2> log/10/stderr681 681: stdout FAILED: --- log/10/check-expected 2026-01-28 17:49:57.576555420 +0000 +++ log/10/check-generated 2026-01-28 17:49:57.576555420 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/10/ 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/10/valgrind681 ../src/curl -q --trace-ascii log/10/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:32889/681 > log/10/stdout681 2> log/10/stderr681 === End of file commands.log === Start of file http_server.log 17:49:55.220937 ====> Client connect 17:49:55.220984 accept_connection 3 returned 4 17:49:55.221007 accept_connection 3 returned 0 17:49:55.221027 Read 93 bytes 17:49:55.221038 Process 93 bytes request 17:49:55.221054 Got request: GET /verifiedserver HTTP/1.1 17:49:55.221064 Are-we-friendly question received 17:49:55.221095 Wrote request (93 bytes) input to log/10/server.input 17:49:55.221115 Identifying ourselves as friends 17:49:55.221233 Response sent (56 bytes) and written to log/10/server.response 17:49:55.221247 special request received, no persistency 17:49:55.221257 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 33160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind681 ==112580== ==112580== Process terminating with default action of signal 4 (SIGILL) ==112580== Illegal opcode at address 0x4014520 ==112580== at 0x4014520: getparameter (tool_getparam.c:2862) ==112580== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==112580== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==112580== by 0x4003728: main (tool_main.c:186) === End of file valgrind681 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/24/valgrind675 ../src/curl -q --output log/24/curl675.out --include --trace-ascii log/24/trace675 --trace-time http://user1:foo1@127.0.0.1:39649/user1/675 http://user2:foo2@127.0.0.1:39649/user2/675 > log/24/stdout675 2> log/24/stderr675 675: 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 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/24/valgrind675 ../src/curl -q --output log/24/curl675.out --include --trace-ascii log/24/trace675 --trace-time http://user1:foo1@127.0.0.1:39649/user1/675 http://user2:foo2@127.0.0.1:39649/user2/675 > log/24/stdout675 2> log/24/stderr675 === End of file commands.log === Start of file http_server.log 17:49:54.909600 ====> Client connect 17:49:54.909648 accept_connection 3 returned 4 17:49:54.909667 accept_connection 3 returned 0 17:49:54.909861 Read 93 bytes 17:49:54.909874 Process 93 bytes request 17:49:54.909888 Got request: GET /verifiedserver HTTP/1.1 17:49:54.909897 Are-we-friendly question received 17:49:54.909928 Wrote request (93 bytes) input to log/24/server.input 17:49:54.909945 Identifying ourselves as friends 17:49:54.910001 Response sent (56 bytes) and written to log/24/server.response 17:49:54.910011 special request received, no persistency 17:49:54.910019 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 51944 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind675 ==112352== ==112352== Process terminating with default action of signal 4 (SIGILL) ==112352== Illegal opcode at address 0x4014520 ==112352== at 0x4014520: getparameter (tool_getparam.c:2862) ==112352== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==112352== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==112352== by 0x4003728: main (tool_main.c:186) === End of file valgrind675 test 0685...[netrc with no login - provided user] ../libtool --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/valgrind685 ../src/curl -q --output log/16/curl685.out --include --trace-ascii log/16/trace685 --trace-time --netrc-optional --netrc-file log/16/netrc685 http://user@127.0.0.1:40899/ > log/16/stdout685 2> log/16/stderr685 685: 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 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/16/valgrind685 ../src/curl -q --output log/16/curl685.out --include --trace-ascii log/16/trace685 --trace-time --netrc-optional --netrc-file log/16/netrc685 http://user@127.0.0.1:40899/ > log/16/stdout685 2> log/16/stderr685 === End of file commands.log === Start of file http_server.log 17:49:55.374089 ====> Client connect 17:49:55.374125 accept_connection 3 returned 4 17:49:55.374143 accept_connection 3 returned 0 17:49:55.374158 Read 93 bytes 17:49:55.374168 Process 93 bytes request 17:49:55.374180 Got request: GET /verifiedserver HTTP/1.1 17:49:55.374190 Are-we-friendly question received 17:49:55.374219 Wrote request (93 bytes) input to log/16/server.input 17:49:55.374237 Identifying ourselves as friends 17:49:55.374304 Response sent (56 bytes) and written to log/16/server.response 17:49:55.374315 special request received, no persistency 17:49:55.374324 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 56542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 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/valgrind682 ../src/curl -q --output log/14/curl682.out --include --trace-ascii log/14/trace682 --trace-time --netrc-optional --netrc-file log/14/netrc682 http://user1@127.0.0.1:37569/ > log/14/stdout682 2> log/14/stderr682 CMD (33792): ../libtool --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/valgrind686 ../src/curl -q --output log/1/curl686.out --include --trace-ascii log/1/trace686 --trace-time htdhdhdtp://localhost --next > log/1/stdout686 2> log/1/stderr686 CMD (33792): ../libtool --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:34067/ -JO --output-dir log/18 > log/18/stdout692 2> log/18/stderr692 27.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === End of file http_verify.out === Start of file netrc685 machine 127.0.0.1 password 5up3r53cr37 === 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: 74819 === End of file server.response === Start of file valgrind685 ==112768== ==112768== Process terminating with default action of signal 4 (SIGILL) ==112768== Illegal opcode at address 0x4014520 ==112768== at 0x4014520: getparameter (tool_getparam.c:2862) ==112768== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==112768== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==112768== by 0x4003728: main (tool_main.c:186) === End of file valgrind685 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/14/valgrind682 ../src/curl -q --output log/14/curl682.out --include --trace-ascii log/14/trace682 --trace-time --netrc-optional --netrc-file log/14/netrc682 http://user1@127.0.0.1:37569/ > log/14/stdout682 2> log/14/stderr682 682: 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 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/14/valgrind682 ../src/curl -q --output log/14/curl682.out --include --trace-ascii log/14/trace682 --trace-time --netrc-optional --netrc-file log/14/netrc682 http://user1@127.0.0.1:37569/ > log/14/stdout682 2> log/14/stderr682 === End of file commands.log === Start of file http_server.log 17:49:56.232738 ====> Client connect 17:49:56.232774 accept_connection 3 returned 4 17:49:56.232791 accept_connection 3 returned 0 17:49:56.234128 Read 93 bytes 17:49:56.234146 Process 93 bytes request 17:49:56.234160 Got request: GET /verifiedserver HTTP/1.1 17:49:56.234169 Are-we-friendly question received 17:49:56.234202 Wrote request (93 bytes) input to log/14/server.input 17:49:56.234218 Identifying ourselves as friends 17:49:56.234272 Response sent (56 bytes) and written to log/14/server.response 17:49:56.234281 special request received, no persistency 17:49:56.234289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43790 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind682 ==112582== ==112582== Process terminating with default action of signal 4 (SIGILL) ==112582== Illegal opcode at address 0x4014520 ==112582== at 0x4014520: getparameter (tool_getparam.c:2862) ==112582== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==112582== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==112582== by 0x4003728: main (tool_main.c:186) === End of file valgrind682 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/1/valgrind686 ../src/curl -q --output log/1/curl686.out --include --trace-ascii log/1/trace686 --trace-time htdhdhdtp://localhost --next > log/1/stdout686 2> log/1/stderr686 curl returned 132, when expecting 2 686: exit FAILED == Contents of files in the log/1/ 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/1/valgrind686 ../src/curl -q --output log/1/curl686.out --include --trace-ascii log/1/trace686 --trace-time htdhdhdtp://localhost --next > log/1/stdout686 2> log/1/stderr686 === End of file commands.log === Start of file server.cmd Testnum 686 === End of file server.cmd === Start of file valgrind686 ==112844== ==112844== Process terminating with default action of signal 4 (SIGILL) ==112844== Illegal opcode at address 0x4014520 ==112844== at 0x4014520: getparameter (tool_getparam.c:2862) ==112844== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==112844== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==112844== by 0x4003728: main (tool_main.c:186) === End of file valgrind686 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:34067/ -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:34067/ -JO --output-dir log/18 > log/18/stdout692 2> log/18/stderr692 === End of file commands.log === Start of file http_server.log 17:49:55.699558 ====> Client connect 17:49:55.699598 accept_connection 3 returned 4 17:49:55.699615 accept_connection 3 returned 0 17:49:55.699774 Read 93 bytes 17:49:55.699792 Process 93 bytes request 17:49:55.699806 Got request: GET /verifiedserver HTTP/1.1 17:49:55.699816 Are-we-friendly question received 17:49:55.699852 Wrote request (93 bytes) input to log/18/server.input 17:49:55.699873 Identifying ourselves as friends 17:49:55.699944 Response sent (56 bytes) and written to log/18/server.response 17:49:55.699956 special request received, no persistency 17:49:55.699965 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 35670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind692 ==113081== ==113081== Process terminating with default action of signal 4 (SIGILL) ==113081== Illegal opcode at address 0x4014520 ==113081== at 0x4014520: getparameter (tool_getparam.c:2862) ==113081== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==113081== by 0x4003728: UnknownInlinedFun (tool_operate.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/7/valgrind684 ../src/curl -q --output log/7/curl684.out --include --trace-ascii log/7/trace684 --trace-time --netrc-optional --netrc-file log/7/netrc684 http://127.0.0.1:35671/ > log/7/stdout684 2> log/7/stderr684 CMD (33792): ../libtool --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/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:39173/path/mine http://127.0.0.1:39173/path/6940010 > log/23/stdout694 2> log/23/stderr694 CMD (33792): ../libtool --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/valgrind693 ../src/curl -q --output log/3/curl693.out --include --trace-ascii log/3/trace693 --trace-time http://127.0.0.1:45927/693 --etag-save log/3/moo/boo/etag693 --create-dirs > log/3/stdout693 2> log/3/stderr693 :2244) ==113081== by 0x4003728: main (tool_main.c:186) === End of file valgrind692 test 0684...[netrc with no 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/7/valgrind684 ../src/curl -q --output log/7/curl684.out --include --trace-ascii log/7/trace684 --trace-time --netrc-optional --netrc-file log/7/netrc684 http://127.0.0.1:35671/ > log/7/stdout684 2> log/7/stderr684 684: 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 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/7/valgrind684 ../src/curl -q --output log/7/curl684.out --include --trace-ascii log/7/trace684 --trace-time --netrc-optional --netrc-file log/7/netrc684 http://127.0.0.1:35671/ > log/7/stdout684 2> log/7/stderr684 === End of file commands.log === Start of file http_server.log 17:49:55.358324 ====> Client connect 17:49:55.358362 accept_connection 3 returned 4 17:49:55.358378 accept_connection 3 returned 0 17:49:55.358391 Read 93 bytes 17:49:55.358401 Process 93 bytes request 17:49:55.358413 Got request: GET /verifiedserver HTTP/1.1 17:49:55.358422 Are-we-friendly question received 17:49:55.358448 Wrote request (93 bytes) input to log/7/server.input 17:49:55.358464 Identifying ourselves as friends 17:49:55.358519 Response sent (56 bytes) and written to log/7/server.response 17:49:55.358528 special request received, no persistency 17:49:55.358537 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 34112 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind684 ==112776== ==112776== Process terminating with default action of signal 4 (SIGILL) ==112776== Illegal opcode at address 0x4014520 ==112776== at 0x4014520: getparameter (tool_getparam.c:2862) ==112776== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==112776== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==112776== by 0x4003728: main (tool_main.c:186) === End of file valgrind684 test 0694...[HTTP with NTLM twice, verify CURLINFO_HTTPAUTH_USED] ../libtool --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/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:39173/path/mine http://127.0.0.1:39173/path/6940010 > log/23/stdout694 2> log/23/stderr694 694: 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 694 === Start of file commands.log ../libtool --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/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:39173/path/mine http://127.0.0.1:39173/path/6940010 > log/23/stdout694 2> log/23/stderr694 === End of file commands.log === Start of file http_server.log 17:49:56.726266 ====> Client connect 17:49:56.726313 accept_connection 3 returned 4 17:49:56.726331 accept_connection 3 returned 0 17:49:56.726345 Read 93 bytes 17:49:56.726354 Process 93 bytes request 17:49:56.726366 Got request: GET /verifiedserver HTTP/1.1 17:49:56.726375 Are-we-friendly question received 17:49:56.726401 Wrote request (93 bytes) input to log/23/server.input 17:49:56.726416 Identifying ourselves as friends 17:49:56.726493 Response sent (56 bytes) and written to log/23/server.response 17:49:56.726503 special request received, no persistency 17:49:56.726510 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 39722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === End of file http_verify.out === Start of file server.cmd Testnum 694 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74812 === End of file server.response === Start of file stderr694 URL: http://127.0.0.1:39173/path/mine === End of file stderr694 === Start of file valgrind694 ==113109== ==113109== Process terminating with default action of signal 4 (SIGILL) ==113109== Illegal opcode at address 0x51D97AF ==113109== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==113109== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==113109== by 0x51D97AF: Curl_open (url.c:502) ==113109== by 0x515120F: curl_easy_init (easy.c:365) ==113109== by 0x4022D81: test_lib694.lto_priv.0 (lib694.c:38) ==113109== by 0x40034B5: main (first.c:279) ==113109== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==113109== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==113109== by 0x51D96BD: Curl_open (url.c:479) ==113109== by 0x515120F: curl_easy_init (easy.c:365) ==113109== by 0x4022D81: test_lib694.lto_priv.0 (lib694.c:38) ==113109== by 0x40034B5: main (first.c:279) ==113109== === End of file valgrind694 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/3/valgrind693 ../src/curl -q --output log/3/curl693.out --include --trace-ascii log/3/trace693 --trace-time http://127.0.0.1:45927/693 --etag-save log/3/moo/boo/etag693 --create-dirs > log/3/stdout693 2> log/3/stderr693 693: 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 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/3/valgrind693 ../src/curl -q --output log/3/curl693.out --include --trace-ascii log/3/trace693 --trace-time http://127.0.0.1:45927/693 --etag-save log/3/moo/boo/etag693 --create-dirs > log/3/stdout693 2> log/3/stderr693 === End of file commands.log === Start of file http_server.log 17:49:55.712918 ====> Client connect 17:49:55.712956 accept_connection 3 returned 4 17:49:55.712972 accept_connection 3 returned 0 17:49:55.712988 Read 93 bytes 17:49:55.712997 Process 93 bytes request 17:49:55.713009 Got request: GET /verifiedserver HTTP/1.1 17:49:55.713018 Are-we-friendly question received 17:49:55.713043 Wrote request (93 bytes) input to log/3/server.input 17:49:55.713058 Identifying ourselves as friends 17:49:55.713129 Response sent (56 bytes) and written to log/3/server.response 17:49:55.713139 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/13/valgrind691 ../src/curl -q --include --trace-ascii log/13/trace691 --trace-time http://127.0.0.1:43845/path/to/here/ -O --output-dir log/13 > log/13/stdout691 2> log/13/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/12/valgrind690 ../src/curl -q --include --trace-ascii log/12/trace690 --trace-time http://127.0.0.1:36641/ -O --output-dir log/12 > log/12/stdout690 2> log/12/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/6/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:42747/we/want/695 > log/6/stdout695 2> log/6/stderr695 7:49:55.713148 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 46308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind693 ==113100== ==113100== Process terminating with default action of signal 4 (SIGILL) ==113100== Illegal opcode at address 0x4014520 ==113100== at 0x4014520: getparameter (tool_getparam.c:2862) ==113100== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==113100== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==113100== by 0x4003728: main (tool_main.c:186) === End of file valgrind693 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/13/valgrind691 ../src/curl -q --include --trace-ascii log/13/trace691 --trace-time http://127.0.0.1:43845/path/to/here/ -O --output-dir log/13 > log/13/stdout691 2> log/13/stderr691 691: 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 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/13/valgrind691 ../src/curl -q --include --trace-ascii log/13/trace691 --trace-time http://127.0.0.1:43845/path/to/here/ -O --output-dir log/13 > log/13/stdout691 2> log/13/stderr691 === End of file commands.log === Start of file http_server.log 17:49:56.689398 ====> Client connect 17:49:56.689440 accept_connection 3 returned 4 17:49:56.689458 accept_connection 3 returned 0 17:49:56.689473 Read 93 bytes 17:49:56.689482 Process 93 bytes request 17:49:56.689513 Got request: GET /verifiedserver HTTP/1.1 17:49:56.689521 Are-we-friendly question received 17:49:56.689546 Wrote request (93 bytes) input to log/13/server.input 17:49:56.689561 Identifying ourselves as friends 17:49:56.689639 Response sent (56 bytes) and written to log/13/server.response 17:49:56.689648 special request received, no persistency 17:49:56.689656 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 33650 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind691 ==113077== ==113077== Process terminating with default action of signal 4 (SIGILL) ==113077== Illegal opcode at address 0x4014520 ==113077== at 0x4014520: getparameter (tool_getparam.c:2862) ==113077== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==113077== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==113077== by 0x4003728: main (tool_main.c:186) === End of file valgrind691 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/12/valgrind690 ../src/curl -q --include --trace-ascii log/12/trace690 --trace-time http://127.0.0.1:36641/ -O --output-dir log/12 > log/12/stdout690 2> log/12/stderr690 690: 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 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/12/valgrind690 ../src/curl -q --include --trace-ascii log/12/trace690 --trace-time http://127.0.0.1:36641/ -O --output-dir log/12 > log/12/stdout690 2> log/12/stderr690 === End of file commands.log === Start of file http_server.log 17:49:55.676247 ====> Client connect 17:49:55.676291 accept_connection 3 returned 4 17:49:55.676311 accept_connection 3 returned 0 17:49:55.676328 Read 93 bytes 17:49:55.676339 Process 93 bytes request 17:49:55.676353 Got request: GET /verifiedserver HTTP/1.1 17:49:55.676362 Are-we-friendly question received 17:49:55.676392 Wrote request (93 bytes) input to log/12/server.input 17:49:55.676412 Identifying ourselves as friends 17:49:55.676498 Response sent (56 bytes) and written to log/12/server.response 17:49:55.676509 special request received, no persistency 17:49:55.676519 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 48138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind690 ==113062== ==113062== Process terminating with default action of signal 4 (SIGILL) ==113062== Illegal opcode at address 0x4014520 ==113062== at 0x4014520: getparameter (tool_getparam.c:2862) ==113062== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==113062== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==113062== by 0x4003728: main (tool_main.c:186) === End of file valgrind690 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/6/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:42747/we/want/695 > log/6/stdout695 2> log/6/stderr695 695: 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 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/6/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:42747/we/want/695 > log/6/stdout695 2> log/6/stderr695 === End of file commands.log === Start of file http_server.log 17:49:55.823867 ====> Client connect 17:49:55.823904 accept_connection 3 returned 4 17:49:55.823920 accept_connection 3 returned 0 17:49:55.823934 Read 93 bytes 17:49:55.823942 Process 93 bytes request 17:49:55.823955 Got request: GET /verifiedserver HTTP/1.1 17:49:55.823964 Are-we-friendly CMD (33792): ../libtool --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/valgrind697 ../src/curl -q --output log/22/curl697.out --include --trace-ascii log/22/trace697 --trace-time --netrc --netrc-file log/22/netrc697 http://user1@http.example/ > log/22/stdout697 2> log/22/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/11/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:46439 > log/11/stdout696 2> log/11/stderr696 question received 17:49:55.823988 Wrote request (93 bytes) input to log/6/server.input 17:49:55.824004 Identifying ourselves as friends 17:49:55.824058 Response sent (56 bytes) and written to log/6/server.response 17:49:55.824066 special request received, no persistency 17:49:55.824074 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59018 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file stderr695 URL: http://127.0.0.1:42747/we/want/695 === End of file stderr695 === Start of file valgrind695 ==113253== ==113253== Process terminating with default action of signal 4 (SIGILL) ==113253== Illegal opcode at address 0x51D97AF ==113253== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==113253== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==113253== by 0x51D97AF: Curl_open (url.c:502) ==113253== by 0x515120F: curl_easy_init (easy.c:365) ==113253== by 0x40262CA: test_lib695.lto_priv.0 (lib695.c:51) ==113253== by 0x40034B5: main (first.c:279) ==113253== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==113253== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==113253== by 0x51D96BD: Curl_open (url.c:479) ==113253== by 0x515120F: curl_easy_init (easy.c:365) ==113253== by 0x40262CA: test_lib695.lto_priv.0 (lib695.c:51) ==113253== by 0x40034B5: main (first.c:279) ==113253== === End of file valgrind695 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/22/valgrind697 ../src/curl -q --output log/22/curl697.out --include --trace-ascii log/22/trace697 --trace-time --netrc --netrc-file log/22/netrc697 http://user1@http.example/ > log/22/stdout697 2> log/22/stderr697 curl returned 132, when expecting 2 697: exit FAILED == Contents of files in the log/22/ 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/22/valgrind697 ../src/curl -q --output log/22/curl697.out --include --trace-ascii log/22/trace697 --trace-time --netrc --netrc-file log/22/netrc697 http://user1@http.example/ > log/22/stdout697 2> log/22/stderr697 === End of file commands.log === Start of file server.cmd Testnum 697 === End of file server.cmd === Start of file valgrind697 ==113290== ==113290== Process terminating with default action of signal 4 (SIGILL) ==113290== Illegal opcode at address 0x4014520 ==113290== at 0x4014520: getparameter (tool_getparam.c:2862) ==113290== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==113290== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==113290== by 0x4003728: main (tool_main.c:186) === End of file valgrind697 CMD (33792): ../libtool --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/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:36263/677 > log/15/stdout677 2> log/15/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/20/valgrind699 ../src/curl -q --output log/20/curl699.out --include --trace-ascii log/20/trace699 --trace-time http://127.0.0.1:46725/699 -K log/20/cmd > log/20/stdout699 2> log/20/stderr699 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/11/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:46439 > log/11/stdout696 2> log/11/stderr696 696: stdout FAILED: --- log/11/check-expected 2026-01-28 17:49:58.299888753 +0000 +++ log/11/check-generated 2026-01-28 17:49:58.299888753 +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/11/ 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/11/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:46439 > log/11/stdout696 2> log/11/stderr696 === End of file commands.log === Start of file http_server.log 17:49:55.876276 ====> Client connect 17:49:55.876324 accept_connection 3 returned 4 17:49:55.876346 accept_connection 3 returned 0 17:49:55.876365 Read 93 bytes 17:49:55.876376 Process 93 bytes request 17:49:55.876391 Got request: GET /verifiedserver HTTP/1.1 17:49:55.876401 Are-we-friendly question received 17:49:55.876431 Wrote request (93 bytes) input to log/11/server.input 17:49:55.876451 Identifying ourselves as friends 17:49:55.876546 Response sent (56 bytes) and written to log/11/server.response 17:49:55.876561 special request received, no persistency 17:49:55.876571 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 50046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file stderr696 URL: http://127.0.0.1:46439 === End of file stderr696 === Start of file valgrind696 ==113317== ==113317== Process terminating with default action of signal 4 (SIGILL) ==113317== Illegal opcode at address 0x51D97AF ==113317== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==113317== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==113317== by 0x51D97AF: Curl_open (url.c:502) ==113317== by 0x515120F: curl_easy_init (easy.c:365) ==113317== by 0x4018F40: test_lib556.lto_priv.0 (lib556.c:37) ==113317== by 0x40034B5: main (first.c:279) ==113317== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==113317== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==113317== by 0x51D96BD: Curl_open (url.c:479) ==113317== by 0x515120F: curl_easy_init (easy.c:365) ==113317== by 0x4018F40: test_lib556.lto_priv.0 (lib556.c:37) ==113317== by 0x40034B5: main (first.c:279) ==113317== === End of file valgrind696 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 36263 (log/15/server/imap_server.port) RUN: IMAP server is PID 112379 port 36263 * pid imap => 112379 112379 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/15/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:36263/677 > log/15/stdout677 2> log/15/stderr677 677: 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 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/15/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:36263/677 > log/15/stdout677 2> log/15/stderr677 === End of file commands.log === Start of file imap_server.log 17:49:55.206062 IMAP server listens on port IPv4/36263 17:49:55.206180 logged pid 112379 in log/15/server/imap_server.pid 17:49:55.206214 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:49:55.051784 Running IPv4 version 17:49:55.051889 Listening on port 36263 17:49:55.051938 Wrote pid 112401 to log/15/server/imap_sockfilt.pid 17:49:55.051971 Wrote port 36263 to log/15/server/imap_server.port 17:49:55.052141 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 stderr677 URL: imap://127.0.0.1:36263/677 === End of file stderr677 === Start of file valgrind677 ==113462== ==113462== Process terminating with default action of signal 4 (SIGILL) ==113462== Illegal opcode at address 0x51A0F00 ==113462== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==113462== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==113462== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==113462== by 0x402844F: test_lib677.lto_priv.0 (lib677.c:40) ==113462== by 0x40034B5: main (first.c:279) ==113462== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==113462== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==113462== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==113462== by 0x402844F: test_lib677.lto_priv.0 (lib677.c:40) ==113462== by 0x40034B5: main (first.c:279) ==113462== === End of file valgrind677 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/20/valgrind699 ../src/curl -q --output log/20/curl699.out --include --trace-ascii log/20/trace699 --trace-time http://127.0.0.1:46725/699 -K log/20/cmd > log/20/stdout699 2> log/20/stderr699 699: 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 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/20/valgrind699 ../src/curl -q --output log/20/curl699.out --include --trace-ascii log/20/trace699 --trace-time http://127.0.0.1:46725/699 -K log/20/cmd > log/20/stdout699 2> log/20/stderr699 === End of file commands.log === Start of file http_server.log 17:4CMD (33792): ../libtool --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/valgrind698 ../src/curl -q --output log/8/curl698.out --include --trace-ascii log/8/trace698 --trace-time ftp://127.0.0.1:42799/698 --ftp-account "one count" ftp://127.0.0.1:42799/698 > log/8/stdout698 2> log/8/stderr698 9:56.139572 ====> Client connect 17:49:56.139613 accept_connection 3 returned 4 17:49:56.139631 accept_connection 3 returned 0 17:49:56.139645 Read 93 bytes 17:49:56.139655 Process 93 bytes request 17:49:56.139667 Got request: GET /verifiedserver HTTP/1.1 17:49:56.139676 Are-we-friendly question received 17:49:56.139702 Wrote request (93 bytes) input to log/20/server.input 17:49:56.139718 Identifying ourselves as friends 17:49:56.139784 Response sent (56 bytes) and written to log/20/server.response 17:49:56.139793 special request received, no persistency 17:49:56.139802 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 45506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind699 ==113568== ==113568== Process terminating with default action of signal 4 (SIGILL) ==113568== Illegal opcode at address 0x4014520 ==113568== at 0x4014520: getparameter (tool_getparam.c:2862) ==113568== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==113568== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==113568== by 0x4003728: main (tool_main.c:186) === End of file valgrind699 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/8/valgrind698 ../src/curl -q --output log/8/curl698.out --include --trace-ascii log/8/trace698 --trace-time ftp://127.0.0.1:42799/698 --ftp-account "one count" ftp://127.0.0.1:42799/698 > log/8/stdout698 2> log/8/stderr698 698: 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 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/8/valgrind698 ../src/curl -q --output log/8/curl698.out --include --trace-ascii log/8/trace698 --trace-time ftp://127.0.0.1:42799/698 --ftp-account "one count" ftp://127.0.0.1:42799/698 > log/8/stdout698 2> log/8/stderr698 === End of file commands.log === Start of file ftp_server.log 17:49:56.189129 ====> Client connect 17:49:56.189303 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:56.196920 < "USER anonymous" 17:49:56.196974 > "331 We are happy you popped in![CR][LF]" 17:49:56.197223 < "PASS ftp@example.com" 17:49:56.197255 > "230 Welcome you silly person[CR][LF]" 17:49:56.197407 < "PWD" 17:49:56.197438 > "257 "/" is current directory[CR][LF]" 17:49:56.198234 < "EPSV" 17:49:56.198263 ====> Passive DATA channel requested by client 17:49:56.198278 DATA sockfilt for passive data channel starting... 17:49:56.227769 DATA sockfilt for passive data channel started (pid 113478) 17:49:56.228016 DATA sockfilt for passive data channel listens on port 34861 17:49:56.228290 > "229 Entering Passive Mode (|||34861|)[CR][LF]" 17:49:56.228351 Client has been notified that DATA conn will be accepted on port 34861 17:49:56.233691 Client connects to port 34861 17:49:56.233765 ====> Client established passive DATA connection on port 34861 17:49:56.233898 < "TYPE I" 17:49:56.233949 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:56.234162 < "SIZE verifiedserver" 17:49:56.234208 > "213 17[CR][LF]" 17:49:56.234383 < "RETR verifiedserver" 17:49:56.234423 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:56.234530 =====> Closing passive DATA connection... 17:49:56.234549 Server disconnects passive DATA connection 17:49:56.234719 Server disconnected passive DATA connection 17:49:56.234746 DATA sockfilt for passive data channel quits (pid 113478) 17:49:56.235000 DATA sockfilt for passive data channel quit (pid 113478) 17:49:56.235029 =====> Closed passive DATA connection 17:49:56.235061 > "226 File transfer complete[CR][LF]" 17:49:56.277033 < "QUIT" 17:49:56.277089 > "221 bye bye baby[CR][LF]" 17:49:56.282440 MAIN sockfilt said DISC 17:49:56.282505 ====> Client disconnected 17:49:56.282584 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:57.035169 ====> Client connect 17:49:57.035501 Received DATA (on stdin) 17:49:57.035514 > 146 bytes data, server => client 17:49:57.035526 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:57.035539 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:57.035548 '220 \___|\___/|_| \_\_____|\r\n' 17:49:57.042865 < 16 bytes data, client => server 17:49:57.042903 'USER anonymous\r\n' 17:49:57.043165 Received DATA (on stdin) 17:49:57.043179 > 33 bytes data, server => client 17:49:57.043190 '331 We are happy you popped in!\r\n' 17:49:57.043295 < 22 bytes data, client => server 17:49:57.043307 'PASS ftp@example.com\r\n' 17:49:57.043439 Received DATA (on stdin) 17:49:57.043450 > 30 bytes data, server => client 17:49:57.043460 '230 Welcome you silly person\r\n' 17:49:57.043509 < 5 bytes data, client => server 17:49:57.043519 'PWD\r\n' 17:49:57.043622 Received DATA (on stdin) 17:49:57.043632 > 30 bytes data, server => client 17:49:57.043642 '257 "/" is current directory\r\n' 17:49:57.044313 < 6 bytes data, client => server 17:49:57.044330 'EPSV\r\n' 17:49:57.074282 Received DATA (on stdin) 17:49:57.074337 > 39 bytes data, server => client 17:49:57.074353 '229 Entering Passive Mode (|||34861|)\r\n' 17:49:57.079801 < 8 bytes data, client => server 17:49:57.079818 'TYPE I\r\n' 17:49:57.080145 Received DATA (on stdin) 17:49:57.080161 > 33 bytes data, server => client 17:49:57.080172 '200 I modify TYPE as you wanted\r\n' 17:49:57.080240 < 21 bytes data, client => server 17:49:57.080253 'SIZE verifiedserver\r\n' 17:49:57.080399 Received DATA (on stdin) 17:49:57.080412 > 8 bytes data, server => client 17:49:57.080421 '213 17\r\n' 17:49:57.080475 < 21 bytes data, client => server 17:49:57.080486 'RETR verifiedserver\r\n' 17:49:57.080834 Received DATA (on stdin) 17:49:57.080846 > 29 bytes data, server => client 17:49:57.080857 '150 Binary junk (17 bytes).\r\n' 17:49:57.081250 Received DATA (on stdin) 17:49:57.081263 > 28 bytes data, server => client 17:49:57.081273 '226 File transfer complete\r\n' 17:49:57.123015 < 6 bytes data, client => server 17:49:57.123049 'QUIT\r\n' 17:49:57.124438 Received DATA (on stdin) 17:49:57.124465 > 18 bytes data, server => client 17:49:57.124476 '221 bye bye baby\r\n' 17:49:57.128540 ====> Client disconnect 17:49:57.128769 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:56.063748 Running IPv4 version 17:49:56.063851 Listening on port 34861 17:49:56.063904 Wrote pid 113478 to log/8/server/ftp_sockdata.pid 17:49:56.072856 Received PING (on stdin) 17:49:56.074065 Received PORT (on stdin) 17:49:56.079738 ====> Client connect 17:49:56.080741 Received DATA (on stdin) 17:49:56.080757 > 17 bytes data, server => client 17:49:56.080767 'WE ROOLZ: 81155\r\n' 17:49:56.080796 Received DISC (on stdin) 17:49:56.080808 ====> Client forcibly disconnected 17:49:56.080941 Received QUIT (on stdin) 17:49:56.080952 quits 17:49:56.081023 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account 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/17/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:44079/689 > log/17/stdout689 2> log/17/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/5/valgrind704 ../src/curl -q --output log/5/curl704.out --include --trace-ascii log/5/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:46875/704 > log/5/stdout704 2> log/5/stderr704 CMD (33792): ../libtool --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/valgrind705 ../src/curl -q --output log/10/curl705.out --include --trace-ascii log/10/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:32889/705 > log/10/stdout705 2> log/10/stderr705 ame REPLY ACCT 230 thank you Testnum 698 === End of file server.cmd === Start of file valgrind698 ==113558== ==113558== Process terminating with default action of signal 4 (SIGILL) ==113558== Illegal opcode at address 0x4014520 ==113558== at 0x4014520: getparameter (tool_getparam.c:2862) ==113558== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==113558== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==113558== by 0x4003728: main (tool_main.c:186) === End of file valgrind698 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/17/server/rtsp_server.pid" --portfile "log/17/server/rtsp_server.port" --logfile "log/17/rtsp_server.log" --logdir "log/17" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 112838 port 44079 * pid rtsp => 112838 112838 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/17/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:44079/689 > log/17/stdout689 2> log/17/stderr689 689: 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 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/17/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:44079/689 > log/17/stdout689 2> log/17/stderr689 === End of file commands.log === Start of file rtsp_server.log 17:49:55.496954 Running IPv4 version on port 44079 17:49:55.497076 Wrote pid 112838 to log/17/server/rtsp_server.pid 17:49:55.497115 Wrote port 44079 to log/17/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 stderr689 URL: rtsp://127.0.0.1:44079/689 === End of file stderr689 === Start of file valgrind689 ==113687== ==113687== Process terminating with default action of signal 4 (SIGILL) ==113687== Illegal opcode at address 0x51D97AF ==113687== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==113687== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==113687== by 0x51D97AF: Curl_open (url.c:502) ==113687== by 0x515120F: curl_easy_init (easy.c:365) ==113687== by 0x40146CA: test_lib567.lto_priv.0 (lib567.c:40) ==113687== by 0x40034B5: main (first.c:279) ==113687== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==113687== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==113687== by 0x51D96BD: Curl_open (url.c:479) ==113687== by 0x515120F: curl_easy_init (easy.c:365) ==113687== by 0x40146CA: test_lib567.lto_priv.0 (lib567.c:40) ==113687== by 0x40034B5: main (first.c:279) ==113687== === End of file valgrind689 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/5/valgrind704 ../src/curl -q --output log/5/curl704.out --include --trace-ascii log/5/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:46875/704 > log/5/stdout704 2> log/5/stderr704 curl returned 132, when expecting 7 704: exit FAILED == Contents of files in the log/5/ 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/5/valgrind704 ../src/curl -q --output log/5/curl704.out --include --trace-ascii log/5/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:46875/704 > log/5/stdout704 2> log/5/stderr704 === End of file commands.log === Start of file http_server.log 17:49:57.379986 ====> Client connect 17:49:57.380022 accept_connection 3 returned 4 17:49:57.380039 accept_connection 3 returned 0 17:49:57.380055 Read 93 bytes 17:49:57.380064 Process 93 bytes request 17:49:57.380077 Got request: GET /verifiedserver HTTP/1.1 17:49:57.380086 Are-we-friendly question received 17:49:57.380111 Wrote request (93 bytes) input to log/5/server.input 17:49:57.380127 Identifying ourselves as friends 17:49:57.380198 Response sent (56 bytes) and written to log/5/server.response 17:49:57.380208 special request received, no persistency 17:49:57.380217 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 50570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind704 ==113835== ==113835== Process terminating with default action of signal 4 (SIGILL) ==113835== Illegal opcode at address 0x4014520 ==113835== at 0x4014520: getparameter (tool_getparam.c:2862) ==113835== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==113835== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==113835== by 0x4003728: main (tool_main.c:186) === End of file valgrind704 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-callers=16 --log-file=log/10/valgrind705 ../src/curl -q --output log/10/curl705.out --include --trace-ascii log/10/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:32889/705 > log/10/stdout705 2> log/10/stderr705 curl returned 132, when expecting 7 705: exit FAILED == Contents of files in the log/10/ 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/10/valgrind705 ../src/curl -q --output log/10/curl705.out --include --trace-ascii log/10/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:32889/705 > log/10/stdout705 2> log/10/stderr705 === End of file commands.log === Start of file http_server.log 17:49:57.542906 ====> Client connect 17:49:57.542944 accept_connection 3 returned 4 17:49:57.542961 accept_connection 3 returned 0 17:49:57.542977 Read 93 bytes 17:49:57.542987 Process 93 bytes request 17:49:57.543001 Got request: GET /verifiedserver HTTP/1.1 17:49:57.543010 Are-we-friendly question received 17:49:57.543036 Wrote request (93 bytes) input to log/10/server.input 17:49:57.543053 Identifying ourselves as friends 17:49:57.543119 Response sent (56 bytes) and written to log/10/server.response 17:49:57.543128 special request received, no persistency 17:49:57.543137 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 33168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === End of file http_verify.out === Start of file server.cmd Testnum 705 === End of file server.cmd === Start of file server.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/9/valgrind700 ../src/curl -q --output log/9/curl700.out --include --trace-ascii log/9/trace700 --trace-time --socks4 127.0.0.1:33193 http://127.0.0.1:37413/700 > log/9/stdout700 2> log/9/stderr700 CMD (33792): ../libtool --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/valgrind701 ../src/curl -q --output log/21/curl701.out --include --trace-ascii log/21/trace701 --trace-time --socks5 127.0.0.1:33413 http://127.0.0.1:41669/701 > log/21/stdout701 2> log/21/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/22/valgrind718 ../src/curl -q --output log/22/curl718.out --include --trace-ascii log/22/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:42933 --proxytunnel > log/22/stdout718 2> log/22/stderr718 se HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74973 === End of file server.response === Start of file valgrind705 ==113922== ==113922== Process terminating with default action of signal 4 (SIGILL) ==113922== Illegal opcode at address 0x4014520 ==113922== at 0x4014520: getparameter (tool_getparam.c:2862) ==113922== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==113922== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==113922== by 0x4003728: main (tool_main.c:186) === End of file valgrind705 startnew: ./server/servers socksd --port 0 --pidfile log/9/server/socks_server.pid --portfile log/9/server/socks_server.port --reqfile log/9/socksd-request.log --logfile log/9/socks_server.log --backend 127.0.0.1 --config log/9/server.cmd RUN: SOCKS server is now running PID 113738 * pid socks => 113738 113738 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/9/valgrind700 ../src/curl -q --output log/9/curl700.out --include --trace-ascii log/9/trace700 --trace-time --socks4 127.0.0.1:33193 http://127.0.0.1:37413/700 > log/9/stdout700 2> log/9/stderr700 700: 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 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/9/valgrind700 ../src/curl -q --output log/9/curl700.out --include --trace-ascii log/9/trace700 --trace-time --socks4 127.0.0.1:33193 http://127.0.0.1:37413/700 > log/9/stdout700 2> log/9/stderr700 === End of file commands.log === Start of file http_server.log 17:49:56.619595 ====> Client connect 17:49:56.619634 accept_connection 3 returned 4 17:49:56.619650 accept_connection 3 returned 0 17:49:56.619665 Read 93 bytes 17:49:56.619674 Process 93 bytes request 17:49:56.619688 Got request: GET /verifiedserver HTTP/1.1 17:49:56.619697 Are-we-friendly question received 17:49:56.619723 Wrote request (93 bytes) input to log/9/server.input 17:49:56.619739 Identifying ourselves as friends 17:49:56.619797 Response sent (56 bytes) and written to log/9/server.response 17:49:56.619806 special request received, no persistency 17:49:56.619814 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 60196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file socks_server.log 17:49:56.631365 Running IPv4 version 17:49:56.631446 Listening on port 33193 17:49:56.631493 Wrote pid 113738 to log/9/server/socks_server.pid 17:49:56.631523 Wrote port 33193 to log/9/server/socks_server.port === End of file socks_server.log === Start of file valgrind700 ==113979== ==113979== Process terminating with default action of signal 4 (SIGILL) ==113979== Illegal opcode at address 0x4014520 ==113979== at 0x4014520: getparameter (tool_getparam.c:2862) ==113979== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==113979== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==113979== by 0x4003728: main (tool_main.c:186) === End of file valgrind700 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 113774 * pid socks => 113774 113774 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/21/valgrind701 ../src/curl -q --output log/21/curl701.out --include --trace-ascii log/21/trace701 --trace-time --socks5 127.0.0.1:33413 http://127.0.0.1:41669/701 > log/21/stdout701 2> log/21/stderr701 701: 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 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/21/valgrind701 ../src/curl -q --output log/21/curl701.out --include --trace-ascii log/21/trace701 --trace-time --socks5 127.0.0.1:33413 http://127.0.0.1:41669/701 > log/21/stdout701 2> log/21/stderr701 === End of file commands.log === Start of file http_server.log 17:49:56.729598 ====> Client connect 17:49:56.729656 accept_connection 3 returned 4 17:49:56.729673 accept_connection 3 returned 0 17:49:56.729691 Read 93 bytes 17:49:56.729700 Process 93 bytes request 17:49:56.729713 Got request: GET /verifiedserver HTTP/1.1 17:49:56.729721 Are-we-friendly question received 17:49:56.729744 Wrote request (93 bytes) input to log/21/server.input 17:49:56.729761 Identifying ourselves as friends 17:49:56.729840 Response sent (56 bytes) and written to log/21/server.response 17:49:56.729850 special request received, no persistency 17:49:56.729857 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 60390 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file socks_server.log 17:49:56.758973 Running IPv4 version 17:49:56.759075 Listening on port 33413 17:49:56.759119 Wrote pid 113774 to log/21/server/socks_server.pid 17:49:56.759149 Wrote port 33413 to log/21/server/socks_server.port === End of file socks_server.log === Start of file valgrind701 ==114101== ==114101== Process terminating with default action of signal 4 (SIGILL) ==114101== Illegal opcode at address 0x4014520 ==114101== at 0x4014520: getparameter (tool_getparam.c:2862) ==114101== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114101== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114101== by 0x4003728: main (tool_main.c:186) === End of file valgrind701 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/22/valgrind718 ../src/curl -q --output log/22/curl718.out --include --trace-ascii log/22/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:42933 --proxytunnel > log/22/stdout718 2> log/22/stderr718 718: 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 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/valgrind702 ../src/curl -q --output log/4/curl702.out --include --trace-ascii log/4/trace702 --trace-time --socks4 127.0.0.1:46615 http://127.0.0.1:47 > log/4/stdout702 2> log/4/stderr702 CMD (33792): ../libtool --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/valgrind722 ../src/curl -q --output log/8/curl722.out --include --trace-ascii log/8/trace722 --trace-time --ipfs-gateway http://127.0.0.1:42045 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout722 2> log/8/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/19/valgrind703 ../src/curl -q --output log/19/curl703.out --include --trace-ascii log/19/trace703 --trace-time --socks5 127.0.0.1:34303 http://127.0.0.1:47 > log/19/stdout703 2> log/19/stderr703 log/22/ 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/22/valgrind718 ../src/curl -q --output log/22/curl718.out --include --trace-ascii log/22/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:42933 --proxytunnel > log/22/stdout718 2> log/22/stderr718 === End of file commands.log === Start of file http_server.log 17:49:58.092915 ====> Client connect 17:49:58.092960 accept_connection 3 returned 4 17:49:58.092982 accept_connection 3 returned 0 17:49:58.092999 Read 93 bytes 17:49:58.093010 Process 93 bytes request 17:49:58.093023 Got request: GET /verifiedserver HTTP/1.1 17:49:58.093033 Are-we-friendly question received 17:49:58.093064 Wrote request (93 bytes) input to log/22/server.input 17:49:58.093088 Identifying ourselves as friends 17:49:58.093171 Response sent (56 bytes) and written to log/22/server.response 17:49:58.093183 special request received, no persistency 17:49:58.093193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 40394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind718 ==114250== ==114250== Process terminating with default action of signal 4 (SIGILL) ==114250== Illegal opcode at address 0x4014520 ==114250== at 0x4014520: getparameter (tool_getparam.c:2862) ==114250== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114250== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114250== by 0x4003728: main (tool_main.c:186) === End of file valgrind718 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 113806 * pid socks => 113806 113806 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:46615 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:46615 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 17:49:57.222166 Running IPv4 version 17:49:57.222253 Listening on port 46615 17:49:57.222299 Wrote pid 113806 to log/4/server/socks_server.pid 17:49:57.222352 Wrote port 46615 to log/4/server/socks_server.port === End of file socks_server.log === Start of file valgrind702 ==114320== ==114320== Process terminating with default action of signal 4 (SIGILL) ==114320== Illegal opcode at address 0x4014520 ==114320== at 0x4014520: getparameter (tool_getparam.c:2862) ==114320== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114320== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114320== by 0x4003728: main (tool_main.c:186) === End of file valgrind702 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/8/valgrind722 ../src/curl -q --output log/8/curl722.out --include --trace-ascii log/8/trace722 --trace-time --ipfs-gateway http://127.0.0.1:42045 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout722 2> log/8/stderr722 722: 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 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/8/valgrind722 ../src/curl -q --output log/8/curl722.out --include --trace-ascii log/8/trace722 --trace-time --ipfs-gateway http://127.0.0.1:42045 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout722 2> log/8/stderr722 === End of file commands.log === Start of file http_server.log 17:49:58.325001 ====> Client connect 17:49:58.325041 accept_connection 3 returned 4 17:49:58.325060 accept_connection 3 returned 0 17:49:58.325077 Read 93 bytes 17:49:58.325087 Process 93 bytes request 17:49:58.325101 Got request: GET /verifiedserver HTTP/1.1 17:49:58.325111 Are-we-friendly question received 17:49:58.325142 Wrote request (93 bytes) input to log/8/server.input 17:49:58.325161 Identifying ourselves as friends 17:49:58.325231 Response sent (56 bytes) and written to log/8/server.response 17:49:58.325244 special request received, no persistency 17:49:58.325254 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 33034 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind722 ==114413== ==114413== Process terminating with default action of signal 4 (SIGILL) ==114413== Illegal opcode at address 0x4014520 ==114413== at 0x4014520: getparameter (tool_getparam.c:2862) ==114413== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114413== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114413== by 0x4003728: main (tool_main.c:186) === End of file valgrind722 startnew: ./server/servers socksd --port 0 --pidfile log/19/server/socks_server.pid --portfile log/19/server/socks_server.port --reqfile log/19/socksd-request.log --logfile log/19/socks_server.log --backend 127.0.0.1 --config log/19/server.cmd RUN: SOCKS server is now running PID 113812 * pid socks => 113812 113812 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/19/valgrind703 ../src/curl -q --output log/19/curl703.out --include --trace-ascii log/19/trace703 --trace-time --socks5 127.0.0.1:34303 http://127.0.0.1:47 > log/19/stdout703 CMD (33792): ../libtool --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/valgrind708 ../src/curl -q --output log/2/curl708.out --include --trace-ascii log/2/trace708 --trace-time http://127.0.0.1:38779/708 > log/2/stdout708 2> log/2/stderr708 CMD (33792): ../libtool --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/valgrind707 ../src/curl -q --output log/16/curl707.out --include --trace-ascii log/16/trace707 --trace-time --socks5 127.0.0.1:37219 ftp://127.0.0.1:39205/ > log/16/stdout707 2> log/16/stderr707 2> log/19/stderr703 curl returned 132, when expecting 97 703: exit FAILED == Contents of files in the log/19/ 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/19/valgrind703 ../src/curl -q --output log/19/curl703.out --include --trace-ascii log/19/trace703 --trace-time --socks5 127.0.0.1:34303 http://127.0.0.1:47 > log/19/stdout703 2> log/19/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 17:49:57.292337 Running IPv4 version 17:49:57.292435 Listening on port 34303 17:49:57.292470 Wrote pid 113812 to log/19/server/socks_server.pid 17:49:57.292496 Wrote port 34303 to log/19/server/socks_server.port === End of file socks_server.log === Start of file valgrind703 ==114382== ==114382== Process terminating with default action of signal 4 (SIGILL) ==114382== Illegal opcode at address 0x4014520 ==114382== at 0x4014520: getparameter (tool_getparam.c:2862) ==114382== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114382== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114382== by 0x4003728: main (tool_main.c:186) === End of file valgrind703 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 113975 * pid socks => 113975 113975 setenv all_proxy = socks4://127.0.0.1:37309 test 0708...[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/2/valgrind708 ../src/curl -q --output log/2/curl708.out --include --trace-ascii log/2/trace708 --trace-time http://127.0.0.1:38779/708 > log/2/stdout708 2> log/2/stderr708 708: 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 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/2/valgrind708 ../src/curl -q --output log/2/curl708.out --include --trace-ascii log/2/trace708 --trace-time http://127.0.0.1:38779/708 > log/2/stdout708 2> log/2/stderr708 === End of file commands.log === Start of file http_server.log 17:49:57.640425 ====> Client connect 17:49:57.640459 accept_connection 3 returned 4 17:49:57.640478 accept_connection 3 returned 0 17:49:57.640492 Read 93 bytes 17:49:57.640503 Process 93 bytes request 17:49:57.640517 Got request: GET /verifiedserver HTTP/1.1 17:49:57.640526 Are-we-friendly question received 17:49:57.640552 Wrote request (93 bytes) input to log/2/server.input 17:49:57.640568 Identifying ourselves as friends 17:49:57.640631 Response sent (56 bytes) and written to log/2/server.response 17:49:57.640641 special request received, no persistency 17:49:57.640650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 39036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file socks_server.log 17:49:57.653323 Running IPv4 version 17:49:57.653383 Listening on port 37309 17:49:57.653422 Wrote pid 113975 to log/2/server/socks_server.pid 17:49:57.653447 Wrote port 37309 to log/2/server/socks_server.port === End of file socks_server.log === Start of file valgrind708 ==114591== ==114591== Process terminating with default action of signal 4 (SIGILL) ==114591== Illegal opcode at address 0x4014520 ==114591== at 0x4014520: getparameter (tool_getparam.c:2862) ==114591== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114591== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114591== by 0x4003728: main (tool_main.c:186) === End of file valgrind708 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 114023 * pid socks => 114023 114023 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/16/valgrind707 ../src/curl -q --output log/16/curl707.out --include --trace-ascii log/16/trace707 --trace-time --socks5 127.0.0.1:37219 ftp://127.0.0.1:39205/ > log/16/stdout707 2> log/16/stderr707 707: 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 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/16/valgrind707 ../src/curl -q --output log/16/curl707.out --include --trace-ascii log/16/trace707 --trace-time --socks5 127.0.0.1:37219 ftp://127.0.0.1:39205/ > log/16/stdout707 2> log/16/stderr707 === End of file commands.log === Start of file ftp_server.log 17:49:57.786805 ====> Client connect 17:49:57.786980 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:57.796867 < "USER anonymous" 17:49:57.796924 > "331 We are happy you popped in![CR][LF]" 17:49:57.800201 < "PASS ftp@example.com" 17:49:57.800252 > "230 Welcome you silly person[CR][LF]" 17:49:57.800460 < "PWD" 17:49:57.800502 > "257 "/" is current directory[CR][LF]" 17:49:57.800700 < "EPSV" 17:49:57.800729 ====> Passive DATA channel requested by client 17:49:57.800747 DATA sockfilt for passive data channel starting... 17:49:57.806702 DATA sockfilt for passive data channel started (pid 113977) 17:49:57.807386 DATA sockfilt for passive data channel listens on port 40291 17:49:57.807444 > "229 Entering Passive Mode (|||40291|)[CR][LF]" 17:49:57.807459 Client has been notified that DATA conn will be accepted on port 40291 17:49:57.807735 Client connects to port 40291 17:49:57.807765 ====> Client established passive DATA connection on port 40291 17:49:57.807851 < "TYPE I" 17:49:57.807883 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:57.808023 < "SIZE verifiedserver" 17:49:57.808055 > "213 17[CR][LF]" 17:49:57.808178 < "RETR verifiedserver" 17:49:57.808208 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:57.808286 =====> Closing passive DATA connection... 17:49:57.808300 Server disconnects passive DATA connection 17:49:57.808498 Server disconnected passive DATA connection 17:49:57.808523 DATA sockfilt for passive data channel quits (pid 113977) 17:49:57.808728 DATA sockfilt for passive data channel quit (pid 113977) 17:49:57.808753 =====> Closed passive DATA connection 17:49:57.808783 > "226 File transfer complete[CR][LF]" 17:49:57.853701 < "QUIT" 17:49:57.853781 > "221 bye bye baby[CR][LF]" 17:49:57.855143 MAIN sockfilt said DISC 17:49:57.855CMD (33792): ../libtool --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/valgrind706 ../src/curl -q --output log/24/curl706.out --include --trace-ascii log/24/trace706 --trace-time --socks4 127.0.0.1:39579 ftp://127.0.0.1:39525/ > log/24/stdout706 2> log/24/stderr706 182 ====> Client disconnected 17:49:57.855280 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:57.632856 ====> Client connect 17:49:57.633185 Received DATA (on stdin) 17:49:57.633202 > 146 bytes data, server => client 17:49:57.633215 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:57.633227 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:57.633237 '220 \___|\___/|_| \_\_____|\r\n' 17:49:57.642853 < 16 bytes data, client => server 17:49:57.642880 'USER anonymous\r\n' 17:49:57.643117 Received DATA (on stdin) 17:49:57.643130 > 33 bytes data, server => client 17:49:57.643141 '331 We are happy you popped in!\r\n' 17:49:57.646242 < 22 bytes data, client => server 17:49:57.646265 'PASS ftp@example.com\r\n' 17:49:57.646446 Received DATA (on stdin) 17:49:57.646460 > 30 bytes data, server => client 17:49:57.646471 '230 Welcome you silly person\r\n' 17:49:57.646534 < 5 bytes data, client => server 17:49:57.646551 'PWD\r\n' 17:49:57.646694 Received DATA (on stdin) 17:49:57.646706 > 30 bytes data, server => client 17:49:57.646717 '257 "/" is current directory\r\n' 17:49:57.646785 < 6 bytes data, client => server 17:49:57.646799 'EPSV\r\n' 17:49:57.653648 Received DATA (on stdin) 17:49:57.653664 > 39 bytes data, server => client 17:49:57.653673 '229 Entering Passive Mode (|||40291|)\r\n' 17:49:57.653846 < 8 bytes data, client => server 17:49:57.653859 'TYPE I\r\n' 17:49:57.654065 Received DATA (on stdin) 17:49:57.654075 > 33 bytes data, server => client 17:49:57.654083 '200 I modify TYPE as you wanted\r\n' 17:49:57.654131 < 21 bytes data, client => server 17:49:57.654140 'SIZE verifiedserver\r\n' 17:49:57.654235 Received DATA (on stdin) 17:49:57.654244 > 8 bytes data, server => client 17:49:57.654252 '213 17\r\n' 17:49:57.654291 < 21 bytes data, client => server 17:49:57.654300 'RETR verifiedserver\r\n' 17:49:57.654481 Received DATA (on stdin) 17:49:57.654491 > 29 bytes data, server => client 17:49:57.654500 '150 Binary junk (17 bytes).\r\n' 17:49:57.654972 Received DATA (on stdin) 17:49:57.654983 > 28 bytes data, server => client 17:49:57.654993 '226 File transfer complete\r\n' 17:49:57.699645 < 6 bytes data, client => server 17:49:57.699688 'QUIT\r\n' 17:49:57.699979 Received DATA (on stdin) 17:49:57.699995 > 18 bytes data, server => client 17:49:57.700006 '221 bye bye baby\r\n' 17:49:57.701268 ====> Client disconnect 17:49:57.701478 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:57.650800 Running IPv4 version 17:49:57.650885 Listening on port 40291 17:49:57.650933 Wrote pid 113977 to log/16/server/ftp_sockdata.pid 17:49:57.650955 Received PING (on stdin) 17:49:57.653465 Received PORT (on stdin) 17:49:57.653877 ====> Client connect 17:49:57.654521 Received DATA (on stdin) 17:49:57.654532 > 17 bytes data, server => client 17:49:57.654540 'WE ROOLZ: 81124\r\n' 17:49:57.654562 Received DISC (on stdin) 17:49:57.654571 ====> Client forcibly disconnected 17:49:57.654712 Received QUIT (on stdin) 17:49:57.654721 quits 17:49:57.654779 ============> 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 17:49:57.708700 Running IPv4 version 17:49:57.708793 Listening on port 37219 17:49:57.708875 Wrote pid 114023 to log/16/server/socks_server.pid 17:49:57.708911 Wrote port 37219 to log/16/server/socks_server.port === End of file socks_server.log === Start of file valgrind707 ==114621== ==114621== Process terminating with default action of signal 4 (SIGILL) ==114621== Illegal opcode at address 0x4014520 ==114621== at 0x4014520: getparameter (tool_getparam.c:2862) ==114621== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114621== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114621== by 0x4003728: main (tool_main.c:186) === End of file valgrind707 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 113941 * pid socks => 113941 113941 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/24/valgrind706 ../src/curl -q --output log/24/curl706.out --include --trace-ascii log/24/trace706 --trace-time --socks4 127.0.0.1:39579 ftp://127.0.0.1:39525/ > log/24/stdout706 2> log/24/stderr706 706: 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 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/24/valgrind706 ../src/curl -q --output log/24/curl706.out --include --trace-ascii log/24/trace706 --trace-time --socks4 127.0.0.1:39579 ftp://127.0.0.1:39525/ > log/24/stdout706 2> log/24/stderr706 === End of file commands.log === Start of file ftp_server.log 17:49:57.680180 ====> Client connect 17:49:57.680352 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:57.680639 < "USER anonymous" 17:49:57.680675 > "331 We are happy you popped in![CR][LF]" 17:49:57.680839 < "PASS ftp@example.com" 17:49:57.680865 > "230 Welcome you silly person[CR][LF]" 17:49:57.681014 < "PWD" 17:49:57.681043 > "257 "/" is current directory[CR][LF]" 17:49:57.681199 < "EPSV" 17:49:57.681222 ====> Passive DATA channel requested by client 17:49:57.681236 DATA sockfilt for passive data channel starting... 17:49:57.691420 DATA sockfilt for passive data channel started (pid 113900) 17:49:57.691568 DATA sockfilt for passive data channel listens on port 46401 17:49:57.691622 > "229 Entering Passive Mode (|||46401|)[CR][LF]" 17:49:57.691642 Client has been notified that DATA conn will be accepted on port 46401 17:49:57.691872 Client connects to port 46401 17:49:57.691903 ====> Client established passive DATA connection on port 46401 17:49:57.692036 < "TYPE I" 17:49:57.692074 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:57.692247 < "SIZE verifiedserver" 17:49:57.692295 > "213 17[CR][LF]" 17:49:57.692482 < "RETR verifiedserver" 17:49:57.692524 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:57.692621 =====> Closing passive DATA connection... 17:49:57.692645 Server disconnects passive DATA connection 17:49:57.692829 Server disconnected passive DATA connection 17:49:57.692856 DATA sockfilt for passive data channel quits (pid 113900) 17:49:57.693094 DATA sockfilt for passive data channel quit (pid 113900) 17:49:57.693123 =====> Closed passive DATA connection 17:49:57.693156 > "226 File transfer complete[CR][LF]" 17:49:57.740387 < "QUIT" 17:49:57.740449 > "221 bye bye baby[CR][LF]" 17:49:57.741881 MAIN sockfilt said DISC 17:49:57.741924 ====> Client disconnected 17:49:57.742026 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:58.526221 ====> Client connect 17:49:58.526547 Received DATA (on stdin) 17:49:58.526560 > 146 bytes data, server => client 17:49:58.526572 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:58.526583 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:58.526592 '220 \___|\___/|_| \_\_____|\r\n' 17:49:58.526672 < 16 bytes data, client => server 17:49:58.526684 'USER anonymous\r\n' 17:49:58.526862 Received DATA (on stdin) 17:49:58.526874 > 33 bytes data, server => client 17:49:58.526885 '331 We are happy you popped in!\r\n' 17:49:58.526936 < 22 bytes data, client => server 17:49:58.526947 'PASS ftp@example.com\r\n' 17:49:58.527049 CMD (33792): ../libtool --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/valgrind723 ../src/curl -q --output log/17/curl723.out --include --trace-ascii log/17/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/17/stdout723 2> log/17/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/14/valgrind709 ../src/curl -q --output log/14/curl709.out --include --trace-ascii log/14/trace709 --trace-time http://127.0.0.1:37569/709 > log/14/stdout709 2> log/14/stderr709 Received DATA (on stdin) 17:49:58.527059 > 30 bytes data, server => client 17:49:58.527069 '230 Welcome you silly person\r\n' 17:49:58.527117 < 5 bytes data, client => server 17:49:58.527126 'PWD\r\n' 17:49:58.527225 Received DATA (on stdin) 17:49:58.527235 > 30 bytes data, server => client 17:49:58.527245 '257 "/" is current directory\r\n' 17:49:58.527304 < 6 bytes data, client => server 17:49:58.527315 'EPSV\r\n' 17:49:58.537838 Received DATA (on stdin) 17:49:58.537856 > 39 bytes data, server => client 17:49:58.537867 '229 Entering Passive Mode (|||46401|)\r\n' 17:49:58.538107 < 8 bytes data, client => server 17:49:58.538119 'TYPE I\r\n' 17:49:58.538261 Received DATA (on stdin) 17:49:58.538273 > 33 bytes data, server => client 17:49:58.538283 '200 I modify TYPE as you wanted\r\n' 17:49:58.538337 < 21 bytes data, client => server 17:49:58.538349 'SIZE verifiedserver\r\n' 17:49:58.538489 Received DATA (on stdin) 17:49:58.538502 > 8 bytes data, server => client 17:49:58.538512 '213 17\r\n' 17:49:58.538569 < 21 bytes data, client => server 17:49:58.538583 'RETR verifiedserver\r\n' 17:49:58.538936 Received DATA (on stdin) 17:49:58.538951 > 29 bytes data, server => client 17:49:58.538962 '150 Binary junk (17 bytes).\r\n' 17:49:58.539348 Received DATA (on stdin) 17:49:58.539362 > 28 bytes data, server => client 17:49:58.539373 '226 File transfer complete\r\n' 17:49:58.586318 < 6 bytes data, client => server 17:49:58.586364 'QUIT\r\n' 17:49:58.586641 Received DATA (on stdin) 17:49:58.586654 > 18 bytes data, server => client 17:49:58.586665 '221 bye bye baby\r\n' 17:49:58.588001 ====> Client disconnect 17:49:58.588216 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:57.537188 Running IPv4 version 17:49:57.537286 Listening on port 46401 17:49:57.537324 Wrote pid 113900 to log/24/server/ftp_sockdata.pid 17:49:57.537537 Received PING (on stdin) 17:49:57.537651 Received PORT (on stdin) 17:49:57.538006 ====> Client connect 17:49:57.538837 Received DATA (on stdin) 17:49:57.538852 > 17 bytes data, server => client 17:49:57.538863 'WE ROOLZ: 81152\r\n' 17:49:57.538893 Received DISC (on stdin) 17:49:57.538908 ====> Client forcibly disconnected 17:49:57.539049 Received QUIT (on stdin) 17:49:57.539061 quits 17:49:57.539125 ============> 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 17:49:57.592127 Running IPv4 version 17:49:57.592208 Listening on port 39579 17:49:57.592244 Wrote pid 113941 to log/24/server/socks_server.pid 17:49:57.592274 Wrote port 39579 to log/24/server/socks_server.port === End of file socks_server.log === Start of file valgrind706 ==114562== ==114562== Process terminating with default action of signal 4 (SIGILL) ==114562== Illegal opcode at address 0x4014520 ==114562== at 0x4014520: getparameter (tool_getparam.c:2862) ==114562== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114562== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114562== by 0x4003728: main (tool_main.c:186) === End of file valgrind706 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/17/valgrind723 ../src/curl -q --output log/17/curl723.out --include --trace-ascii log/17/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/17/stdout723 2> log/17/stderr723 curl returned 132, when expecting 43 723: exit FAILED == Contents of files in the log/17/ 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/17/valgrind723 ../src/curl -q --output log/17/curl723.out --include --trace-ascii log/17/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/17/stdout723 2> log/17/stderr723 === End of file commands.log === Start of file http_server.log 17:49:58.458780 ====> Client connect 17:49:58.458816 accept_connection 3 returned 4 17:49:58.458834 accept_connection 3 returned 0 17:49:58.458850 Read 93 bytes 17:49:58.458860 Process 93 bytes request 17:49:58.458874 Got request: GET /verifiedserver HTTP/1.1 17:49:58.458883 Are-we-friendly question received 17:49:58.458912 Wrote request (93 bytes) input to log/17/server.input 17:49:58.458930 Identifying ourselves as friends 17:49:58.458993 Response sent (56 bytes) and written to log/17/server.response 17:49:58.459005 special request received, no persistency 17:49:58.459015 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 34622 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind723 ==114504== ==114504== Process terminating with default action of signal 4 (SIGILL) ==114504== Illegal opcode at address 0x4014520 ==114504== at 0x4014520: getparameter (tool_getparam.c:2862) ==114504== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114504== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114504== by 0x4003728: main (tool_main.c:186) === End of file valgrind723 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 114045 * pid socks => 114045 114045 setenv http_proxy = socks5://127.0.0.1:45593 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/14/valgrind709 ../src/curl -q --output log/14/curl709.out --include --trace-ascii log/14/trace709 --trace-time http://127.0.0.1:37569/709 > log/14/stdout709 2> log/14/stderr709 709: 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 709 === Start of file commands.log ../libtool --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/valgrind709 ../src/curl -q --output log/14/curl709.out --include --trace-ascii log/14/trace709 --trace-time http://127.0.0.1:37569/709 > log/14/stdout709 2> log/14/stderr709 === End of file commands.log === Start of file http_server.log 17:49:58.726910 ====> Client connect 17:49:58.726945 accept_connection 3 returned 4 17:49:58.726963 accept_connection 3 returned 0 17:49:58.726978 Read 93 bytes 17:49:58.726987 Process 93 bytes request 17:49:58.727002 Got request: GET /verifiedserver HTTP/1.1 17:49:58.727011 Are-we-friendly question received 17:49:58.727037 Wrote request (93 bytes) input to log/14/server.input 17:49:58.727053 Identifying ourselves as friends 17:49:58.727111 Response sent (56 bytes) and written to log/14/server.response 17:49:58.727122 special request received, no persistencCMD (33792): ../libtool --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/valgrind717 ../src/curl -q --output log/6/curl717.out --include --trace-ascii log/6/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:33537 > log/6/stdout717 2> log/6/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/18/valgrind711 ../src/curl -q --output log/18/curl711.out --include --trace-ascii log/18/trace711 --trace-time ftp://127.0.0.1:36869/711 > log/18/stdout711 2> log/18/stderr711 y 17:49:58.727131 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 59510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file socks_server.log 17:49:57.746844 Running IPv4 version 17:49:57.746943 Listening on port 45593 17:49:57.746985 Wrote pid 114045 to log/14/server/socks_server.pid 17:49:57.747017 Wrote port 45593 to log/14/server/socks_server.port === End of file socks_server.log === Start of file valgrind709 ==114639== ==114639== Process terminating with default action of signal 4 (SIGILL) ==114639== Illegal opcode at address 0x4014520 ==114639== at 0x4014520: getparameter (tool_getparam.c:2862) ==114639== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114639== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114639== by 0x4003728: main (tool_main.c:186) === End of file valgrind709 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 114185 * pid socks => 114185 114185 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/6/valgrind717 ../src/curl -q --output log/6/curl717.out --include --trace-ascii log/6/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:33537 > log/6/stdout717 2> log/6/stderr717 717: 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 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/6/valgrind717 ../src/curl -q --output log/6/curl717.out --include --trace-ascii log/6/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:33537 > log/6/stdout717 2> log/6/stderr717 === End of file commands.log === Start of file http_server.log 17:49:59.079551 ====> Client connect 17:49:59.079589 accept_connection 3 returned 4 17:49:59.079608 accept_connection 3 returned 0 17:49:59.079622 Read 93 bytes 17:49:59.079633 Process 93 bytes request 17:49:59.079647 Got request: GET /verifiedserver HTTP/1.1 17:49:59.079656 Are-we-friendly question received 17:49:59.079685 Wrote request (93 bytes) input to log/6/server.input 17:49:59.079704 Identifying ourselves as friends 17:49:59.079776 Response sent (56 bytes) and written to log/6/server.response 17:49:59.079789 special request received, no persistency 17:49:59.079797 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 35502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === End of file http_verify.out === Start of file server.cmd method 2 user uz3r password p4ssworm backendport 42747 Testnum 717 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76292 === End of file server.response === Start of file socks_server.log 17:49:58.008151 Running IPv4 version 17:49:58.008245 Listening on port 33537 17:49:58.008282 Wrote pid 114185 to log/6/server/socks_server.pid 17:49:58.008313 Wrote port 33537 to log/6/server/socks_server.port === End of file socks_server.log === Start of file valgrind717 ==114979== ==114979== Process terminating with default action of signal 4 (SIGILL) ==114979== Illegal opcode at address 0x4014520 ==114979== at 0x4014520: getparameter (tool_getparam.c:2862) ==114979== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114979== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114979== by 0x4003728: main (tool_main.c:186) === End of file valgrind717 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 114151 * pid socks => 114151 114151 setenv all_proxy = socks5://127.0.0.1:41587 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/18/valgrind711 ../src/curl -q --output log/18/curl711.out --include --trace-ascii log/18/trace711 --trace-time ftp://127.0.0.1:36869/711 > log/18/stdout711 2> log/18/stderr711 711: 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 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/18/valgrind711 ../src/curl -q --output log/18/curl711.out --include --trace-ascii log/18/trace711 --trace-time ftp://127.0.0.1:36869/711 > log/18/stdout711 2> log/18/stderr711 === End of file commands.log === Start of file ftp_server.log 17:49:58.040127 ====> Client connect 17:49:58.040319 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:58.040712 < "USER anonymous" 17:49:58.040758 > "331 We are happy you popped in![CR][LF]" 17:49:58.040957 < "PASS ftp@example.com" 17:49:58.040990 > "230 Welcome you silly person[CR][LF]" 17:49:58.041174 < "PWD" 17:49:58.041211 > "257 "/" is current directory[CR][LF]" 17:49:58.041390 < "EPSV" 17:49:58.041416 ====> Passive DATA channel requested by client 17:49:58.041431 DATA sockfilt for passive data channel starting... 17:49:58.049147 DATA sockfilt for passive data channel started (pid 114108) 17:49:58.049309 DATA sockfilt for passive data channel listens on port 46367 17:49:58.049373 > "229 Entering Passive Mode (|||46367|)[CR][LF]" 17:49:58.049399 Client has been notified that DATA conn will be accepted on port 46367 17:49:58.049739 Client connects to port 46367 17:49:58.049774 ====> Client established passive DATA connection on port 46367 17:49:58.049873 < "TYPE I" 17:49:58.049915 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:58.057926 < "SIZE verifiedserver" 17:49:58.057997 > "213 17[CR][LF]" 17:49:58.062093 < "RETR verifiedserver" 17:49:58.062160 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:58.062277 =====> Closing passive DATA connection... 17:49:58.062302 Server disconnects passive DATA connection 17:49:58.062511 Server disconnected passive DATA connection 17:49:58.062542 DATA sockfilt for passive data channel quits (pid 114108) 17:49:58.070040 DATA sockfilt for passive data channel quitCMD (33792): ../libtool --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:46399 --proxy socks5://127.0.0.1:35857 > log/23/stdout713 2> log/23/stderr713 (pid 114108) 17:49:58.070112 =====> Closed passive DATA connection 17:49:58.070161 > "226 File transfer complete[CR][LF]" 17:49:58.106992 < "QUIT" 17:49:58.107055 > "221 bye bye baby[CR][LF]" 17:49:58.108038 MAIN sockfilt said DISC 17:49:58.108072 ====> Client disconnected 17:49:58.108155 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:58.878388 ====> Client connect 17:49:58.886524 Received DATA (on stdin) 17:49:58.886545 > 146 bytes data, server => client 17:49:58.886557 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:58.886568 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:58.886578 '220 \___|\___/|_| \_\_____|\r\n' 17:49:58.886716 < 16 bytes data, client => server 17:49:58.886733 'USER anonymous\r\n' 17:49:58.886952 Received DATA (on stdin) 17:49:58.886966 > 33 bytes data, server => client 17:49:58.886978 '331 We are happy you popped in!\r\n' 17:49:58.887036 < 22 bytes data, client => server 17:49:58.887050 'PASS ftp@example.com\r\n' 17:49:58.887178 Received DATA (on stdin) 17:49:58.887192 > 30 bytes data, server => client 17:49:58.887203 '230 Welcome you silly person\r\n' 17:49:58.887261 < 5 bytes data, client => server 17:49:58.887274 'PWD\r\n' 17:49:58.887401 Received DATA (on stdin) 17:49:58.887414 > 30 bytes data, server => client 17:49:58.887425 '257 "/" is current directory\r\n' 17:49:58.887488 < 6 bytes data, client => server 17:49:58.887500 'EPSV\r\n' 17:49:58.895597 Received DATA (on stdin) 17:49:58.895616 > 39 bytes data, server => client 17:49:58.895628 '229 Entering Passive Mode (|||46367|)\r\n' 17:49:58.895867 < 8 bytes data, client => server 17:49:58.895880 'TYPE I\r\n' 17:49:58.896110 Received DATA (on stdin) 17:49:58.896124 > 33 bytes data, server => client 17:49:58.896135 '200 I modify TYPE as you wanted\r\n' 17:49:58.901684 < 21 bytes data, client => server 17:49:58.903953 'SIZE verifiedserver\r\n' 17:49:58.904194 Received DATA (on stdin) 17:49:58.904209 > 8 bytes data, server => client 17:49:58.904220 '213 17\r\n' 17:49:58.908108 < 21 bytes data, client => server 17:49:58.908137 'RETR verifiedserver\r\n' 17:49:58.908492 Received DATA (on stdin) 17:49:58.908506 > 29 bytes data, server => client 17:49:58.908517 '150 Binary junk (17 bytes).\r\n' 17:49:58.916367 Received DATA (on stdin) 17:49:58.916387 > 28 bytes data, server => client 17:49:58.916398 '226 File transfer complete\r\n' 17:49:58.952981 < 6 bytes data, client => server 17:49:58.953017 'QUIT\r\n' 17:49:58.953247 Received DATA (on stdin) 17:49:58.953261 > 18 bytes data, server => client 17:49:58.953271 '221 bye bye baby\r\n' 17:49:58.954167 ====> Client disconnect 17:49:58.954345 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:58.893837 Running IPv4 version 17:49:58.893950 Listening on port 46367 17:49:58.894001 Wrote pid 114108 to log/18/server/ftp_sockdata.pid 17:49:58.895244 Received PING (on stdin) 17:49:58.895382 Received PORT (on stdin) 17:49:58.895834 ====> Client connect 17:49:58.908563 Received DATA (on stdin) 17:49:58.908584 > 17 bytes data, server => client 17:49:58.908595 'WE ROOLZ: 82094\r\n' 17:49:58.908626 Received DISC (on stdin) 17:49:58.908640 ====> Client forcibly disconnected 17:49:58.908859 Received QUIT (on stdin) 17:49:58.908876 quits 17:49:58.914230 ============> 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 17:49:58.967022 Running IPv4 version 17:49:58.967104 Listening on port 41587 17:49:58.967144 Wrote pid 114151 to log/18/server/socks_server.pid 17:49:58.967176 Wrote port 41587 to log/18/server/socks_server.port === End of file socks_server.log === Start of file valgrind711 ==114823== ==114823== Process terminating with default action of signal 4 (SIGILL) ==114823== Illegal opcode at address 0x4014520 ==114823== at 0x4014520: getparameter (tool_getparam.c:2862) ==114823== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114823== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114823== by 0x4003728: main (tool_main.c:186) === 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 114225 * pid socks => 114225 114225 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:46399 --proxy socks5://127.0.0.1:35857 > 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:46399 --proxy socks5://127.0.0.1:35857 > log/23/stdout713 2> log/23/stderr713 === End of file commands.log === Start of file ftp_server.log 17:49:58.132286 ====> Client connect 17:49:58.132450 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:58.140220 < "USER anonymous" 17:49:58.140278 > "331 We are happy you popped in![CR][LF]" 17:49:58.140505 < "PASS ftp@example.com" 17:49:58.140537 > "230 Welcome you silly person[CR][LF]" 17:49:58.140678 < "PWD" 17:49:58.140708 > "257 "/" is current directory[CR][LF]" 17:49:58.140846 < "EPSV" 17:49:58.140874 ====> Passive DATA channel requested by client 17:49:58.140886 DATA sockfilt for passive data channel starting... 17:49:58.153645 DATA sockfilt for passive data channel started (pid 114177) 17:49:58.153805 DATA sockfilt for passive data channel listens on port 37877 17:49:58.153866 > "229 Entering Passive Mode (|||37877|)[CR][LF]" 17:49:58.153886 Client has been notified that DATA conn will be accepted on port 37877 17:49:58.154228 Client connects to port 37877 17:49:58.154266 ====> Client established passive DATA connection on port 37877 17:49:58.154373 < "TYPE I" 17:49:58.154410 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:58.154595 < "SIZE verifiedserver" 17:49:58.154643 > "213 17[CR][LF]" 17:49:58.154802 < "RETR verifiedserver" 17:49:58.154839 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:58.154932 =====> Closing passive DATA connection... 17:49:58.154949 Server disconnects passive DATA connection 17:49:58.155197 Server disconnected passive DATA connection 17:49:58.155222 DATA sockfilt for passive data channel quits (pid 114177) 17:49:58.155461 DATA sockfilt for passive data channel quit (pid 114177) 17:49:58.155485 =====> Closed passive DATA connection 17:49:58.155515 > "226 File transfer complete[CR][LF]" 17:49:58.203544 < "QUIT" 17:49:58.203604 > "221 bye bye baby[CR][LF]" 17:49:58.204846 MAIN sockfilt said DISC 17:49:58.204891 ====> Client disconnected 17:49:58.204984 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:58.978353 ====> Client connect 17:49:58.979512 Received DATA (on stdin) 17:49:58.979543 > 146 bytes data, server => client 17:49:58.979554 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:58.979563 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:58.979571 '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/7/valgrind712 ../src/curl -q --output log/7/curl712.out --include --trace-ascii log/7/trace712 --trace-time ftp://127.0.0.1:42667/712 --proxy socks5://127.0.0.1:33345 > log/7/stdout712 2> log/7/stderr712 |_| \_\_____|\r\n' 17:49:58.986195 < 16 bytes data, client => server 17:49:58.986218 'USER anonymous\r\n' 17:49:58.986467 Received DATA (on stdin) 17:49:58.986481 > 33 bytes data, server => client 17:49:58.986490 '331 We are happy you popped in!\r\n' 17:49:58.986586 < 22 bytes data, client => server 17:49:58.986596 'PASS ftp@example.com\r\n' 17:49:58.986719 Received DATA (on stdin) 17:49:58.986728 > 30 bytes data, server => client 17:49:58.986737 '230 Welcome you silly person\r\n' 17:49:58.986785 < 5 bytes data, client => server 17:49:58.986795 'PWD\r\n' 17:49:58.986888 Received DATA (on stdin) 17:49:58.986897 > 30 bytes data, server => client 17:49:58.986906 '257 "/" is current directory\r\n' 17:49:58.986959 < 6 bytes data, client => server 17:49:58.986968 'EPSV\r\n' 17:49:59.000088 Received DATA (on stdin) 17:49:59.000106 > 39 bytes data, server => client 17:49:59.000117 '229 Entering Passive Mode (|||37877|)\r\n' 17:49:59.000325 < 8 bytes data, client => server 17:49:59.000342 'TYPE I\r\n' 17:49:59.000598 Received DATA (on stdin) 17:49:59.000610 > 33 bytes data, server => client 17:49:59.000620 '200 I modify TYPE as you wanted\r\n' 17:49:59.000681 < 21 bytes data, client => server 17:49:59.000692 'SIZE verifiedserver\r\n' 17:49:59.000830 Received DATA (on stdin) 17:49:59.000840 > 8 bytes data, server => client 17:49:59.000850 '213 17\r\n' 17:49:59.000901 < 21 bytes data, client => server 17:49:59.000912 'RETR verifiedserver\r\n' 17:49:59.001133 Received DATA (on stdin) 17:49:59.001144 > 29 bytes data, server => client 17:49:59.001154 '150 Binary junk (17 bytes).\r\n' 17:49:59.001701 Received DATA (on stdin) 17:49:59.001713 > 28 bytes data, server => client 17:49:59.001723 '226 File transfer complete\r\n' 17:49:59.049533 < 6 bytes data, client => server 17:49:59.049565 'QUIT\r\n' 17:49:59.049800 Received DATA (on stdin) 17:49:59.049816 > 18 bytes data, server => client 17:49:59.049826 '221 bye bye baby\r\n' 17:49:59.050968 ====> Client disconnect 17:49:59.051177 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:58.993740 Running IPv4 version 17:49:58.993835 Listening on port 37877 17:49:58.993884 Wrote pid 114177 to log/23/server/ftp_sockdata.pid 17:49:58.999734 Received PING (on stdin) 17:49:58.999878 Received PORT (on stdin) 17:49:59.000365 ====> Client connect 17:49:59.001213 Received DATA (on stdin) 17:49:59.001228 > 17 bytes data, server => client 17:49:59.001238 'WE ROOLZ: 81154\r\n' 17:49:59.001263 Received DISC (on stdin) 17:49:59.001274 ====> Client forcibly disconnected 17:49:59.001416 Received QUIT (on stdin) 17:49:59.001426 quits 17:49:59.001494 ============> 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 17:49:58.063494 Running IPv4 version 17:49:58.063563 Listening on port 35857 17:49:58.063602 Wrote pid 114225 to log/23/server/socks_server.pid 17:49:58.063632 Wrote port 35857 to log/23/server/socks_server.port === End of file socks_server.log === Start of file valgrind713 ==114914== ==114914== Process terminating with default action of signal 4 (SIGILL) ==114914== Illegal opcode at address 0x4014520 ==114914== at 0x4014520: getparameter (tool_getparam.c:2862) ==114914== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114914== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114914== by 0x4003728: main (tool_main.c:186) === End of file valgrind713 startnew: ./server/servers socksd --port 0 --pidfile log/7/server/socks_server.pid --portfile log/7/server/socks_server.port --reqfile log/7/socksd-request.log --logfile log/7/socks_server.log --backend 127.0.0.1 --config log/7/server.cmd RUN: SOCKS server is now running PID 114218 * pid socks => 114218 114218 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/7/valgrind712 ../src/curl -q --output log/7/curl712.out --include --trace-ascii log/7/trace712 --trace-time ftp://127.0.0.1:42667/712 --proxy socks5://127.0.0.1:33345 > log/7/stdout712 2> log/7/stderr712 712: 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 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/7/valgrind712 ../src/curl -q --output log/7/curl712.out --include --trace-ascii log/7/trace712 --trace-time ftp://127.0.0.1:42667/712 --proxy socks5://127.0.0.1:33345 > log/7/stdout712 2> log/7/stderr712 === End of file commands.log === Start of file ftp_server.log 17:49:58.135458 ====> Client connect 17:49:58.135661 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:58.135995 < "USER anonymous" 17:49:58.136044 > "331 We are happy you popped in![CR][LF]" 17:49:58.136285 < "PASS ftp@example.com" 17:49:58.136323 > "230 Welcome you silly person[CR][LF]" 17:49:58.136503 < "PWD" 17:49:58.136538 > "257 "/" is current directory[CR][LF]" 17:49:58.136737 < "EPSV" 17:49:58.136762 ====> Passive DATA channel requested by client 17:49:58.136776 DATA sockfilt for passive data channel starting... 17:49:58.144660 DATA sockfilt for passive data channel started (pid 114174) 17:49:58.144798 DATA sockfilt for passive data channel listens on port 32833 17:49:58.144852 > "229 Entering Passive Mode (|||32833|)[CR][LF]" 17:49:58.144874 Client has been notified that DATA conn will be accepted on port 32833 17:49:58.145203 Client connects to port 32833 17:49:58.145241 ====> Client established passive DATA connection on port 32833 17:49:58.145346 < "TYPE I" 17:49:58.145387 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:58.145591 < "SIZE verifiedserver" 17:49:58.145636 > "213 17[CR][LF]" 17:49:58.145816 < "RETR verifiedserver" 17:49:58.145857 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:58.145955 =====> Closing passive DATA connection... 17:49:58.145977 Server disconnects passive DATA connection 17:49:58.146230 Server disconnected passive DATA connection 17:49:58.146265 DATA sockfilt for passive data channel quits (pid 114174) 17:49:58.146531 DATA sockfilt for passive data channel quit (pid 114174) 17:49:58.146561 =====> Closed passive DATA connection 17:49:58.146597 > "226 File transfer complete[CR][LF]" 17:49:58.187037 < "QUIT" 17:49:58.187096 > "221 bye bye baby[CR][LF]" 17:49:58.188284 MAIN sockfilt said DISC 17:49:58.188328 ====> Client disconnected 17:49:58.188398 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:58.981529 ====> Client connect 17:49:58.981868 Received DATA (on stdin) 17:49:58.981885 > 146 bytes data, server => client 17:49:58.981896 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:58.981906 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:58.981916 '220 \___|\___/|_| \_\_____|\r\n' 17:49:58.981997 < 16 bytes data, client => server 17:49:58.982011 'USER anonymous\r\n' 17:49:58.982240 Received DATA (on stdin) 17:49:58.982254 > 33 bytes data, server => client 17:49:58.982265 '331 We are happy you popped in!\r\n' 17:49:58.982326 < 22 bytes data, client => server 17:49:58.982368 'PASS ftp@example.com\r\n' 17:49:58.982514 Received DATA (on stdin) 17:49:58.982526 > 30 bytes data, server => client 17:49:58.982537 '230 Welcome you silly person\r\n' 17:49:58.982589 < 5 bytes data, client => server 17:49:58.982601 'PWD\r\n' 17:49:58.982727 Received DATA (on stdin) 17:49:58.982740 > 30 bytes data, server => client 17:49:58.982751 '257 "/" is current directory\r\n' 17:49:58.982816 < 6 bytes data, client => server 17:49:58.982842 'EPSV\r\n' 17:49:58.991CMD (33792): ../libtool --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/valgrind720 ../src/curl -q --output log/15/curl720.out --include --trace-ascii log/15/trace720 --trace-time http://12.34.56.78:41057/720 --proxy socks5h://127.0.0.1:36629 > log/15/stdout720 2> log/15/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/3/valgrind714 ../src/curl -q --output log/3/curl714.out --include --trace-ascii log/3/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:35383 --proxytunnel --proxy http://127.0.0.1:36197 > log/3/stdout714 2> log/3/stderr714 070 Received DATA (on stdin) 17:49:58.991089 > 39 bytes data, server => client 17:49:58.991099 '229 Entering Passive Mode (|||32833|)\r\n' 17:49:58.991295 < 8 bytes data, client => server 17:49:58.991314 'TYPE I\r\n' 17:49:58.991576 Received DATA (on stdin) 17:49:58.991590 > 33 bytes data, server => client 17:49:58.991601 '200 I modify TYPE as you wanted\r\n' 17:49:58.991665 < 21 bytes data, client => server 17:49:58.991682 'SIZE verifiedserver\r\n' 17:49:58.991826 Received DATA (on stdin) 17:49:58.991838 > 8 bytes data, server => client 17:49:58.991849 '213 17\r\n' 17:49:58.991906 < 21 bytes data, client => server 17:49:58.991920 'RETR verifiedserver\r\n' 17:49:58.992165 Received DATA (on stdin) 17:49:58.992178 > 29 bytes data, server => client 17:49:58.992189 '150 Binary junk (17 bytes).\r\n' 17:49:58.992786 Received DATA (on stdin) 17:49:58.992799 > 28 bytes data, server => client 17:49:58.992810 '226 File transfer complete\r\n' 17:49:59.033036 < 6 bytes data, client => server 17:49:59.033069 'QUIT\r\n' 17:49:59.033286 Received DATA (on stdin) 17:49:59.033300 > 18 bytes data, server => client 17:49:59.033310 '221 bye bye baby\r\n' 17:49:59.034407 ====> Client disconnect 17:49:59.034584 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:58.990452 Running IPv4 version 17:49:58.990544 Listening on port 32833 17:49:58.990583 Wrote pid 114174 to log/7/server/ftp_sockdata.pid 17:49:58.990778 Received PING (on stdin) 17:49:58.990884 Received PORT (on stdin) 17:49:58.991337 ====> Client connect 17:49:58.992218 Received DATA (on stdin) 17:49:58.992232 > 17 bytes data, server => client 17:49:58.992242 'WE ROOLZ: 81153\r\n' 17:49:58.992269 Received DISC (on stdin) 17:49:58.992282 ====> Client forcibly disconnected 17:49:58.992453 Received QUIT (on stdin) 17:49:58.992465 quits 17:49:58.992533 ============> 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 17:49:58.046709 Running IPv4 version 17:49:58.046810 Listening on port 33345 17:49:58.046854 Wrote pid 114218 to log/7/server/socks_server.pid 17:49:58.046886 Wrote port 33345 to log/7/server/socks_server.port === End of file socks_server.log === Start of file valgrind712 ==114902== ==114902== Process terminating with default action of signal 4 (SIGILL) ==114902== Illegal opcode at address 0x4014520 ==114902== at 0x4014520: getparameter (tool_getparam.c:2862) ==114902== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114902== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114902== by 0x4003728: main (tool_main.c:186) === End of file valgrind712 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 114314 * pid socks => 114314 114314 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/15/valgrind720 ../src/curl -q --output log/15/curl720.out --include --trace-ascii log/15/trace720 --trace-time http://12.34.56.78:41057/720 --proxy socks5h://127.0.0.1:36629 > log/15/stdout720 2> log/15/stderr720 720: 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 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/15/valgrind720 ../src/curl -q --output log/15/curl720.out --include --trace-ascii log/15/trace720 --trace-time http://12.34.56.78:41057/720 --proxy socks5h://127.0.0.1:36629 > log/15/stdout720 2> log/15/stderr720 === End of file commands.log === Start of file http_server.log 17:49:58.216207 ====> Client connect 17:49:58.216247 accept_connection 3 returned 4 17:49:58.216268 accept_connection 3 returned 0 17:49:58.216428 Read 93 bytes 17:49:58.216445 Process 93 bytes request 17:49:58.216460 Got request: GET /verifiedserver HTTP/1.1 17:49:58.216470 Are-we-friendly question received 17:49:58.216500 Wrote request (93 bytes) input to log/15/server.input 17:49:58.216519 Identifying ourselves as friends 17:49:58.216586 Response sent (56 bytes) and written to log/15/server.response 17:49:58.216598 special request received, no persistency 17:49:58.216607 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 45168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file socks_server.log 17:49:58.225400 Running IPv4 version 17:49:58.225467 Listening on port 36629 17:49:58.225516 Wrote pid 114314 to log/15/server/socks_server.pid 17:49:58.225551 Wrote port 36629 to log/15/server/socks_server.port === End of file socks_server.log === Start of file valgrind720 ==115190== ==115190== Process terminating with default action of signal 4 (SIGILL) ==115190== Illegal opcode at address 0x4014520 ==115190== at 0x4014520: getparameter (tool_getparam.c:2862) ==115190== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115190== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115190== by 0x4003728: main (tool_main.c:186) === 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/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 114234 port 36197 * pid http-proxy => 114234 114234 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/3/valgrind714 ../src/curl -q --output log/3/curl714.out --include --trace-ascii log/3/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:35383 --proxytunnel --proxy http://127.0.0.1:36197 > log/3/stdout714 2> log/3/stderr714 714: 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 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/3/valgrind714 ../src/curl -q --output log/3/curl714.out --include --trace-ascii log/3/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:35383 --proxytunnel --proxy http://127.0.0.1:36197 > log/3/stdout714 2> log/3/stderr714 === End of file commands.log === Start of file ftp_server.log 17:49:58.162739 ====> Client connect 17:49:58.162919 > "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/11/valgrind719 ../src/curl -q --output log/11/curl719.out --include --trace-ascii log/11/trace719 --trace-time http://[2200::33]:46439/719 --proxy socks5h://127.0.0.1:40941 > log/11/stdout719 2> log/11/stderr719 |_| \_\_____|[CR][LF]" 17:49:58.163220 < "USER anonymous" 17:49:58.163261 > "331 We are happy you popped in![CR][LF]" 17:49:58.163459 < "PASS ftp@example.com" 17:49:58.163491 > "230 Welcome you silly person[CR][LF]" 17:49:58.167026 < "PWD" 17:49:58.167086 > "257 "/" is current directory[CR][LF]" 17:49:58.167351 < "EPSV" 17:49:58.167386 ====> Passive DATA channel requested by client 17:49:58.167404 DATA sockfilt for passive data channel starting... 17:49:58.170330 DATA sockfilt for passive data channel started (pid 114199) 17:49:58.170443 DATA sockfilt for passive data channel listens on port 45205 17:49:58.170491 > "229 Entering Passive Mode (|||45205|)[CR][LF]" 17:49:58.170509 Client has been notified that DATA conn will be accepted on port 45205 17:49:58.170782 Client connects to port 45205 17:49:58.170813 ====> Client established passive DATA connection on port 45205 17:49:58.170898 < "TYPE I" 17:49:58.170934 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:58.171094 < "SIZE verifiedserver" 17:49:58.171132 > "213 17[CR][LF]" 17:49:58.171276 < "RETR verifiedserver" 17:49:58.171313 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:58.171398 =====> Closing passive DATA connection... 17:49:58.171415 Server disconnects passive DATA connection 17:49:58.171644 Server disconnected passive DATA connection 17:49:58.171673 DATA sockfilt for passive data channel quits (pid 114199) 17:49:58.171907 DATA sockfilt for passive data channel quit (pid 114199) 17:49:58.171935 =====> Closed passive DATA connection 17:49:58.171965 > "226 File transfer complete[CR][LF]" 17:49:58.213766 < "QUIT" 17:49:58.213830 > "221 bye bye baby[CR][LF]" 17:49:58.215115 MAIN sockfilt said DISC 17:49:58.215153 ====> Client disconnected 17:49:58.215241 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:58.008818 ====> Client connect 17:49:58.009126 Received DATA (on stdin) 17:49:58.009144 > 146 bytes data, server => client 17:49:58.009155 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:58.009165 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:58.009173 '220 \___|\___/|_| \_\_____|\r\n' 17:49:58.009252 < 16 bytes data, client => server 17:49:58.009264 'USER anonymous\r\n' 17:49:58.009449 Received DATA (on stdin) 17:49:58.009461 > 33 bytes data, server => client 17:49:58.009471 '331 We are happy you popped in!\r\n' 17:49:58.009537 < 22 bytes data, client => server 17:49:58.009549 'PASS ftp@example.com\r\n' 17:49:58.009676 Received DATA (on stdin) 17:49:58.009686 > 30 bytes data, server => client 17:49:58.009696 '230 Welcome you silly person\r\n' 17:49:58.013048 < 5 bytes data, client => server 17:49:58.013072 'PWD\r\n' 17:49:58.013284 Received DATA (on stdin) 17:49:58.013300 > 30 bytes data, server => client 17:49:58.013312 '257 "/" is current directory\r\n' 17:49:58.013405 < 6 bytes data, client => server 17:49:58.013422 'EPSV\r\n' 17:49:58.016701 Received DATA (on stdin) 17:49:58.016716 > 39 bytes data, server => client 17:49:58.016727 '229 Entering Passive Mode (|||45205|)\r\n' 17:49:58.016882 < 8 bytes data, client => server 17:49:58.016898 'TYPE I\r\n' 17:49:58.017118 Received DATA (on stdin) 17:49:58.017130 > 33 bytes data, server => client 17:49:58.017140 '200 I modify TYPE as you wanted\r\n' 17:49:58.017193 < 21 bytes data, client => server 17:49:58.017204 'SIZE verifiedserver\r\n' 17:49:58.017315 Received DATA (on stdin) 17:49:58.017326 > 8 bytes data, server => client 17:49:58.017335 '213 17\r\n' 17:49:58.017380 < 21 bytes data, client => server 17:49:58.017390 'RETR verifiedserver\r\n' 17:49:58.017600 Received DATA (on stdin) 17:49:58.017611 > 29 bytes data, server => client 17:49:58.017621 '150 Binary junk (17 bytes).\r\n' 17:49:58.018152 Received DATA (on stdin) 17:49:58.018164 > 28 bytes data, server => client 17:49:58.018175 '226 File transfer complete\r\n' 17:49:58.059739 < 6 bytes data, client => server 17:49:58.059773 'QUIT\r\n' 17:49:58.060025 Received DATA (on stdin) 17:49:58.060039 > 18 bytes data, server => client 17:49:58.060049 '221 bye bye baby\r\n' 17:49:58.061245 ====> Client disconnect 17:49:58.061435 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:58.016205 Running IPv4 version 17:49:58.016274 Listening on port 45205 17:49:58.016307 Wrote pid 114199 to log/3/server/ftp_sockdata.pid 17:49:58.016458 Received PING (on stdin) 17:49:58.016540 Received PORT (on stdin) 17:49:58.016919 ====> Client connect 17:49:58.017646 Received DATA (on stdin) 17:49:58.017658 > 17 bytes data, server => client 17:49:58.017667 'WE ROOLZ: 81126\r\n' 17:49:58.017695 Received DISC (on stdin) 17:49:58.017705 ====> Client forcibly disconnected 17:49:58.017865 Received QUIT (on stdin) 17:49:58.017877 quits 17:49:58.017943 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 17:49:58.092026 Run as proxy, CONNECT to host 127.0.0.1 17:49:58.092153 Running HTTP IPv4 version on port 36197 17:49:58.092207 Wrote pid 114234 to log/3/server/http2_server.pid 17:49:58.092244 Wrote port 36197 to log/3/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 ==114908== ==114908== Process terminating with default action of signal 4 (SIGILL) ==114908== Illegal opcode at address 0x4014520 ==114908== at 0x4014520: getparameter (tool_getparam.c:2862) ==114908== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114908== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114908== by 0x4003728: main (tool_main.c:186) === End of file valgrind714 startnew: ./server/servers socksd --port 0 --pidfile log/11/server/socks_server.pid --portfile log/11/server/socks_server.port --reqfile log/11/socksd-request.log --logfile log/11/socks_server.log --backend 127.0.0.1 --config log/11/server.cmd RUN: SOCKS server is now running PID 114316 * pid socks => 114316 114316 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/11/valgrind719 ../src/curl -q --output log/11/curl719.out --include --trace-ascii log/11/trace719 --trace-time http://[2200::33]:46439/719 --proxy socks5h://127.0.0.1:40941 > log/11/stdout719 2> log/11/stderr719 719: 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 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/11/valgrind719 ../src/curl -q --output log/11/curl719.out --include --trace-ascii log/11/trace719 --trace-time http://[2200::33]:46439/719 --proxy socks5h://127.0.0.1:40941 > log/11/stdout719 2> log/11/stderr719 === End of file commands.log === Start of file http_server.log 17:49:58.223844 ====> Client connect 17:49:58.223881 accept_connection 3 returned 4 17:49:58.223899 accept_connection 3 returned 0 17:49:58.223914 Read 93 bytes 17:49:58.223925 Process 93 bytes request 17:49:58.223940 Got request: GET /verifiedserver HTTP/1.1 17:49:58.223949 Are-we-friendly question received 17:49:58.223975 Wrote request (93 bytes) input to log/11/server.input 17:49:58.223991 Identifying ourselves as friends 17:49:58.224052 Response sent (56 bytes) and written to log/11/server.response 17:49:58.224062 special request received, no persistency 17:49:58.224071 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 56632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/CMD (33792): ../libtool --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/valgrind721 ../src/curl -q --output log/20/curl721.out --include --trace-ascii log/20/trace721 --trace-time http://this.is.a.host.name:46725/721 --proxy socks5h://127.0.0.1:36609 > log/20/stdout721 2> log/20/stderr721 CMD (33792): ../libtool --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/valgrind710 ../src/curl -q --output log/1/curl710.out --include --trace-ascii log/1/trace710 --trace-time http://127.0.0.1:39589/710 --proxy socks5://127.0.0.1:42491 > log/1/stdout710 2> log/1/stderr710 1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file socks_server.log 17:49:58.233447 Running IPv4 version 17:49:58.233547 Listening on port 40941 17:49:58.233590 Wrote pid 114316 to log/11/server/socks_server.pid 17:49:58.233623 Wrote port 40941 to log/11/server/socks_server.port === End of file socks_server.log === Start of file valgrind719 ==115196== ==115196== Process terminating with default action of signal 4 (SIGILL) ==115196== Illegal opcode at address 0x4014520 ==115196== at 0x4014520: getparameter (tool_getparam.c:2862) ==115196== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115196== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115196== by 0x4003728: main (tool_main.c:186) === End of file valgrind719 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 114343 * pid socks => 114343 114343 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/20/valgrind721 ../src/curl -q --output log/20/curl721.out --include --trace-ascii log/20/trace721 --trace-time http://this.is.a.host.name:46725/721 --proxy socks5h://127.0.0.1:36609 > log/20/stdout721 2> log/20/stderr721 721: 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 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/20/valgrind721 ../src/curl -q --output log/20/curl721.out --include --trace-ascii log/20/trace721 --trace-time http://this.is.a.host.name:46725/721 --proxy socks5h://127.0.0.1:36609 > log/20/stdout721 2> log/20/stderr721 === End of file commands.log === Start of file http_server.log 17:49:58.254877 ====> Client connect 17:49:58.254915 accept_connection 3 returned 4 17:49:58.254930 accept_connection 3 returned 0 17:49:58.254945 Read 93 bytes 17:49:58.254954 Process 93 bytes request 17:49:58.254967 Got request: GET /verifiedserver HTTP/1.1 17:49:58.254975 Are-we-friendly question received 17:49:58.255001 Wrote request (93 bytes) input to log/20/server.input 17:49:58.255017 Identifying ourselves as friends 17:49:58.255070 Response sent (56 bytes) and written to log/20/server.response 17:49:58.255080 special request received, no persistency 17:49:58.255088 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 34072 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file socks_server.log 17:49:58.263536 Running IPv4 version 17:49:58.263642 Listening on port 36609 17:49:58.263689 Wrote pid 114343 to log/20/server/socks_server.pid 17:49:58.263723 Wrote port 36609 to log/20/server/socks_server.port === End of file socks_server.log === Start of file valgrind721 ==115257== ==115257== Process terminating with default action of signal 4 (SIGILL) ==115257== Illegal opcode at address 0x4014520 ==115257== at 0x4014520: getparameter (tool_getparam.c:2862) ==115257== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115257== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115257== by 0x4003728: main (tool_main.c:186) === End of file valgrind721 startnew: ./server/servers socksd --port 0 --pidfile log/1/server/socks_server.pid --portfile log/1/server/socks_server.port --reqfile log/1/socksd-request.log --logfile log/1/socks_server.log --backend 127.0.0.1 --config log/1/server.cmd RUN: SOCKS server is now running PID 114076 * pid socks => 114076 114076 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/1/valgrind710 ../src/curl -q --output log/1/curl710.out --include --trace-ascii log/1/trace710 --trace-time http://127.0.0.1:39589/710 --proxy socks5://127.0.0.1:42491 > log/1/stdout710 2> log/1/stderr710 710: 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 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/1/valgrind710 ../src/curl -q --output log/1/curl710.out --include --trace-ascii log/1/trace710 --trace-time http://127.0.0.1:39589/710 --proxy socks5://127.0.0.1:42491 > log/1/stdout710 2> log/1/stderr710 === End of file commands.log === Start of file http_server.log 17:49:57.782916 ====> Client connect 17:49:57.782959 accept_connection 3 returned 4 17:49:57.782977 accept_connection 3 returned 0 17:49:57.782993 Read 93 bytes 17:49:57.783004 Process 93 bytes request 17:49:57.783018 Got request: GET /verifiedserver HTTP/1.1 17:49:57.783027 Are-we-friendly question received 17:49:57.783054 Wrote request (93 bytes) input to log/1/server.input 17:49:57.783072 Identifying ourselves as friends 17:49:57.783150 Response sent (56 bytes) and written to log/1/server.response 17:49:57.783162 special request received, no persistency 17:49:57.783171 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 60644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file socks_server.log 17:49:57.800062 Running IPv4 version 17:49:57.800156 Listening on port 42491 17:49:57.800199 Wrote pid 114076 to log/1/server/socks_server.pid 17:49:57.800231 Wrote port 42491 to log/1/server/socks_server.port === End of file socks_server.log === Start of file valgrind710 ==114680== ==114680== Process terminating with default action of signal 4 (SIGILL) ==114680== Illegal opcode at address 0x4014520 ==114680== at 0x4014520: getparameter (tool_getparam.c:2862) ==114680== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114680== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114680== by 0x4003728: main (tool_main.c:186) ===CMD (33792): ../libtool --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/valgrind726 ../src/curl -q --output log/9/curl726.out --include --trace-ascii log/9/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout726 2> log/9/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/12/valgrind716 ../src/curl -q --output log/12/curl716.out --include --trace-ascii log/12/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:37739 > log/12/stdout716 2> log/12/stderr716 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/1/stdout745 2> log/1/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/21/valgrind727 ../src/curl -q --output log/21/curl727.out --include --trace-ascii log/21/trace727 --trace-time --ipfs-gateway http://127.0.0.1:41669 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout727 2> log/21/stderr727 CMD (33792): ../libtool --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/valgrind715 ../src/curl -q --output log/13/curl715.out --include --trace-ascii log/13/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:32981 --proxytunnel --proxy 127.0.0.1:45419 --preproxy socks5://127.0.0.1:40993 > log/13/stdout715 2> log/13/stderr715 End of file valgrind710 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/9/valgrind726 ../src/curl -q --output log/9/curl726.out --include --trace-ascii log/9/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout726 2> log/9/stderr726 curl returned 132, when expecting 37 726: exit FAILED == Contents of files in the log/9/ 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/9/valgrind726 ../src/curl -q --output log/9/curl726.out --include --trace-ascii log/9/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout726 2> log/9/stderr726 === End of file commands.log === Start of file http_server.log 17:49:59.526525 ====> Client connect 17:49:59.526575 accept_connection 3 returned 4 17:49:59.526595 accept_connection 3 returned 0 17:49:59.526612 Read 93 bytes 17:49:59.526622 Process 93 bytes request 17:49:59.526636 Got request: GET /verifiedserver HTTP/1.1 17:49:59.526646 Are-we-friendly question received 17:49:59.526676 Wrote request (93 bytes) input to log/9/server.input 17:49:59.526693 Identifying ourselves as friends 17:49:59.526782 Response sent (56 bytes) and written to log/9/server.response 17:49:59.526793 special request received, no persistency 17:49:59.526802 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 47980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind726 ==115410== ==115410== Process terminating with default action of signal 4 (SIGILL) ==115410== Illegal opcode at address 0x4014520 ==115410== at 0x4014520: getparameter (tool_getparam.c:2862) ==115410== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115410== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115410== by 0x4003728: main (tool_main.c:186) === End of file valgrind726 startnew: ./server/servers socksd --port 0 --pidfile log/12/server/socks_server.pid --portfile log/12/server/socks_server.port --reqfile log/12/socksd-request.log --logfile log/12/socks_server.log --backend 127.0.0.1 --config log/12/server.cmd RUN: SOCKS server is now running PID 114168 * pid socks => 114168 114168 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/12/valgrind716 ../src/curl -q --output log/12/curl716.out --include --trace-ascii log/12/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:37739 > log/12/stdout716 2> log/12/stderr716 curl returned 132, when expecting 97 716: exit FAILED == Contents of files in the log/12/ 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/12/valgrind716 ../src/curl -q --output log/12/curl716.out --include --trace-ascii log/12/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:37739 > log/12/stdout716 2> log/12/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 17:49:58.983709 Running IPv4 version 17:49:58.983791 Listening on port 37739 17:49:58.983834 Wrote pid 114168 to log/12/server/socks_server.pid 17:49:58.983869 Wrote port 37739 to log/12/server/socks_server.port === End of file socks_server.log === Start of file valgrind716 ==114846== ==114846== Process terminating with default action of signal 4 (SIGILL) ==114846== Illegal opcode at address 0x4014520 ==114846== at 0x4014520: getparameter (tool_getparam.c:2862) ==114846== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114846== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114846== by 0x4003728: main (tool_main.c:186) === End of file valgrind716 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/1/stdout745 2> log/1/stderr745 valgrind SKIPPED s------e--- OK (715 out of 1760, remaining: 01:42, took 0.058s, duration: 01:09) test 0727...[IPNS] ../libtool --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/valgrind727 ../src/curl -q --output log/21/curl727.out --include --trace-ascii log/21/trace727 --trace-time --ipfs-gateway http://127.0.0.1:41669 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout727 2> log/21/stderr727 727: 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 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/21/valgrind727 ../src/curl -q --output log/21/curl727.out --include --trace-ascii log/21/trace727 --trace-time --ipfs-gateway http://127.0.0.1:41669 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/21/stdout727 2> log/21/stderr727 === End of file commands.log === Start of file http_server.log 17:49:59.802918 ====> Client connect 17:49:59.802969 accept_connection 3 returned 4 17:49:59.802991 accept_connection 3 returned 0 17:49:59.803008 Read 93 bytes 17:49:59.803018 Process 93 bytes request 17:49:59.803034 Got request: GET /verifiedserver HTTP/1.1 17:49:59.803043 Are-we-friendly question received 17:49:59.803075 Wrote request (93 bytes) input to log/21/server.input 17:49:59.803095 Identifying ourselves as friends 17:49:59.803188 Response sent (56 bytes) and written to log/21/server.response 17:49:59.803201 special request received, no persistency 17:49:59.803211 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 44932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind727 ==115528== ==115528== Process terminating with default action of signal 4 (SIGILL) ==115528== Illegal opcode at address 0x4014520 ==115528== at 0x4014520: getparameter (tool_getparam.c:2862) ==115528== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115528== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115528== by 0x4003728: main (tool_main.c:186) === End of file valgrind727 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 114245 port 45419 * pid http-proxy => 114245 114245 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 114940 * pid socks => 114940 114940 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/13/valgrind715 ../src/curl -q --output log/13/curl715.out --include --trace-ascii log/13/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:32981 --proxytunnel --proxy 127.0.0.1:45419 --preproxy socks5://127.0.0.1:40993 > log/13/stdout715 2> log/13/stderr715 715: 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 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/13/valgrind715 ../src/curl -q --output log/13/curl715.out --include --trace-ascii log/13/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:32981 --proxytunnel --proxy 127.0.0.1:45419 --preproxy socks5://127.0.0.1:40993 > log/13/stdout715 2> log/13/stderr715 === End of file commands.log === Start of file ftp_server.log 17:49:58.197245 ====> Client connect 17:49:58.197410 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:49:58.197707 < "USER anonymous" 17:49:58.197744 > "331 We are happy you popped in![CR][LF]" 17:49:58.197940 < "PASS ftp@example.com" 17:49:58.197977 > "230 Welcome you silly person[CR][LF]" 17:49:58.198164 < "PWD" 17:49:58.198201 > "257 "/" is current directory[CR][LF]" 17:49:58.198392 < "EPSV" 17:49:58.198422 ====> Passive DATA channel requested by client 17:49:58.198439 DATA sockfilt for passive data channel starting... 17:49:58.200379 DATA sockfilt for passive data channel started (pid 114220) 17:49:58.203420 DATA sockfilt for passive data channel listens on port 35439 17:49:58.203489 > "229 Entering Passive Mode (|||35439|)[CR][LF]" 17:49:58.203519 Client has been notified that DATA conn will be accepted on port 35439 17:49:58.204201 Client connects to port 35439 17:49:58.204237 ====> Client established passive DATA connection on port 35439 17:49:58.204340 < "TYPE I" 17:49:58.204380 > "200 I modify TYPE as you wanted[CR][LF]" 17:49:58.204563 < "SIZE verifiedserver" 17:49:58.204608 > "213 17[CR][LF]" 17:49:58.204792 < "RETR verifiedserver" 17:49:58.204833 > "150 Binary junk (17 bytes).[CR][LF]" 17:49:58.204936 =====> Closing passive DATA connection... 17:49:58.204960 Server disconnects passive DATA connection 17:49:58.205240 Server disconnected passive DATA connection 17:49:58.205276 DATA sockfilt for passive data channel quits (pid 114220) 17:49:58.205561 DATA sockfilt for passive data channel quit (pid 114220) 17:49:58.205591 =====> Closed passive DATA connection 17:49:58.205624 > "226 File transfer complete[CR][LF]" 17:49:58.253561 < "QUIT" 17:49:58.253623 > "221 bye bye baby[CR][LF]" 17:49:58.254819 MAIN sockfilt said DISC 17:49:58.254864 ====> Client disconnected 17:49:58.254943 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:49:58.043279 ====> Client connect 17:49:58.043608 Received DATA (on stdin) 17:49:58.043624 > 146 bytes data, server => client 17:49:58.043635 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:49:58.043645 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:49:58.043654 '220 \___|\___/|_| \_\_____|\r\n' 17:49:58.043741 < 16 bytes data, client => server 17:49:58.043754 'USER anonymous\r\n' 17:49:58.043934 Received DATA (on stdin) 17:49:58.043948 > 33 bytes data, server => client 17:49:58.043959 '331 We are happy you popped in!\r\n' 17:49:58.044018 < 22 bytes data, client => server 17:49:58.044035 'PASS ftp@example.com\r\n' 17:49:58.044168 Received DATA (on stdin) 17:49:58.044183 > 30 bytes data, server => client 17:49:58.044194 '230 Welcome you silly person\r\n' 17:49:58.044250 < 5 bytes data, client => server 17:49:58.044265 'PWD\r\n' 17:49:58.044391 Received DATA (on stdin) 17:49:58.044406 > 30 bytes data, server => client 17:49:58.044416 '257 "/" is current directory\r\n' 17:49:58.044483 < 6 bytes data, client => server 17:49:58.044497 'EPSV\r\n' 17:49:58.050048 Received DATA (on stdin) 17:49:58.050072 > 39 bytes data, server => client 17:49:58.050084 '229 Entering Passive Mode (|||35439|)\r\n' 17:49:58.050287 < 8 bytes data, client => server 17:49:58.050306 'TYPE I\r\n' 17:49:58.050572 Received DATA (on stdin) 17:49:58.050585 > 33 bytes data, server => client 17:49:58.050597 '200 I modify TYPE as you wanted\r\n' 17:49:58.050653 < 21 bytes data, client => server 17:49:58.050667 'SIZE verifiedserver\r\n' 17:49:58.050800 Received DATA (on stdin) 17:49:58.050814 > 8 bytes data, server => client 17:49:58.050825 '213 17\r\n' 17:49:58.050882 < 21 bytes data, client => server 17:49:58.050898 'RETR verifiedserver\r\n' 17:49:58.051149 Received DATA (on stdin) 17:49:58.051163 > 29 bytes data, server => client 17:49:58.051175 '150 Binary junk (17 bytes).\r\n' 17:49:58.051812 Received DATA (on stdin) 17:49:58.051826 > 28 bytes data, server => client 17:49:58.051837 '226 File transfer complete\r\n' 17:49:58.099528 < 6 bytes data, client => server 17:49:58.099563 'QUIT\r\n' 17:49:58.099817 Received DATA (on stdin) 17:49:58.099831 > 18 bytes data, server => client 17:49:58.099841 '221 bye bye baby\r\n' 17:49:58.100942 ====> Client disconnect 17:49:58.101130 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:49:58.046189 Running IPv4 version 17:49:58.046262 Listening on port 35439 17:49:58.046302 Wrote pid 114220 to log/13/server/ftp_sockdata.pid 17:49:58.046323 Received PING (on stdin) 17:49:58.046659 Received PORT (on stdin) 17:49:58.050332 ====> Client connect 17:49:58.051238 Received DATA (on stdin) 17:49:58.051257 > 17 bytes data, server => client 17:49:58.051268 'WE ROOLZ: 80972\r\n' 17:49:58.051302 Received DISC (on stdin) 17:49:58.051317 ====> Client forcibly disconnected 17:49:58.051470 Received QUIT (on stdin) 17:49:58.051482 quits 17:49:58.051552 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 17:49:58.136728 Run as proxy, CONNECT to host 127.0.0.1 17:49:58.136860 Running HTTP IPv4 version on port 45419 17:49:58.136916 Wrote pid 114245 to log/13/server/http2_server.pid 17:49:58.136951 Wrote port 45419 to log/13/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/8/valgrind730 ../src/curl -q --output log/8/curl730.out --include --trace-ascii log/8/trace730 --trace-time --ipfs-gateway http://127.0.0.1:42045/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout730 2> log/8/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/16/valgrind733 ../src/curl -q --output log/16/curl733.out --include --trace-ascii log/16/trace733 --trace-time --ipfs-gateway http://127.0.0.1:40899 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/16/stdout733 2> log/16/stderr733 CMD (33792): ../libtool --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/valgrind729 ../src/curl -q --output log/4/curl729.out --include --trace-ascii log/4/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:46615 > log/4/stdout729 2> log/4/stderr729 CMD (33792): ../libtool --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/valgrind732 ../src/curl -q --output log/2/curl732.out --include --trace-ascii log/2/trace732 --trace-time --ipfs-gateway http://127.0.0.1:38779 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/2/stdout732 2> log/2/stderr732 /http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 715 === End of file server.cmd === Start of file socks_server.log 17:49:59.123530 Running IPv4 version 17:49:59.123613 Listening on port 40993 17:49:59.123662 Wrote pid 114940 to log/13/server/socks_server.pid 17:49:59.123693 Wrote port 40993 to log/13/server/socks_server.port === End of file socks_server.log === Start of file valgrind715 ==115632== ==115632== Process terminating with default action of signal 4 (SIGILL) ==115632== Illegal opcode at address 0x4014520 ==115632== at 0x4014520: getparameter (tool_getparam.c:2862) ==115632== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115632== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115632== by 0x4003728: main (tool_main.c:186) === End of file valgrind715 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/8/valgrind730 ../src/curl -q --output log/8/curl730.out --include --trace-ascii log/8/trace730 --trace-time --ipfs-gateway http://127.0.0.1:42045/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout730 2> log/8/stderr730 730: 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 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/8/valgrind730 ../src/curl -q --output log/8/curl730.out --include --trace-ascii log/8/trace730 --trace-time --ipfs-gateway http://127.0.0.1:42045/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout730 2> log/8/stderr730 === End of file commands.log === Start of file http_server.log 17:50:00.190992 ====> Client connect 17:50:00.191029 accept_connection 3 returned 4 17:50:00.191048 accept_connection 3 returned 0 17:50:00.191064 Read 93 bytes 17:50:00.191075 Process 93 bytes request 17:50:00.191088 Got request: GET /verifiedserver HTTP/1.1 17:50:00.191097 Are-we-friendly question received 17:50:00.191128 Wrote request (93 bytes) input to log/8/server.input 17:50:00.191146 Identifying ourselves as friends 17:50:00.191210 Response sent (56 bytes) and written to log/8/server.response 17:50:00.191221 special request received, no persistency 17:50:00.191229 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 33042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind730 ==115690== ==115690== Process terminating with default action of signal 4 (SIGILL) ==115690== Illegal opcode at address 0x4014520 ==115690== at 0x4014520: getparameter (tool_getparam.c:2862) ==115690== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115690== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115690== by 0x4003728: main (tool_main.c:186) === End of file valgrind730 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/16/valgrind733 ../src/curl -q --output log/16/curl733.out --include --trace-ascii log/16/trace733 --trace-time --ipfs-gateway http://127.0.0.1:40899 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/16/stdout733 2> log/16/stderr733 733: 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 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/16/valgrind733 ../src/curl -q --output log/16/curl733.out --include --trace-ascii log/16/trace733 --trace-time --ipfs-gateway http://127.0.0.1:40899 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/16/stdout733 2> log/16/stderr733 === End of file commands.log === Start of file http_server.log 17:50:00.496264 ====> Client connect 17:50:00.496296 accept_connection 3 returned 4 17:50:00.496310 accept_connection 3 returned 0 17:50:00.496323 Read 93 bytes 17:50:00.496331 Process 93 bytes request 17:50:00.496343 Got request: GET /verifiedserver HTTP/1.1 17:50:00.496351 Are-we-friendly question received 17:50:00.496376 Wrote request (93 bytes) input to log/16/server.input 17:50:00.496391 Identifying ourselves as friends 17:50:00.496439 Response sent (56 bytes) and written to log/16/server.response 17:50:00.496447 special request received, no persistency 17:50:00.496455 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 50884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind733 ==115910== ==115910== Process terminating with default action of signal 4 (SIGILL) ==115910== Illegal opcode at address 0x4014520 ==115910== at 0x4014520: getparameter (tool_getparam.c:2862) ==115910== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115910== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115910== by 0x4003728: main (tool_main.c:186) === End of file valgrind733 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/4/valgrind729 ../src/curl -q --output log/4/curl729.out --include --trace-ascii log/4/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind734 ../src/curl -q --output log/24/curl734.out --include --trace-ascii log/24/trace734 --trace-time --ipfs-gateway http://127.0.0.1:39649/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/24/stdout734 2> log/24/stderr734 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:46615 > log/4/stdout729 2> log/4/stderr729 curl returned 132, when expecting 97 729: exit FAILED == Contents of files in the log/4/ 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/4/valgrind729 ../src/curl -q --output log/4/curl729.out --include --trace-ascii log/4/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:46615 > log/4/stdout729 2> log/4/stderr729 === End of file commands.log === Start of file http_server.log 17:50:00.151440 ====> Client connect 17:50:00.151485 accept_connection 3 returned 4 17:50:00.151506 accept_connection 3 returned 0 17:50:00.151650 Read 93 bytes 17:50:00.151663 Process 93 bytes request 17:50:00.151677 Got request: GET /verifiedserver HTTP/1.1 17:50:00.151687 Are-we-friendly question received 17:50:00.151719 Wrote request (93 bytes) input to log/4/server.input 17:50:00.151739 Identifying ourselves as friends 17:50:00.151803 Response sent (56 bytes) and written to log/4/server.response 17:50:00.151814 special request received, no persistency 17:50:00.151821 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 37286 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind729 ==115651== ==115651== Process terminating with default action of signal 4 (SIGILL) ==115651== Illegal opcode at address 0x4014520 ==115651== at 0x4014520: getparameter (tool_getparam.c:2862) ==115651== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115651== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115651== by 0x4003728: main (tool_main.c:186) === End of file valgrind729 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/2/valgrind732 ../src/curl -q --output log/2/curl732.out --include --trace-ascii log/2/trace732 --trace-time --ipfs-gateway http://127.0.0.1:38779 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/2/stdout732 2> log/2/stderr732 732: 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 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/2/valgrind732 ../src/curl -q --output log/2/curl732.out --include --trace-ascii log/2/trace732 --trace-time --ipfs-gateway http://127.0.0.1:38779 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/2/stdout732 2> log/2/stderr732 === End of file commands.log === Start of file http_server.log 17:50:00.445635 ====> Client connect 17:50:00.445668 accept_connection 3 returned 4 17:50:00.445685 accept_connection 3 returned 0 17:50:00.445698 Read 93 bytes 17:50:00.445708 Process 93 bytes request 17:50:00.445720 Got request: GET /verifiedserver HTTP/1.1 17:50:00.445729 Are-we-friendly question received 17:50:00.445753 Wrote request (93 bytes) input to log/2/server.input 17:50:00.445768 Identifying ourselves as friends 17:50:00.445820 Response sent (56 bytes) and written to log/2/server.response 17:50:00.445830 special request received, no persistency 17:50:00.445838 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 39046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind732 ==115884== ==115884== Process terminating with default action of signal 4 (SIGILL) ==115884== Illegal opcode at address 0x4014520 ==115884== at 0x4014520: getparameter (tool_getparam.c:2862) ==115884== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115884== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115884== by 0x4003728: main (tool_main.c:186) === End of file valgrind732 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/24/valgrind734 ../src/curl -q --output log/24/curl734.out --include --trace-ascii log/24/trace734 --trace-time --ipfs-gateway http://127.0.0.1:39649/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/24/stdout734 2> log/24/stderr734 734: 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 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/24/valgrind734 ../src/curl -q --output log/24/curl734.out --include --trace-ascii log/24/trace734 --trace-time --ipfs-gateway http://127.0.0.1:39649/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/24/stdout734 2> log/24/stderr734 === End of file commands.log === Start of file http_server.log 17:50:00.652073 ====> Client connect 17:50:00.652107 accept_connection 3 returned 4 17:50:00.652124 accept_connection 3 returned 0 17:50:00.652137 Read 93 bytes 17:50:00.652146 Process 93 bytes request 17:50:00.652157 Got request: GET /verifiedserver HTTP/1.1 17:50:00.652166 Are-we-friendly question received 17CMD (33792): ../libtool --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/valgrind735 ../src/curl -q --output log/17/curl735.out --include --trace-ascii log/17/trace735 --trace-time --ipfs-gateway http://127.0.0.1:44593/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/17/stdout735 2> log/17/stderr735 CMD (33792): ../libtool --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/valgrind739 ../src/curl -q --output log/23/curl739.out --include --trace-ascii log/23/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:39173/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/23/stdout739 2> log/23/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/6/valgrind737 ../src/curl -q --output log/6/curl737.out --include --trace-ascii log/6/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout737 2> log/6/stderr737 :50:00.652193 Wrote request (93 bytes) input to log/24/server.input 17:50:00.652208 Identifying ourselves as friends 17:50:00.652261 Response sent (56 bytes) and written to log/24/server.response 17:50:00.652270 special request received, no persistency 17:50:00.652279 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 50960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind734 ==116029== ==116029== Process terminating with default action of signal 4 (SIGILL) ==116029== Illegal opcode at address 0x4014520 ==116029== at 0x4014520: getparameter (tool_getparam.c:2862) ==116029== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116029== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116029== by 0x4003728: main (tool_main.c:186) === End of file valgrind734 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/17/valgrind735 ../src/curl -q --output log/17/curl735.out --include --trace-ascii log/17/trace735 --trace-time --ipfs-gateway http://127.0.0.1:44593/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/17/stdout735 2> log/17/stderr735 735: 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 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/17/valgrind735 ../src/curl -q --output log/17/curl735.out --include --trace-ascii log/17/trace735 --trace-time --ipfs-gateway http://127.0.0.1:44593/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/17/stdout735 2> log/17/stderr735 === End of file commands.log === Start of file http_server.log 17:50:00.675945 ====> Client connect 17:50:00.675979 accept_connection 3 returned 4 17:50:00.675998 accept_connection 3 returned 0 17:50:00.676134 Read 93 bytes 17:50:00.676146 Process 93 bytes request 17:50:00.676169 Got request: GET /verifiedserver HTTP/1.1 17:50:00.676179 Are-we-friendly question received 17:50:00.676325 Wrote request (93 bytes) input to log/17/server.input 17:50:00.676344 Identifying ourselves as friends 17:50:00.676401 Response sent (56 bytes) and written to log/17/server.response 17:50:00.676411 special request received, no persistency 17:50:00.676420 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 34632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind735 ==116024== ==116024== Process terminating with default action of signal 4 (SIGILL) ==116024== Illegal opcode at address 0x4014520 ==116024== at 0x4014520: getparameter (tool_getparam.c:2862) ==116024== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116024== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116024== by 0x4003728: main (tool_main.c:186) === End of file valgrind735 test 0739...[IPNS path and query args for gateway and IPFS URL (malformed gateway 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/valgrind739 ../src/curl -q --output log/23/curl739.out --include --trace-ascii log/23/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:39173/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/23/stdout739 2> log/23/stderr739 curl returned 132, when expecting 3 739: exit FAILED == Contents of files in the log/23/ 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/23/valgrind739 ../src/curl -q --output log/23/curl739.out --include --trace-ascii log/23/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:39173/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/23/stdout739 2> log/23/stderr739 === End of file commands.log === Start of file http_server.log 17:50:02.159562 ====> Client connect 17:50:02.159596 accept_connection 3 returned 4 17:50:02.159615 accept_connection 3 returned 0 17:50:02.159630 Read 93 bytes 17:50:02.159640 Process 93 bytes request 17:50:02.159651 Got request: GET /verifiedserver HTTP/1.1 17:50:02.159661 Are-we-friendly question received 17:50:02.159699 Wrote request (93 bytes) input to log/23/server.input 17:50:02.159720 Identifying ourselves as friends 17:50:02.159789 Response sent (56 bytes) and written to log/23/server.response 17:50:02.159802 special request received, no persistency 17:50:02.159811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 40344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind739 ==116347== ==116347== Process terminating with default action of signal 4 (SIGILL) ==116347== Illegal opcode at address 0x4014520 ==116347== at 0x4014520: getparameter (tool_getparam.c:2862) ==116347== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116347== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116347== by 0x4003728: main (tool_main.c:186) === End of file valgrind739 setenv IPFS_PATH = log/6/.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/6/valgrind737 ../src/curl -q --output log/6/curl737.out --include --trace-ascii log/6/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout737 2> log/6/stderr737 737: 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 737 === Start of file commands.log ../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/14/valgrind736 ../src/curl -q --output log/14/curl736.out --include --trace-ascii log/14/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout736 2> log/14/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/22/valgrind728 ../src/curl -q --output log/22/curl728.out --include --trace-ascii log/22/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:34353 http://127.0.0.1:42933/728 > log/22/stdout728 2> log/22/stderr728 xecute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind737 ../src/curl -q --output log/6/curl737.out --include --trace-ascii log/6/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout737 2> log/6/stderr737 === End of file commands.log === Start of file http_server.log 17:50:01.119866 ====> Client connect 17:50:01.119902 accept_connection 3 returned 4 17:50:01.119918 accept_connection 3 returned 0 17:50:01.123001 Read 93 bytes 17:50:01.123026 Process 93 bytes request 17:50:01.123041 Got request: GET /verifiedserver HTTP/1.1 17:50:01.123051 Are-we-friendly question received 17:50:01.123092 Wrote request (93 bytes) input to log/6/server.input 17:50:01.123111 Identifying ourselves as friends 17:50:01.123176 Response sent (56 bytes) and written to log/6/server.response 17:50:01.123186 special request received, no persistency 17:50:01.123194 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 35518 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind737 ==116303== ==116303== Process terminating with default action of signal 4 (SIGILL) ==116303== Illegal opcode at address 0x4014520 ==116303== at 0x4014520: getparameter (tool_getparam.c:2862) ==116303== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116303== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116303== by 0x4003728: main (tool_main.c:186) === End of file valgrind737 setenv IPFS_PATH = log/14/.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/14/valgrind736 ../src/curl -q --output log/14/curl736.out --include --trace-ascii log/14/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout736 2> log/14/stderr736 736: 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 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/14/valgrind736 ../src/curl -q --output log/14/curl736.out --include --trace-ascii log/14/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout736 2> log/14/stderr736 === End of file commands.log === Start of file http_server.log 17:50:01.865401 ====> Client connect 17:50:01.865436 accept_connection 3 returned 4 17:50:01.865454 accept_connection 3 returned 0 17:50:01.865468 Read 93 bytes 17:50:01.865478 Process 93 bytes request 17:50:01.865492 Got request: GET /verifiedserver HTTP/1.1 17:50:01.865502 Are-we-friendly question received 17:50:01.865529 Wrote request (93 bytes) input to log/14/server.input 17:50:01.865547 Identifying ourselves as friends 17:50:01.865608 Response sent (56 bytes) and written to log/14/server.response 17:50:01.865619 special request received, no persistency 17:50:01.865628 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 59514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind736 ==116137== ==116137== Process terminating with default action of signal 4 (SIGILL) ==116137== Illegal opcode at address 0x4014520 ==116137== at 0x4014520: getparameter (tool_getparam.c:2862) ==116137== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116137== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116137== by 0x4003728: main (tool_main.c:186) === End of file valgrind736 CMD (33792): ../libtool --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/valgrind738 ../src/curl -q --output log/18/curl738.out --include --trace-ascii log/18/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout738 2> log/18/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/9/valgrind746 ../src/curl -q --output log/9/curl746.out --include --trace-ascii log/9/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/9/stdout746 2> log/9/stderr746 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 115568 * pid socks => 115568 115568 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/22/valgrind728 ../src/curl -q --output log/22/curl728.out --include --trace-ascii log/22/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:34353 http://127.0.0.1:42933/728 > log/22/stdout728 2> log/22/stderr728 728: stderr FAILED: --- log/22/check-expected 2026-01-28 17:50:03.306555417 +0000 +++ log/22/check-generated 2026-01-28 17:50:03.306555417 +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/22/ 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/22/valgrind728 ../src/curl -q --output log/22/curl728.out --include --trace-ascii log/22/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:34353 http://127.0.0.1:42933/728 > log/22/stdout728 2> log/22/stderr728 === End of file commands.log === Start of file http_server.log 17:49:59.976974 ====> Client connect 17:49:59.977015 accept_connection 3 returned 4 17:49:59.977033 accept_connection 3 returned 0 17:49:59.977048 Read 93 bytes 17:49:59.977057 Process 93 bytes request 17:49:59.977070 Got request: GET /verifiedserver HTTP/1.1 17:49:59.977079 Are-we-friendly question received 17:49:59.977108 Wrote request (93 bytes) input to log/22/server.input 17:49:59.977125 Identifying ourselves as friends 17:49:59.977183 Response sent (56 bytes) and written to log/22/server.response 17:49:59.977193 special request received, no persistency 17:49:59.977201 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 40406 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file socks_server.log 17:50:00.985776 Running IPv4 version 17:50:00.985880 Listening on port 34353 17:50:00.985935 Wrote pid 115568 to log/22/server/socks_server.pid 17:50:00.985973 Wrote port 34353 to log/22/server/socks_server.port === End of file socks_server.log === Start of file valgrind728 ==116177== ==116177== Process terminating with default action of signal 4 (SIGILL) ==116177== Illegal opcode at address 0x4014520 ==116177== at 0x4014520: getparameter (tool_getparam.c:2862) ==116177== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116177== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116177== by 0x4003728: main (tool_main.c:186) === End of file valgrind728 setenv IPFS_PATH = log/18/.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/18/valgrind738 ../src/curl -q --output log/18/curl738.out --include --trace-ascii log/18/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout738 2> log/18/stderr738 curl returned 132, when expecting 37 738: exit FAILED == Contents of files in the log/18/ 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/18/valgrind738 ../src/curl -q --output log/18/curl738.out --include --trace-ascii log/18/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout738 2> log/18/stderr738 === End of file commands.log === Start of file http_server.log 17:50:01.126240 ====> Client connect 17:50:01.126293 accept_connection 3 returned 4 17:50:01.126314 accept_connection 3 returned 0 17:50:01.126331 Read 93 bytes 17:50:01.126342 Process 93 bytes request 17:50:01.126355 Got request: GET /verifiedserver HTTP/1.1 17:50:01.126365 Are-we-friendly question received 17:50:01.126397 Wrote request (93 bytes) input to log/18/server.input 17:50:01.126417 Identifying ourselves as friends 17:50:01.126506 Response sent (56 bytes) and written to log/18/server.response 17:50:01.126520 special request received, no persistency 17:50:01.126530 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 58444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind738 ==116307== ==116307== Process terminating with default action of signal 4 (SIGILL) ==116307== Illegal opcode at address 0x4014520 ==116307== at 0x4014520: getparameter (tool_getparam.c:2862) ==116307== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116307== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116307== by 0x4003728: main (tool_main.c:186) === End of file valgrind738 CMD (33792): ../libtool --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/valgrind748 ../src/curl -q --output log/1/curl748.out --include --trace-ascii log/1/trace748 --trace-time -K log/1/cmd > log/1/stdout748 2> log/1/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/11/valgrind743 ../src/curl -q --output log/11/curl743.out --include --trace-ascii log/11/trace743 --trace-time http://127.0.0.1:46439/743 -K log/11/config > log/11/stdout743 2> log/11/stderr743 CMD (33792): ../libtool --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/valgrind747 ../src/curl -q --output log/12/curl747.out --include --trace-ascii log/12/trace747 --trace-time http://127.0.0.1:36641/747 > log/12/stdout747 2> log/12/stderr747 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/9/valgrind746 ../src/curl -q --output log/9/curl746.out --include --trace-ascii log/9/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/9/stdout746 2> log/9/stderr746 746: stderr FAILED: --- log/9/check-expected 2026-01-28 17:50:03.559888750 +0000 +++ log/9/check-generated 2026-01-28 17:50:03.559888750 +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/9/ 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/9/valgrind746 ../src/curl -q --output log/9/curl746.out --include --trace-ascii log/9/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/9/stdout746 2> log/9/stderr746 === End of file commands.log === Start of file server.cmd Testnum 746 === End of file server.cmd === Start of file valgrind746 ==116628== ==116628== Process terminating with default action of signal 4 (SIGILL) ==116628== Illegal opcode at address 0x4014520 ==116628== at 0x4014520: getparameter (tool_getparam.c:2862) ==116628== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116628== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116628== by 0x4003728: main (tool_main.c:186) === End of file valgrind746 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/1/valgrind748 ../src/curl -q --output log/1/curl748.out --include --trace-ascii log/1/trace748 --trace-time -K log/1/cmd > log/1/stdout748 2> log/1/stderr748 curl returned 132, when expecting 2 748: exit FAILED == Contents of files in the log/1/ 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/1/valgrind748 ../src/curl -q --output log/1/curl748.out --include --trace-ascii log/1/trace748 --trace-time -K log/1/cmd > log/1/stdout748 2> log/1/stderr748 === End of file commands.log === Start of file server.cmd Testnum 748 === End of file server.cmd === Start of file valgrind748 ==116673== ==116673== Process terminating with default action of signal 4 (SIGILL) ==116673== Illegal opcode at address 0x4014520 ==116673== at 0x4014520: getparameter (tool_getparam.c:2862) ==116673== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116673== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116673== by 0x4003728: main (tool_main.c:186) === End of file valgrind748 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/11/valgrind743 ../src/curl -q --output log/11/curl743.out --include --trace-ascii log/11/trace743 --trace-time http://127.0.0.1:46439/743 -K log/11/config > log/11/stdout743 2> log/11/stderr743 743: 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 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/11/valgrind743 ../src/curl -q --output log/11/curl743.out --include --trace-ascii log/11/trace743 --trace-time http://127.0.0.1:46439/743 -K log/11/config > log/11/stdout743 2> log/11/stderr743 === End of file commands.log === Start of file config -A pointless data = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" === End of file config === Start of file http_server.log 17:50:01.384033 ====> Client connect 17:50:01.384067 accept_connection 3 returned 4 17:50:01.384083 accept_connection 3 returned 0 17:50:01.384098 Read 93 bytes 17:50:01.384107 Process 93 bytes request 17:50:01.384119 Got request: GET /verifiedserver HTTP/1.1 17:50:01.384128 Are-we-friendly question received 17:50:01.384153 Wrote request (93 bytes) input to log/11/server.input 17:50:01.384170 Identifying ourselves as friends 17:50:01.384227 Response sent (56 bytes) and written to log/11/server.response 17:50:01.384237 special request received, no persistency 17:50:01.384246 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 56648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind743 ==116585== ==116585== Process terminating with default action of signal 4 (SIGILL) ==116585== Illegal opcode at address 0x4014520 ==116585== at 0x4014520: getparameter (tool_getparam.c:2862) ==116585== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116585== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116585== by 0x4003728: main (tool_main.c:186) === End of file valgrind743 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/12/valgrind747 ../src/curl -q --output log/12/curl747.out --include --trace-ascii log/12/trace747 --trace-time http://127.0.0.1:36641/747 > log/12/stdout747 2> log/12/stderr747 747: 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 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/12/valgrind747 ../src/curl -q --output log/12/curl747.out --include --trace-ascii log/12/trace747 --trace-time http://127.0.0.1:36641/747 > log/12/stdout747 2> log/12/stderr747 === End of file commands.log === Start of file http_server.log 17:50:01.560162 ====> Client connect 17:50:01.571244 accept_connection 3 returned 4 17:50:01.576432 accept_connection 3 returned 0 17:50:01.576465 Read 93 bytes 17:50:01.576475 Process 93 bytes request 17:50:01.576489 Got request: GET /verifiedserver HTTP/1.1 17:50:01.576497 Are-we-friendly question received 17:50:01.582866 Wrote request (93 bytes) input to log/12/server.input 17:50:01.582902 Identifying ourselves as friends 17:50:01.586777 Response sent (56 bytes) and written to log/12/server.response 17:50:01.586793 special request received, no persistency 17:50:01.586801 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * EstablCMD (33792): ../libtool --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/valgrind744 ../src/curl -q --output log/20/curl744.out --include --trace-ascii log/20/trace744 --trace-time http://foo.host:46725/744 -p --proxy1.0 127.0.0.1:42327 -A "" --netrc-file log/20/netrc744 > log/20/stdout744 2> log/20/stderr744 CMD (33792): ../libtool --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/valgrind749 ../src/curl -q --output log/21/curl749.out --include --trace-ascii log/21/trace749 --trace-time http://test.example --proxy http://127.0.0.1:41669 --proxytunnel -sS > log/21/stdout749 2> log/21/stderr749 ished connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 33136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind747 ==116841== ==116841== Process terminating with default action of signal 4 (SIGILL) ==116841== Illegal opcode at address 0x4014520 ==116841== at 0x4014520: getparameter (tool_getparam.c:2862) ==116841== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116841== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116841== by 0x4003728: main (tool_main.c:186) === End of file valgrind747 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/20/valgrind744 ../src/curl -q --output log/20/curl744.out --include --trace-ascii log/20/trace744 --trace-time http://foo.host:46725/744 -p --proxy1.0 127.0.0.1:42327 -A "" --netrc-file log/20/netrc744 > log/20/stdout744 2> log/20/stderr744 744: 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 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/20/valgrind744 ../src/curl -q --output log/20/curl744.out --include --trace-ascii log/20/trace744 --trace-time http://foo.host:46725/744 -p --proxy1.0 127.0.0.1:42327 -A "" --netrc-file log/20/netrc744 > log/20/stdout744 2> log/20/stderr744 === End of file commands.log === Start of file http2_server.log 17:50:01.506270 ====> Client connect 17:50:01.506321 accept_connection 3 returned 4 17:50:01.506342 accept_connection 3 returned 0 17:50:01.506357 Read 93 bytes 17:50:01.506366 Process 93 bytes request 17:50:01.506392 Got request: GET /verifiedserver HTTP/1.1 17:50:01.506401 Are-we-friendly question received 17:50:01.506428 Wrote request (93 bytes) input to log/20/proxy.input 17:50:01.506449 Identifying ourselves as friends 17:50:01.506583 Response sent (56 bytes) and written to log/20/proxy.response 17:50:01.506599 special request received, no persistency 17:50:01.506608 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:42327... * Established connection to 127.0.0.1 (127.0.0.1 port 42327) from 127.0.0.1 port 59368 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42327 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42327 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 80026 === End of file http2_verify.out === Start of file http_server.log 17:50:01.431051 ====> Client connect 17:50:01.431093 accept_connection 3 returned 4 17:50:01.431112 accept_connection 3 returned 0 17:50:01.431128 Read 93 bytes 17:50:01.431139 Process 93 bytes request 17:50:01.431153 Got request: GET /verifiedserver HTTP/1.1 17:50:01.431163 Are-we-friendly question received 17:50:01.431225 Wrote request (93 bytes) input to log/20/server.input 17:50:01.431245 Identifying ourselves as friends 17:50:01.431313 Response sent (56 bytes) and written to log/20/server.response 17:50:01.431325 special request received, no persistency 17:50:01.431335 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 34082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 80026 === 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: 74815 === End of file server.response === Start of file valgrind744 ==116763== ==116763== Process terminating with default action of signal 4 (SIGILL) ==116763== Illegal opcode at address 0x4014520 ==116763== at 0x4014520: getparameter (tool_getparam.c:2862) ==116763== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116763== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116763== by 0x4003728: main (tool_main.c:186) === End of file valgrind744 CMD (33792): ../libtool --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/valgrind750 ../src/curl -q --output log/13/curl750.out --include --trace-ascii log/13/trace750 --trace-time http://test.example --proxy http://127.0.0.1:43845 --proxytunnel -sS > log/13/stdout750 2> log/13/stderr750 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/21/valgrind749 ../src/curl -q --output log/21/curl749.out --include --trace-ascii log/21/trace749 --trace-time http://test.example --proxy http://127.0.0.1:41669 --proxytunnel -sS > log/21/stdout749 2> log/21/stderr749 749: stderr FAILED: --- log/21/check-expected 2026-01-28 17:50:04.246555417 +0000 +++ log/21/check-generated 2026-01-28 17:50:04.246555417 +0000 @@ -1 +0,0 @@ -curl: (56) CONNECT tunnel failed, response 400[CR][LF] == Contents of files in the log/21/ directory after test 749 === Start of file check-expected curl: (56) 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/21/valgrind749 ../src/curl -q --output log/21/curl749.out --include --trace-ascii log/21/trace749 --trace-time http://test.example --proxy http://127.0.0.1:41669 --proxytunnel -sS > log/21/stdout749 2> log/21/stderr749 === End of file commands.log === Start of file http_server.log 17:50:02.066246 ====> Client connect 17:50:02.066286 accept_connection 3 returned 4 17:50:02.066306 accept_connection 3 returned 0 17:50:02.066321 Read 93 bytes 17:50:02.066330 Process 93 bytes request 17:50:02.066343 Got request: GET /verifiedserver HTTP/1.1 17:50:02.066352 Are-we-friendly question received 17:50:02.066379 Wrote request (93 bytes) input to log/21/server.input 17:50:02.066397 Identifying ourselves as friends 17:50:02.066465 Response sent (56 bytes) and written to log/21/server.response 17:50:02.066476 special request received, no persistency 17:50:02.066485 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 44944 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind749 ==116960== ==116960== Process terminating with default action of signal 4 (SIGILL) ==116960== Illegal opcode at address 0x4014520 ==116960== at 0x4014520: getparameter (tool_getparam.c:2862) ==116960== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116960== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116960== by 0x4003728: main (tool_main.c:186) === End of file valgrind749 CMD (33792): ../libtool --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/valgrind754 ../src/curl -q --output log/4/curl754.out --include --trace-ascii log/4/trace754 --trace-time ftp://127.0.0.1:40307/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/4/stdout754 2> log/4/stderr754 test 0750...[HTTP CONNECT with proxy returning just 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/13/valgrind750 ../src/curl -q --output log/13/curl750.out --include --trace-ascii log/13/trace750 --trace-time http://test.example --proxy http://127.0.0.1:43845 --proxytunnel -sS > log/13/stdout750 2> log/13/stderr750 750: stderr FAILED: --- log/13/check-expected 2026-01-28 17:50:04.456555417 +0000 +++ log/13/check-generated 2026-01-28 17:50:04.456555417 +0000 @@ -1 +0,0 @@ -curl: (43) Invalid response header[CR][LF] == Contents of files in the log/13/ directory after test 750 === Start of file check-expected curl: (43) 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/13/valgrind750 ../src/curl -q --output log/13/curl750.out --include --trace-ascii log/13/trace750 --trace-time http://test.example --proxy http://127.0.0.1:43845 --proxytunnel -sS > log/13/stdout750 2> log/13/stderr750 === End of file commands.log === Start of file http_server.log 17:50:03.082914 ====> Client connect 17:50:03.082958 accept_connection 3 returned 4 17:50:03.082977 accept_connection 3 returned 0 17:50:03.082993 Read 93 bytes 17:50:03.083003 Process 93 bytes request 17:50:03.083017 Got request: GET /verifiedserver HTTP/1.1 17:50:03.083026 Are-we-friendly question received 17:50:03.083056 Wrote request (93 bytes) input to log/13/server.input 17:50:03.083073 Identifying ourselves as friends 17:50:03.083143 Response sent (56 bytes) and written to log/13/server.response 17:50:03.083154 special request received, no persistency 17:50:03.083163 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 38644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind750 ==116964== ==116964== Process terminating with default action of signal 4 (SIGILL) ==116964== Illegal opcode at address 0x4014520 ==116964== at 0x4014520: getparameter (tool_getparam.c:2862) ==116964== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116964== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116964== by 0x4003728: main (tool_main.c:186) === End of file valgrind750 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/4/valgrind754 ../src/curl -q --output log/4/curl754.out --include --trace-ascii log/4/trace754 --trace-time ftp://127.0.0.1:40307/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/4/stdout754 2> log/4/stderr754 754: 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 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/4/valgrind754 ../src/curl -q --output log/4/curl754.out --include --trace-ascii log/4/trace754 --trace-time ftp://127.0.0.1:40307/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/4/stdout754 2> log/4/stderr754 === End of file commands.log === Start of file ftp_server.log 17:50:02.706139 ====> Client connect 17:50:02.724234 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:02.746513 < "USER anonymous" 17:50:02.746640 > "331 We are happy you popped in![CR][LF]" 17:50:02.747424 < "PASS ftp@example.com" 17:50:02.747476 > "230 Welcome you silly person[CR][LF]" 17:50:02.748540 < "PWD" 17:50:02.748587 > "257 "/" is current directory[CR][LF]" 17:50:02.748810 < "EPSV" 17:50:02.748844 ====> Passive DATA channel requested by client 17:50:02.748862 DATA sockfilt for passive data channel starting... 17:50:02.766591 DATA sockfilt for passive data channel started (pid 117234) 17:50:02.766796 DATA sockfilt for passive data channel listens on port 44511 17:50:02.766880 > "229 Entering Passive Mode (|||44511|)[CR][LF]" 17:50:02.766903 Client has been notified that DATA conn will be accepted on port 44511 17:50:02.770359 Client connects to port 44511 17:50:02.770404 ====> Client established passive DATA connection on port 44511 17:50:02.770588 < "TYPE I" 17:50:02.770630 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:02.770832 < "SIZE verifiedserver" 17:50:02.770881 > "213 17[CR][LF]" 17:50:02.771064 < "RETR verifiedserver" 17:50:02.771102 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:02.771198 =====> Closing passive DATA connection... 17:50:02.771217 Server disconnects passive DATA connection 17:50:02.771342 Server disconnected passive DATA connection 17:50:02.771369 DATA sockfilt for passive data channel quits (pid 117234) 17:50:02.771633 DATA sockfilt for passive data channel quit (pid 117234) 17:50:02.771663 =====> Closed passive DATA connection 17:50:02.771695 > "226 File transfer complete[CR][LF]" 17:50:02.814356 < "QUIT" 17:50:02.814418 > "221 bye bye baby[CR][LF]" 17:50:02.815383 MAIN sockfilt said DISC 17:50:02.815428 ====> Client disconnected 17:50:02.815508 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:02.546188 ====> Client connect 17:50:02.570675 Received DATA (on stdin) 17:50:02.576430 > 146 bytes data, server => client 17:50:02.576457 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:02.576467 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:02.576476 '220 \___|\___/|_| \_\_____|\r\n' 17:50:02.576593 < 16 bytes data, client => server 17:50:02.576611 'USER anonymous\r\n' 17:50:02.592888 Received DATA (on stdin) 17:50:02.592919 > 33 bytes data, server => client 17:50:02.592932 '331 We are happy you popped in!\r\n' 17:50:02.593055 < 22 bytes data, client => server 17:50:02.593073 'PASS ftp@example.com\r\n' 17:50:02.593747 Received DATA (on stdin) 17:50:02.593762 > 30 bytes data, server => client 17:50:02.593773 '230 Welcome you silly person\r\n' 17:50:02.593840 < 5 bytes data, client => server 17:50:02.593857 'PWD\r\n' 17:50:02.594781 Received DATA (on stdin) 17:50:02.594793 > 30 bytes data, server => client 17:50:02.594805 '257 "/" is current directory\r\n' 17:50:02.594878 < 6 bytes data, client => server 17:50:02.594894 'EPSV\r\n' 17:50:02.616190 Received DATA (on stdin) 17:50:02.616223 > 39 bytes data, server => client 17:50:02.616237 '229 Entering Passive Mode (|||44511|)\r\n' 17:50:02.616623 < 8 bytes data, client => server 17:50:02.616641 'TYPE I\r\n' 17:50:02.616825 Received DATA (on stdin) 17:50:02.616838 > 33 bytes data, server => client 17:50:02.616850 '200 I modify TYPE as you wanted\r\n' 17:50:02.616916 < 21 bytes data, client => server 17:50:02.616929 'SIZE verifiedserver\r\n' 17:50:02.617071 Received DATA (on stdin) 17:50:02.617084 > 8 bytes data, server => client 17:50:02.617094 '213 17\r\n' 17:50:02.617152 < 21 bytes data, client => server 17:50:02.617165 'RETR verifiedserver\r\n' 17:50: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/3/valgrind742 ../src/curl -q --output log/3/curl742.out --include --trace-ascii log/3/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:45927 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:33155 > log/3/stdout742 2> log/3/stderr742 CMD (33792): ../libtool --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/valgrind751 ./libtest/libtests lib751 - > log/8/stdout751 2> log/8/stderr751 .617890 Received DATA (on stdin) 17:50:02.617904 > 29 bytes data, server => client 17:50:02.617915 '150 Binary junk (17 bytes).\r\n' 17:50:02.617939 Received DATA (on stdin) 17:50:02.617949 > 28 bytes data, server => client 17:50:02.617959 '226 File transfer complete\r\n' 17:50:02.660321 < 6 bytes data, client => server 17:50:02.660350 'QUIT\r\n' 17:50:02.660615 Received DATA (on stdin) 17:50:02.660633 > 18 bytes data, server => client 17:50:02.660645 '221 bye bye baby\r\n' 17:50:02.661491 ====> Client disconnect 17:50:02.661703 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:02.600381 Running IPv4 version 17:50:02.610118 Listening on port 44511 17:50:02.610173 Wrote pid 117234 to log/4/server/ftp_sockdata.pid 17:50:02.610200 Received PING (on stdin) 17:50:02.612860 Received PORT (on stdin) 17:50:02.616476 ====> Client connect 17:50:02.617408 Received DATA (on stdin) 17:50:02.617424 > 17 bytes data, server => client 17:50:02.617435 'WE ROOLZ: 80996\r\n' 17:50:02.617463 Received DISC (on stdin) 17:50:02.617476 ====> Client forcibly disconnected 17:50:02.617566 Received QUIT (on stdin) 17:50:02.617577 quits 17:50:02.617648 ============> 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 ==117293== ==117293== Process terminating with default action of signal 4 (SIGILL) ==117293== Illegal opcode at address 0x4014520 ==117293== at 0x4014520: getparameter (tool_getparam.c:2862) ==117293== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117293== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117293== by 0x4003728: main (tool_main.c:186) === End of file valgrind754 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 116349 * pid socks => 116349 116349 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/3/valgrind742 ../src/curl -q --output log/3/curl742.out --include --trace-ascii log/3/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:45927 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:33155 > log/3/stdout742 2> log/3/stderr742 742: 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 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/3/valgrind742 ../src/curl -q --output log/3/curl742.out --include --trace-ascii log/3/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:45927 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:33155 > log/3/stdout742 2> log/3/stderr742 === End of file commands.log === Start of file http_server.log 17:50:02.286302 ====> Client connect 17:50:02.286346 accept_connection 3 returned 4 17:50:02.286367 accept_connection 3 returned 0 17:50:02.286384 Read 93 bytes 17:50:02.286395 Process 93 bytes request 17:50:02.286408 Got request: GET /verifiedserver HTTP/1.1 17:50:02.286418 Are-we-friendly question received 17:50:02.286443 Wrote request (93 bytes) input to log/3/server.input 17:50:02.286461 Identifying ourselves as friends 17:50:02.286541 Response sent (56 bytes) and written to log/3/server.response 17:50:02.286552 special request received, no persistency 17:50:02.286561 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 34586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === End of file http_verify.out === Start of file server.cmd method 2 user aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa password bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb backendport 45927 Testnum 742 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75287 === End of file server.response === Start of file socks_server.log 17:50:01.196549 Running IPv4 version 17:50:01.196638 Listening on port 33155 17:50:01.196674 Wrote pid 116349 to log/3/server/socks_server.pid 17:50:01.196706 Wrote port 33155 to log/3/server/socks_server.port === End of file socks_server.log === Start of file valgrind742 ==117079== ==117079== Process terminating with default action of signal 4 (SIGILL) ==117079== Illegal opcode at address 0x4014520 ==117079== at 0x4014520: getparameter (tool_getparam.c:2862) ==117079== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117079== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117079== by 0x4003728: main (tool_main.c:186) === End of file valgrind742 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/8/valgrind751 ./libtest/libtests lib751 - > log/8/stdout751 2> log/8/stderr751 libtests returned 132, when expecting 0 751: exit FAILED == Contents of files in the log/8/ 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/8/valgrind751 ./libtest/libtests lib751 - > log/8/stdout751 2> log/8/stderr751 === End of file commands.log === Start 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/17/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:44593/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/16/valgrind752 ../src/curl -q --output log/16/curl752.out --include --trace-ascii log/16/trace752 --trace-time http://127.0.0.1:40899/752 -f --retry 1 > log/16/stdout752 2> log/16/stderr752 CMD (33792): ../libtool --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/valgrind756 ../src/curl -q --include --trace-ascii log/24/trace756 --trace-time http://127.0.0.1:39649/want/756 http://127.0.0.1:39649/want/7560002 --out-null -o - > log/24/stdout756 2> log/24/stderr756 Testnum 751 === End of file server.cmd === Start of file stderr751 URL: - === End of file stderr751 === Start of file valgrind751 ==117096== ==117096== Process terminating with default action of signal 4 (SIGILL) ==117096== Illegal opcode at address 0x51A0F00 ==117096== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==117096== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==117096== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==117096== by 0x4029F3D: test_lib751.lto_priv.0 (lib751.c:42) ==117096== by 0x40034B5: main (first.c:279) ==117096== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==117096== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==117096== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==117096== by 0x4029F3D: test_lib751.lto_priv.0 (lib751.c:42) ==117096== by 0x40034B5: main (first.c:279) ==117096== === End of file valgrind751 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:44593/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:44593/we/want/757 > log/17/stdout757 2> log/17/stderr757 === End of file commands.log === Start of file http_server.log 17:50:02.719227 ====> Client connect 17:50:02.719263 accept_connection 3 returned 4 17:50:02.719281 accept_connection 3 returned 0 17:50:02.719296 Read 93 bytes 17:50:02.719306 Process 93 bytes request 17:50:02.719320 Got request: GET /verifiedserver HTTP/1.1 17:50:02.719329 Are-we-friendly question received 17:50:02.719355 Wrote request (93 bytes) input to log/17/server.input 17:50:02.719371 Identifying ourselves as friends 17:50:02.719427 Response sent (56 bytes) and written to log/17/server.response 17:50:02.719436 special request received, no persistency 17:50:02.719445 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 34642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file stderr757 URL: http://127.0.0.1:44593/we/want/757 === End of file stderr757 === Start of file valgrind757 ==117351== ==117351== Process terminating with default action of signal 4 (SIGILL) ==117351== Illegal opcode at address 0x51D97AF ==117351== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==117351== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==117351== by 0x51D97AF: Curl_open (url.c:502) ==117351== by 0x515120F: curl_easy_init (easy.c:365) ==117351== by 0x402650A: test_lib757.lto_priv.0 (lib757.c:72) ==117351== by 0x40034B5: main (first.c:279) ==117351== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==117351== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==117351== by 0x51D96BD: Curl_open (url.c:479) ==117351== by 0x515120F: curl_easy_init (easy.c:365) ==117351== by 0x402650A: test_lib757.lto_priv.0 (lib757.c:72) ==117351== by 0x40034B5: main (first.c:279) ==117351== === End of file valgrind757 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/16/valgrind752 ../src/curl -q --output log/16/curl752.out --include --trace-ascii log/16/trace752 --trace-time http://127.0.0.1:40899/752 -f --retry 1 > log/16/stdout752 2> log/16/stderr752 752: 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 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/16/valgrind752 ../src/curl -q --output log/16/curl752.out --include --trace-ascii log/16/trace752 --trace-time http://127.0.0.1:40899/752 -f --retry 1 > log/16/stdout752 2> log/16/stderr752 === End of file commands.log === Start of file http_server.log 17:50:02.575491 ====> Client connect 17:50:02.575532 accept_connection 3 returned 4 17:50:02.575551 accept_connection 3 returned 0 17:50:02.575711 Read 93 bytes 17:50:02.575727 Process 93 bytes request 17:50:02.575740 Got request: GET /verifiedserver HTTP/1.1 17:50:02.575750 Are-we-friendly question received 17:50:02.575787 Wrote request (93 bytes) input to log/16/server.input 17:50:02.575810 Identifying ourselves as friends 17:50:02.575868 Response sent (56 bytes) and written to log/16/server.response 17:50:02.575879 special request received, no persistency 17:50:02.575888 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 50890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind752 ==117246== ==117246== Process terminating with default action of signal 4 (SIGILL) ==117246== Illegal opcode at address 0x4014520 ==117246== at 0x4014520: getparameter (tool_getparam.c:2862) ==117246== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117246== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117246== by 0x4003728: main (tool_main.c:186) === 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/23/valgrind759 ../src/curl -q --output log/23/curl759.out --include --trace-ascii log/23/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/23/stdout759 2> log/23/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/2/valgrind755 ../src/curl -q --output log/2/curl755.out --include --trace-ascii log/2/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:38779 -A "" --netrc > log/2/stdout755 2> log/2/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/valgrind762 ../src/curl -q --trace-ascii log/22/trace762 --trace-time http://127.0.0.1:42933/762 -O --remote-time --output-dir log/22 > log/22/stdout762 2> log/22/stderr762 CMD (33792): ../libtool --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/valgrind761 ../src/curl -q --output log/14/curl761.out --include --trace-ascii log/14/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/14/stdout761 2> log/14/stderr761 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/24/valgrind756 ../src/curl -q --include --trace-ascii log/24/trace756 --trace-time http://127.0.0.1:39649/want/756 http://127.0.0.1:39649/want/7560002 --out-null -o - > log/24/stdout756 2> log/24/stderr756 756: stdout FAILED: --- log/24/check-expected 2026-01-28 17:50:04.999888750 +0000 +++ log/24/check-generated 2026-01-28 17:50:04.999888750 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Thu, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Response: 1[LF] -Content-Type: text/html[LF] -Content-Length: 8[LF] -[LF] -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/24/ 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: 1[LF] Content-Type: text/html[LF] Content-Length: 8[LF] [LF] 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/24/valgrind756 ../src/curl -q --include --trace-ascii log/24/trace756 --trace-time http://127.0.0.1:39649/want/756 http://127.0.0.1:39649/want/7560002 --out-null -o - > log/24/stdout756 2> log/24/stderr756 === End of file commands.log === Start of file http_server.log 17:50:02.698624 ====> Client connect 17:50:02.698669 accept_connection 3 returned 4 17:50:02.698689 accept_connection 3 returned 0 17:50:02.698703 Read 93 bytes 17:50:02.698713 Process 93 bytes request 17:50:02.698727 Got request: GET /verifiedserver HTTP/1.1 17:50:02.698736 Are-we-friendly question received 17:50:02.698765 Wrote request (93 bytes) input to log/24/server.input 17:50:02.698783 Identifying ourselves as friends 17:50:02.698847 Response sent (56 bytes) and written to log/24/server.response 17:50:02.698858 special request received, no persistency 17:50:02.698866 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 50964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind756 ==117340== ==117340== Process terminating with default action of signal 4 (SIGILL) ==117340== Illegal opcode at address 0x4014520 ==117340== at 0x4014520: getparameter (tool_getparam.c:2862) ==117340== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117340== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117340== by 0x4003728: main (tool_main.c:186) === End of file valgrind756 setenv NETRC = log/2/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/2/valgrind755 ../src/curl -q --output log/2/curl755.out --include --trace-ascii log/2/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:38779 -A "" --netrc > log/2/stdout755 2> log/2/stderr755 755: 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 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/2/valgrind755 ../src/curl -q --output log/2/curl755.out --include --trace-ascii log/2/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:38779 -A "" --netrc > log/2/stdout755 2> log/2/stderr755 === End of file commands.log === Start of file http_server.log 17:50:02.549571 ====> Client connect 17:50:02.549616 accept_connection 3 returned 4 17:50:02.551491 accept_connection 3 returned 0 17:50:02.551518 Read 93 bytes 17:50:02.551528 Process 93 bytes request 17:50:02.551541 Got request: GET /verifiedserver HTTP/1.1 17:50:02.551551 Are-we-friendly question received 17:50:02.566240 Wrote request (93 bytes) input to log/2/server.input 17:50:02.566277 Identifying ourselves as friends 17:50:02.566364 Response sent (56 bytes) and written to log/2/server.response 17:50:02.566376 special request received, no persistency 17:50:02.566385 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 39062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind755 ==117241== ==117241== Process terminating with default action of signal 4 (SIGILL) ==117241== Illegal opcode at address 0x4014520 ==117241== at 0x4014520: getparameter (tool_getparam.c:2862) ==117241== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117241== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117241== by 0x4003728: main (tool_main.c:186) === End of file valgrind755 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/23/valgrind759 ../src/curl -q --output log/23/curl759.out --include --trace-ascii log/23/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/23/stdout759 2> log/23/stderr759 curl returned 132, when expecting 3 759: exit FAILED == Contents of files in the log/23/ 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/23/valgrind759 ../src/curl -q --output log/23/curl759.out --include --trace-ascii log/23/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/23/stdout759 2> log/23/stderr759 === End of file commands.log === Start of file server.cmd Testnum 759 === End of file server.cmd === Start of file valgrind759 ==117488== ==117488== Process terminating with default action of signal 4 (SIGILL) ==117488== Illegal opcode at address 0x4014520 ==117488== at 0x4014520: getparameter (tool_getparam.c:2862) ==117488== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117488== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117488== by 0x4003728: main (tool_main.c:186) === End of file valgrind759 CMD (256): /usr/bin/perl -e 'exit((stat("log/22/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/18/valgrind763 ../src/curl -q --output log/18/curl763.out --include --trace-ascii log/18/trace763 --trace-time '​‌' > log/18/stdout763 2> log/18/stderr763 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/14/valgrind761 ../src/curl -q --output log/14/curl761.out --include --trace-ascii log/14/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/14/stdout761 2> log/14/stderr761 761: stderr FAILED: --- log/14/check-expected 2026-01-28 17:50:05.216555416 +0000 +++ log/14/check-generated 2026-01-28 17:50:05.216555416 +0000 @@ -1,2 +0,0 @@ -curl: (3) too many {} sets in URL 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[CR][LF] == Contents of files in the log/14/ directory after test 761 === Start of file check-expected curl: (3) too many {} sets in URL 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[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/valgrind761 ../src/curl -q --output log/14/curl761.out --include --trace-ascii log/14/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/14/stdout761 2> log/14/stderr761 === End of file commands.log === Start of file server.cmd Testnum 761 === End of file server.cmd === Start of file valgrind761 ==117623== ==117623== Process terminating with default action of signal 4 (SIGILL) ==117623== Illegal opcode at address 0x4014520 ==117623== at 0x4014520: getparameter (tool_getparam.c:2862) ==117623== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117623== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117623== by 0x4003728: main (tool_main.c:186) === End of file valgrind761 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/22/valgrind762 ../src/curl -q --trace-ascii log/22/trace762 --trace-time http://127.0.0.1:42933/762 -O --remote-time --output-dir log/22 > log/22/stdout762 2> log/22/stderr762 postcheck /usr/bin/perl -e 'exit((stat("log/22/762"))[9] != -922349651)' 762: postcheck FAILED == Contents of files in the log/22/ 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/22/valgrind762 ../src/curl -q --trace-ascii log/22/trace762 --trace-time http://127.0.0.1:42933/762 -O --remote-time --output-dir log/22 > log/22/stdout762 2> log/22/stderr762 === End of file commands.log === Start of file http_server.log 17:50:03.252297 ====> Client connect 17:50:03.252333 accept_connection 3 returned 4 17:50:03.252349 accept_connection 3 returned 0 17:50:03.252363 Read 93 bytes 17:50:03.252372 Process 93 bytes request 17:50:03.252384 Got request: GET /verifiedserver HTTP/1.1 17:50:03.252393 Are-we-friendly question received 17:50:03.252418 Wrote request (93 bytes) input to log/22/server.input 17:50:03.252435 Identifying ourselves as friends 17:50:03.252492 Response sent (56 bytes) and written to log/22/server.response 17:50:03.252501 special request received, no persistency 17:50:03.252509 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 40418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind762 ==117707== ==117707== Process terminating with default action of signal 4 (SIGILL) ==117707== Illegal opcode at address 0x4014520 ==117707== at 0x4014520: getparameter (tool_getparam.c:2862) ==117707== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117707== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117707== by 0x4003728: main (tool_main.c:186) === 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/18/valgrind763 ../src/curl -q --output log/18/curl763.out --include --trace-ascii log/18/trace763 --trace-time '​‌' > log/18/stdout763 2> log/18/stderr763 curl returned 132, when expecting 3 763: exit FAILED == Contents of files in the log/18/ 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/18/valgrind763 ../src/curl -q --output log/18/curl763.out --include --trace-ascii log/18/trace763 --trace-time '​‌' > log/18/stdout763 2> log/18/stderr763 === End of file commands.log === Start of file server.cmd Testnum 763 === End of file server.cmd === Start of file valgrind763 ==117622== ==117622== 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/6/valgrind760 ../src/curl -q --output log/6/curl760.out --include --trace-ascii log/6/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/6/stdout760 2> log/6/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/11/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:36233/path/766 > log/11/stdout766 2> log/11/stderr766 CMD (33792): ../libtool --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/valgrind765 ../src/curl -q --include --trace-ascii log/1/trace765 --trace-time http://127.0.0.1:39589/765 -L -w '%header{this:all:-{\}-}\n' -o log/1/765.out > log/1/stdout765 2> log/1/stderr765 ==117622== Illegal opcode at address 0x4014520 ==117622== at 0x4014520: getparameter (tool_getparam.c:2862) ==117622== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117622== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117622== by 0x4003728: main (tool_main.c:186) === End of file valgrind763 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/6/valgrind760 ../src/curl -q --output log/6/curl760.out --include --trace-ascii log/6/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/6/stdout760 2> log/6/stderr760 curl returned 132, when expecting 1 760: exit FAILED == Contents of files in the log/6/ 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/6/valgrind760 ../src/curl -q --output log/6/curl760.out --include --trace-ascii log/6/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/6/stdout760 2> log/6/stderr760 === End of file commands.log === Start of file server.cmd Testnum 760 === End of file server.cmd === Start of file valgrind760 ==117566== ==117566== Process terminating with default action of signal 4 (SIGILL) ==117566== Illegal opcode at address 0x4014520 ==117566== at 0x4014520: getparameter (tool_getparam.c:2862) ==117566== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117566== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117566== by 0x4003728: main (tool_main.c:186) === End of file valgrind760 CMD (33792): ../libtool --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/valgrind764 ../src/curl -q --include --trace-ascii log/9/trace764 --trace-time http://127.0.0.1:37413/764 -L -w '%header{this:all:***}\n' -o log/9/764.out > log/9/stdout764 2> log/9/stderr764 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/1/valgrind765 ../src/curl -q --include --trace-ascii log/1/trace765 --trace-time http://127.0.0.1:39589/765 -L -w '%header{this:all:-{\}-}\n' -o log/1/765.out > log/1/stdout765 2> log/1/stderr765 765: stdout FAILED: --- log/1/check-expected 2026-01-28 17:50:05.796555415 +0000 +++ log/1/check-generated 2026-01-28 17:50:05.796555415 +0000 @@ -1 +0,0 @@ -one-{}-two-{}-three-{}-four[CR][LF] == Contents of files in the log/1/ 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/1/valgrind765 ../src/curl -q --include --trace-ascii log/1/trace765 --trace-time http://127.0.0.1:39589/765 -L -w '%header{this:all:-{\}-}\n' -o log/1/765.out > log/1/stdout765 2> log/1/stderr765 === End of file commands.log === Start of file http_server.log 17:50:03.528039 ====> Client connect 17:50:03.528082 accept_connection 3 returned 4 17:50:03.528102 accept_connection 3 returned 0 17:50:03.528118 Read 93 bytes 17:50:03.528127 Process 93 bytes request 17:50:03.528140 Got request: GET /verifiedserver HTTP/1.1 17:50:03.528149 Are-we-friendly question received 17:50:03.528174 Wrote request (93 bytes) input to log/1/server.input 17:50:03.528190 Identifying ourselves as friends 17:50:03.528575 Response sent (56 bytes) and written to log/1/server.response 17:50:03.528590 special request received, no persistency 17:50:03.528599 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 60646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind765 ==117855== ==117855== Process terminating with default action of signal 4 (SIGILL) ==117855== Illegal opcode at address 0x4014520 ==117855== at 0x4014520: getparameter (tool_getparam.c:2862) ==117855== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117855== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117855== by 0x4003728: main (tool_main.c:186) === End of file valgrind765 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/11/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:36233/path/766 > log/11/stdout766 2> log/11/stderr766 766: 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 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/11/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:36233/path/766 > log/11/stdout766 2> log/11/stderr766 === End of file commands.log === Start of file ftp_server.log 17:50:03.800139 ====> Client connect 17:50:03.800309 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:03.800632 < "USER anonymous" 17:50:03.800672 > "331 We are happy you popped in![CR][LF]" 17:50:03.800848 < "PASS ftp@example.com" 17:50:03.800878 > "230 Welcome you silly person[CR][LF]" 17:50:03.801035 < "PWD" 17:50:03.801069 > "257 "/" is current directory[CR][LF]" 17:50:03.801241 < "EPSV" 17:50:03.801266 ====> Passive DATA channel requested by client 17:50:03.801281 DATA sockfilt for passive data channel starting... 17:50:03.805032 DATA sockfilt for passive data channel started (pid 117896) 17:50:03.805155 DATA sockfilt for passive data channel listens on port 36271 17:50:03.805207 > "229 Entering Passive Mode (|||36271|)[CR][LF]" 17:50:03.805227 Client has been notified that DATA conn will be accepted on port 36271 17:50:03.813466 Client connects to port 36271 17:50:03.813516 ====> Client established passive DATA connection on port 36271 17:50:03.813629 < "TYPE I" 17:50:03.813676 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:03.813914 < "SIZE verifiedserver" 17:50:03.813960 > "213 17[CR][LF]" 17:50:03.814152 < "RETR verifiedserver" 17:50:03.814192 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:03.814289 =====> Closing passive DATA connection... 17:50:03.814310 Server disconnects passive DATA connection 17:50:03.814569 Server disconnected passive DATA connection 17:50:03.814600 DATA sockfilt for passive data channel quits (pid 117896) 17:50:03.814915 DATA sockfilt for passive data channel quit (pid 117896) 17:50:03.814944 =====> Closed passive DATA connection 17:50:03.814977 > "226 File transfer complete[CR][LF]" 17:50:03.863585 < "QUIT" 17:50:03.863642 > "221 bye bye baby[CR][LF]" 17:50:03.867595 MAIN sockfilt said DISC 17:50:03.867651 ====> Client disconnected 17:50:03.867741 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:03.646197 ====> Client connect 17:50:03.646506 Received DATA (on stdin) 17:50:03.646520 > 146 bytes data, server => client 17:50:03.646532 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:03.646542 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:03.646552 '220 \___|\___/|_| \_\_____|\r\n' 17:50:03.646663 < 16 bytes data, client => server 17:50:03.646677 'USER anonymous\r\n' 17:50:03.646865 Received DATA (on stdin) 17:50:03.646877 > 33 bytes data, server => client 17:50:03.646887 '331 We are happy you popped in!\r\n' 17:50:03.646940 < 22 bytes data, client => server 17:50:03.646953 'PASS ftp@example.com\r\n' 17:50:03.647062 Received DATA (on stdin) 17:50:03.647074 > 30 bytes data, server => client 17:50:03.647084 '230 Welcome you silly person\r\n' 17:50:03.647133 < 5 bytes data, client => server 17:50:03.647144 'PWD\r\n' 17:50:03.647255 Received DATA (on stdin) 17:50:03.647266 > 30 bytes data, server => client 17:50:03.647276 '257 "/" is current directory\r\n' 17:50:03.647338 < 6 bytes data, client => server 17:50:03.647350 'EPSV\r\n' 17:50:03.651418 Received DATA (on stdin) 17:50:03.651434 > 39 bytes data, server => client 17:50:03.651445 '229 Entering Passive Mode (|||36271|)\r\n' 17:50:03.656347 < 8 bytes data, client => server 17:50:03.656370 'TYPE I\r\n' 17:50:03.659875 Received DATA (on stdin) 17:50:03.659893 > 33 bytes data, server => client 17:50:03.659908 '200 I modify TYPE as you wanted\r\n' 17:50:03.659984 < 21 bytes data, client => server 17:50:03.660000 'SIZE verifiedserver\r\n' 17:50:03.660151 Received DATA (on stdin) 17:50:03.660164 > 8 bytes data, server => client 17:50:03.660174 '213 17\r\n' 17:50:03.660235 < 21 bytes data, client => server 17:50:03.660249 'RETR verifiedserver\r\n' 17:50:03.660599 Received DATA (on stdin) 17:50:03.660612 > 29 bytes data, server => client 17:50:03.660622 '150 Binary junk (17 bytes).\r\n' 17:50:03.661166 Received DATA (on stdin) 17:50:03.661179 > 28 bytes data, server => client 17:50:03.661188 '226 File transfer complete\r\n' 17:50:03.709543 < 6 bytes data, client => server 17:50:03.709586 'QUIT\r\n' 17:50:03.709833 Received DATA (on stdin) 17:50:03.709847 > 18 bytes data, server => client 17:50:03.709857 '221 bye bye baby\r\n' 17:50:03.713702 ====> Client disconnect 17:50:03.713935 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:03.650877 Running IPv4 version 17:50:03.650954 Listening on port 36271 17:50:03.650990 Wrote pid 117896 to log/11/server/ftp_sockdata.pid 17:50:03.651152 Received PING (on stdin) 17:50:03.651250 Received PORT (on stdin) 17:50:03.659577 ====> Client connect 17:50:03.660501 Received DATA (on stdin) 17:50:03.660518 > 17 bytes data, server => client 17:50:03.660528 'WE ROOLZ: 80983\r\n' 17:50:03.660557 Received DISC (on stdin) 17:50:03.660571 ====> Client forcibly disconnected 17:50:03.660800 Received QUIT (on stdin) 17:50:03.660815 quits 17:50:03.660896 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 766 === End of file server.cmd === Start of file stderr766 URL: ftp://127.0.0.1:36233/path/766 === End of file stderr766 === Start of file valgrind766 ==117959== ==117959== Process terminating with default action of signal 4 (SIGILL) ==117959== Illegal opcode at address 0x51D97AF ==117959== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==117959== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==117959== by 0x51D97AF: Curl_open (url.c:502) ==117959== by 0x515120F: curl_easy_init (easy.c:365) ==117959== by 0x4021E9E: test_lib766.lto_priv.0 (lib766.c:50) ==117959== by 0x40034B5: main (first.c:279) ==117959== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==117959== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==117959== by 0x51D96BD: Curl_open (url.c:479) ==117959== by 0x515120F: curl_easy_init (easy.c:365) ==117959== by 0x4021E9E: test_lib766.lto_priv.0 (lib766.c:50) ==117959== by 0x40034B5: main (first.c:279) ==117959== === 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/5/valgrind724 ../src/curl -q --output log/5/curl724.out --include --trace-ascii log/5/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/5/stdout724 2> log/5/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/12/valgrind767 ../src/curl -q --output log/12/curl767.out --include --trace-ascii log/12/trace767 --trace-time http://127.0.0.1:36641/767 > log/12/stdout767 2> log/12/stderr767 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/9/valgrind764 ../src/curl -q --include --trace-ascii log/9/trace764 --trace-time http://127.0.0.1:37413/764 -L -w '%header{this:all:***}\n' -o log/9/764.out > log/9/stdout764 2> log/9/stderr764 764: stdout FAILED: --- log/9/check-expected 2026-01-28 17:50:05.809888749 +0000 +++ log/9/check-generated 2026-01-28 17:50:05.809888749 +0000 @@ -1 +0,0 @@ -one***two***three***four[CR][LF] == Contents of files in the log/9/ 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/9/valgrind764 ../src/curl -q --include --trace-ascii log/9/trace764 --trace-time http://127.0.0.1:37413/764 -L -w '%header{this:all:***}\n' -o log/9/764.out > log/9/stdout764 2> log/9/stderr764 === End of file commands.log === Start of file http_server.log 17:50:03.499611 ====> Client connect 17:50:03.499663 accept_connection 3 returned 4 17:50:03.499685 accept_connection 3 returned 0 17:50:03.499700 Read 93 bytes 17:50:03.499710 Process 93 bytes request 17:50:03.499723 Got request: GET /verifiedserver HTTP/1.1 17:50:03.499731 Are-we-friendly question received 17:50:03.499760 Wrote request (93 bytes) input to log/9/server.input 17:50:03.499777 Identifying ourselves as friends 17:50:03.499856 Response sent (56 bytes) and written to log/9/server.response 17:50:03.499866 special request received, no persistency 17:50:03.499874 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 47982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind764 ==117834== ==117834== Process terminating with default action of signal 4 (SIGILL) ==117834== Illegal opcode at address 0x4014520 ==117834== at 0x4014520: getparameter (tool_getparam.c:2862) ==117834== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117834== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117834== by 0x4003728: main (tool_main.c:186) === End of file valgrind764 setenv HOME = /startdir/src/build-curl/tests/log/5 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/5/valgrind724 ../src/curl -q --output log/5/curl724.out --include --trace-ascii log/5/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/5/stdout724 2> log/5/stderr724 724: 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 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/5/valgrind724 ../src/curl -q --output log/5/curl724.out --include --trace-ascii log/5/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/5/stdout724 2> log/5/stderr724 === End of file commands.log === Start of file http_server.log 17:49:59.058917 ====> Client connect 17:49:59.058955 accept_connection 3 returned 4 17:49:59.058972 accept_connection 3 returned 0 17:49:59.058988 Read 93 bytes 17:49:59.058998 Process 93 bytes request 17:49:59.059013 Got request: GET /verifiedserver HTTP/1.1 17:49:59.059021 Are-we-friendly question received 17:49:59.059048 Wrote request (93 bytes) input to log/5/server.input 17:49:59.059065 Identifying ourselves as friends 17:49:59.059126 Response sent (56 bytes) and written to log/5/server.response 17:49:59.059136 special request received, no persistency 17:49:59.059145 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 57768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind724 ==114907== ==114907== Process terminating with default action of signal 4 (SIGILL) ==114907== Illegal opcode at address 0x4014520 ==114907== at 0x4014520: getparameter (tool_getparam.c:2862) ==114907== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==114907== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==114907== by 0x4003728: main (tool_main.c:186) === End of file valgrind724 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/12/valgrind767 ../src/curl -q --output log/12/curl767.out --include --trace-ascii log/12/trace767 --trace-time http://127.0.0.1:36641/767 > log/12/stdout767 2> log/12/stderr767 767: 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 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/12/valgrind767 ../src/curl -q --output log/12/curl767.out --include --trace-ascii log/12/trace767 --trace-time http://127.0.0.1:36641/767 > log/12/stdout767 2> log/12/stderr767 === End of file commands.log === Start of file http_server.log 17:50:03.789591 ====> Client connect 17:50:03.789642 accept_connection 3 returned 4 17:50:03.789662 accept_connection 3 returned 0 17:50:03.789678 Read 93 bytes 17:50:03.789689 Process 93 bytes request 17:50:03.789702 Got request: GET /verifiedserver HTTP/1.1 17:50:03.789711 Are-we-friendly question received 17:50:03.789741 Wrote request (93 bytes) input to log/12/server.input 17:50:03.789760 Identifying ourselves as friends 17:50:03.789830 Response sent (56 bytes) and written to log/12/server.response 17:50:03.789842 special request received, no persistency 17:50:03.789851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 33148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 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/20/valgrind768 ../src/curl -q --output log/20/curl768.out --include --trace-ascii log/20/trace768 --trace-time http://127.0.0.1:46725/768 > log/20/stdout768 2> log/20/stderr768 CMD (33792): ../libtool --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/valgrind769 ../src/curl -q --output log/21/curl769.out --include --trace-ascii log/21/trace769 --trace-time http://127.0.0.1:41669/769 > log/21/stdout769 2> log/21/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/13/valgrind770 ../src/curl -q --output log/13/curl770.out --include --trace-ascii log/13/trace770 --trace-time http://127.0.0.1:43845/770 > log/13/stdout770 2> log/13/stderr770 tp_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind767 ==117997== ==117997== Process terminating with default action of signal 4 (SIGILL) ==117997== Illegal opcode at address 0x4014520 ==117997== at 0x4014520: getparameter (tool_getparam.c:2862) ==117997== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==117997== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==117997== by 0x4003728: main (tool_main.c:186) === 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/20/valgrind768 ../src/curl -q --output log/20/curl768.out --include --trace-ascii log/20/trace768 --trace-time http://127.0.0.1:46725/768 > log/20/stdout768 2> log/20/stderr768 768: 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 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/20/valgrind768 ../src/curl -q --output log/20/curl768.out --include --trace-ascii log/20/trace768 --trace-time http://127.0.0.1:46725/768 > log/20/stdout768 2> log/20/stderr768 === End of file commands.log === Start of file http_server.log 17:50:03.919211 ====> Client connect 17:50:03.919250 accept_connection 3 returned 4 17:50:03.919267 accept_connection 3 returned 0 17:50:03.919282 Read 93 bytes 17:50:03.919292 Process 93 bytes request 17:50:03.919306 Got request: GET /verifiedserver HTTP/1.1 17:50:03.919315 Are-we-friendly question received 17:50:03.919345 Wrote request (93 bytes) input to log/20/server.input 17:50:03.919363 Identifying ourselves as friends 17:50:03.919423 Response sent (56 bytes) and written to log/20/server.response 17:50:03.919433 special request received, no persistency 17:50:03.919442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 34092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind768 ==118088== ==118088== Process terminating with default action of signal 4 (SIGILL) ==118088== Illegal opcode at address 0x4014520 ==118088== at 0x4014520: getparameter (tool_getparam.c:2862) ==118088== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118088== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118088== by 0x4003728: main (tool_main.c:186) === 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/21/valgrind769 ../src/curl -q --output log/21/curl769.out --include --trace-ascii log/21/trace769 --trace-time http://127.0.0.1:41669/769 > log/21/stdout769 2> log/21/stderr769 769: 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 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/21/valgrind769 ../src/curl -q --output log/21/curl769.out --include --trace-ascii log/21/trace769 --trace-time http://127.0.0.1:41669/769 > log/21/stdout769 2> log/21/stderr769 === End of file commands.log === Start of file http_server.log 17:50:04.179639 ====> Client connect 17:50:04.179684 accept_connection 3 returned 4 17:50:04.179702 accept_connection 3 returned 0 17:50:04.179718 Read 93 bytes 17:50:04.179728 Process 93 bytes request 17:50:04.179742 Got request: GET /verifiedserver HTTP/1.1 17:50:04.179751 Are-we-friendly question received 17:50:04.179777 Wrote request (93 bytes) input to log/21/server.input 17:50:04.179793 Identifying ourselves as friends 17:50:04.179858 Response sent (56 bytes) and written to log/21/server.response 17:50:04.179867 special request received, no persistency 17:50:04.179876 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 44954 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind769 ==118173== ==118173== Process terminating with default action of signal 4 (SIGILL) ==118173== Illegal opcode at address 0x4014520 ==118173== at 0x4014520: getparameter (tool_getparam.c:2862) ==118173== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118173== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118173== by 0x4003728: main (tool_main.c:186) === End of file valgrind769 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/13/valgrind770 ../src/curl -q --output log/13/curl770.out --include --trace-ascii log/13/trace770 --trace-time http://127.0.0.1:43845/770 > log/13/stdout770 2> log/13/stderr770 770: 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 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/13/valgrind770 ../src/curl -q --output log/13/curl770.out --include --trace-ascii log/13/trace770 --trace-time http://127.0.0.1:43845/770 > log/13/stdout770 2> log/13/stderr770 === End of file commands.log === Start of file http_server.log 17:50:05.402945 ====> Client connect 17:50:05.402995 accept_connection 3 returned 4 17:50:05.403012 accept_connection 3 returned 0 17:50:05.403027 Read 93 bytes 17:50:05.403037 Process 93 bytes request 17:50:05.403050 Got request: GET /verifiedserver HTTP/1.1 17:50:05.403059 Are-we-friendly question received 17:50:05.403092 Wrote request (93 bytes) input to log/13/server.input 17:50:05.403108 Identifying ourselves as friends 17:50:05.403183 Response sent (56 bytes) and written to log/13/server.response 17:50:05.403192 special request received, no persistency 17:50:05.403200 ====> 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/10/valgrind725 ../src/curl -q --output log/10/curl725.out --include --trace-ascii log/10/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout725 2> log/10/stderr725 CMD (33792): ../libtool --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/valgrind771 ../src/curl -q --output log/4/curl771.out --include --trace-ascii log/4/trace771 --trace-time http://127.0.0.1:34411/771 > log/4/stdout771 2> log/4/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/17/valgrind774 ../src/curl -q --output log/17/curl774.out --include --trace-ascii log/17/trace774 --trace-time http://127.0.0.1:44593/ -K log/17/cmd > log/17/stdout774 2> log/17/stderr774 http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 38646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind770 ==118263== ==118263== Process terminating with default action of signal 4 (SIGILL) ==118263== Illegal opcode at address 0x4014520 ==118263== at 0x4014520: getparameter (tool_getparam.c:2862) ==118263== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118263== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118263== by 0x4003728: main (tool_main.c:186) === End of file valgrind770 setenv HOME = /startdir/src/build-curl/tests/log/10 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/10/valgrind725 ../src/curl -q --output log/10/curl725.out --include --trace-ascii log/10/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout725 2> log/10/stderr725 curl returned 132, when expecting 3 725: exit FAILED == Contents of files in the log/10/ 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/10/valgrind725 ../src/curl -q --output log/10/curl725.out --include --trace-ascii log/10/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout725 2> log/10/stderr725 === End of file commands.log === Start of file http_server.log 17:49:59.272442 ====> Client connect 17:49:59.272480 accept_connection 3 returned 4 17:49:59.272498 accept_connection 3 returned 0 17:49:59.272513 Read 93 bytes 17:49:59.272523 Process 93 bytes request 17:49:59.272536 Got request: GET /verifiedserver HTTP/1.1 17:49:59.272546 Are-we-friendly question received 17:49:59.272571 Wrote request (93 bytes) input to log/10/server.input 17:49:59.272588 Identifying ourselves as friends 17:49:59.272651 Response sent (56 bytes) and written to log/10/server.response 17:49:59.272661 special request received, no persistency 17:49:59.272671 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 41788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind725 ==115326== ==115326== Process terminating with default action of signal 4 (SIGILL) ==115326== Illegal opcode at address 0x4014520 ==115326== at 0x4014520: getparameter (tool_getparam.c:2862) ==115326== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115326== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115326== by 0x4003728: main (tool_main.c:186) === End of file valgrind725 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/4/valgrind771 ../src/curl -q --output log/4/curl771.out --include --trace-ascii log/4/trace771 --trace-time http://127.0.0.1:34411/771 > log/4/stdout771 2> log/4/stderr771 771: 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 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/4/valgrind771 ../src/curl -q --output log/4/curl771.out --include --trace-ascii log/4/trace771 --trace-time http://127.0.0.1:34411/771 > log/4/stdout771 2> log/4/stderr771 === End of file commands.log === Start of file http_server.log 17:50:04.456404 ====> Client connect 17:50:04.456446 accept_connection 3 returned 4 17:50:04.456464 accept_connection 3 returned 0 17:50:04.466343 Read 93 bytes 17:50:04.466374 Process 93 bytes request 17:50:04.466388 Got request: GET /verifiedserver HTTP/1.1 17:50:04.466397 Are-we-friendly question received 17:50:04.466445 Wrote request (93 bytes) input to log/4/server.input 17:50:04.466464 Identifying ourselves as friends 17:50:04.466522 Response sent (56 bytes) and written to log/4/server.response 17:50:04.466530 special request received, no persistency 17:50:04.466538 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 37290 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind771 ==118303== ==118303== Process terminating with default action of signal 4 (SIGILL) ==118303== Illegal opcode at address 0x4014520 ==118303== at 0x4014520: getparameter (tool_getparam.c:2862) ==118303== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118303== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118303== by 0x4003728: main (tool_main.c:186) === End of file valgrind771 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:44593/ -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:44593/ -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 ==118394== ==118394== Process terminating with default action of signal 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/8/valgrind772 ../src/curl -q --output log/8/curl772.out --include --trace-ascii log/8/trace772 --trace-time http://127.0.0.1:42045/772 > log/8/stdout772 2> log/8/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/16/valgrind775 ../src/curl -q --output log/16/curl775.out --include --trace-ascii log/16/trace775 --trace-time http://127.0.0.1:40899/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/16/stdout775 2> log/16/stderr775 CMD (33792): ../libtool --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/valgrind773 ../src/curl -q --output log/3/curl773.out --include --trace-ascii log/3/trace773 --trace-time http://127.0.0.1:45927/773 > log/3/stdout773 2> log/3/stderr773 (SIGILL) ==118394== Illegal opcode at address 0x4014520 ==118394== at 0x4014520: getparameter (tool_getparam.c:2862) ==118394== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118394== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118394== by 0x4003728: main (tool_main.c:186) === End of file valgrind774 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/3/valgrind773 ../src/curl -q --output log/3/curl773.out --include --trace-ascii log/3/trace773 --trace-time http://127.0.0.1:45927/773 > log/3/stdout773 2> log/3/stderr773 773: 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 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/3/valgrind773 ../src/curl -q --output log/3/curl773.out --include --trace-ascii log/3/trace773 --trace-time http://127.0.0.1:45927/773 > log/3/stdout773 2> log/3/stderr773 === End of file commands.log === Start of file http_server.log 17:50:04.558824 ====> Client connect 17:50:04.558867 accept_connection 3 returned 4 17:50:04.558887 accept_connection 3 returned 0 17:50:04.558905 Read 93 bytes 17:50:04.558916 Process 93 bytes request 17:50:04.558930 Got request: GET /verifiedserver HTTP/1.1 17:50:04.558940 Are-we-friendly question received 17:50:04.558970 Wrote request (93 bytes) input to log/3/server.input 17:50:04.558989 Identifying ourselves as friends 17:50:04.559074 Response sent (56 bytes) and written to log/3/server.response 17:50:04.559087 special request received, no persistency 17:50:04.559096 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 34590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind773 ==118372== ==118372== Process terminating with default action of signal 4 (SIGILL) ==118372== Illegal opcode at address 0x4014520 ==118372== at 0x4014520: getparameter (tool_getparam.c:2862) ==118372== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118372== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118372== by 0x4003728: main (tool_main.c:186) === End of file valgrind773 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/8/valgrind772 ../src/curl -q --output log/8/curl772.out --include --trace-ascii log/8/trace772 --trace-time http://127.0.0.1:42045/772 > log/8/stdout772 2> log/8/stderr772 772: 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 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/8/valgrind772 ../src/curl -q --output log/8/curl772.out --include --trace-ascii log/8/trace772 --trace-time http://127.0.0.1:42045/772 > log/8/stdout772 2> log/8/stderr772 === End of file commands.log === Start of file http_server.log 17:50:04.505539 ====> Client connect 17:50:04.505579 accept_connection 3 returned 4 17:50:04.505600 accept_connection 3 returned 0 17:50:04.505616 Read 93 bytes 17:50:04.505626 Process 93 bytes request 17:50:04.505639 Got request: GET /verifiedserver HTTP/1.1 17:50:04.505649 Are-we-friendly question received 17:50:04.505681 Wrote request (93 bytes) input to log/8/server.input 17:50:04.505698 Identifying ourselves as friends 17:50:04.505765 Response sent (56 bytes) and written to log/8/server.response 17:50:04.505776 special request received, no persistency 17:50:04.505786 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 33052 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind772 ==118329== ==118329== Process terminating with default action of signal 4 (SIGILL) ==118329== Illegal opcode at address 0x4014520 ==118329== at 0x4014520: getparameter (tool_getparam.c:2862) ==118329== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118329== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118329== by 0x4003728: main (tool_main.c:186) === End of file valgrind772 test 0775...[HTTP with NTLM 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/16/valgrind775 ../src/curl -q --output log/16/curl775.out --include --trace-ascii log/16/trace775 --trace-time http://127.0.0.1:40899/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/16/stdout775 2> log/16/stderr775 775: 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 775 === Start of file commands.log ../libtool --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/valgrind775 ../src/curl -q --output log/16/curl775.out --include --trace-ascii log/16/trace775 --trace-time http://127.0.0.1:40899/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --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/valgrind786 ../src/curl -q --output log/18/curl786.out --include --trace-ascii log/18/trace786 --trace-time http://127.0.0.1:34067/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/18/stdout786 2> log/18/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/23/valgrind778 ../src/curl -q --output log/23/curl778.out --include --trace-ascii log/23/trace778 --trace-time http://first.host.it.is/we/want/that/page/778 -x 127.0.0.1:39173 --oauth2-bearer s3cr3t --proxy-user testing:this --location > log/23/stdout778 2> log/23/stderr778 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/16/stdout775 2> log/16/stderr775 === End of file commands.log === Start of file http_server.log 17:50:04.832903 ====> Client connect 17:50:04.832942 accept_connection 3 returned 4 17:50:04.832961 accept_connection 3 returned 0 17:50:04.832976 Read 93 bytes 17:50:04.832986 Process 93 bytes request 17:50:04.832999 Got request: GET /verifiedserver HTTP/1.1 17:50:04.833009 Are-we-friendly question received 17:50:04.833041 Wrote request (93 bytes) input to log/16/server.input 17:50:04.833060 Identifying ourselves as friends 17:50:04.833123 Response sent (56 bytes) and written to log/16/server.response 17:50:04.833133 special request received, no persistency 17:50:04.833143 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 50904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === End of file http_verify.out === Start of file server.cmd Testnum 775 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74819 === End of file server.response === Start of file valgrind775 ==118566== ==118566== Process terminating with default action of signal 4 (SIGILL) ==118566== Illegal opcode at address 0x4014520 ==118566== at 0x4014520: getparameter (tool_getparam.c:2862) ==118566== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118566== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118566== by 0x4003728: main (tool_main.c:186) === End of file valgrind775 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/18/valgrind786 ../src/curl -q --output log/18/curl786.out --include --trace-ascii log/18/trace786 --trace-time http://127.0.0.1:34067/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/18/stdout786 2> log/18/stderr786 786: 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 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/18/valgrind786 ../src/curl -q --output log/18/curl786.out --include --trace-ascii log/18/trace786 --trace-time http://127.0.0.1:34067/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/18/stdout786 2> log/18/stderr786 === End of file commands.log === Start of file http_server.log 17:50:05.250570 ====> Client connect 17:50:05.250608 accept_connection 3 returned 4 17:50:05.250626 accept_connection 3 returned 0 17:50:05.250642 Read 93 bytes 17:50:05.250652 Process 93 bytes request 17:50:05.250666 Got request: GET /verifiedserver HTTP/1.1 17:50:05.250675 Are-we-friendly question received 17:50:05.250704 Wrote request (93 bytes) input to log/18/server.input 17:50:05.250723 Identifying ourselves as friends 17:50:05.250785 Response sent (56 bytes) and written to log/18/server.response 17:50:05.250796 special request received, no persistency 17:50:05.250806 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 58456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === 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 ==118842== ==118842== Process terminating with default action of signal 4 (SIGILL) ==118842== Illegal opcode at address 0x4014520 ==118842== at 0x4014520: getparameter (tool_getparam.c:2862) ==118842== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118842== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118842== by 0x4003728: main (tool_main.c:186) === End of file valgrind786 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/23/valgrind778 ../src/curl -q --output log/23/curl778.out --include --trace-ascii log/23/trace778 --trace-time http://first.host.it.is/we/want/that/page/778 -x 127.0.0.1:39173 --oauth2-bearer s3cr3t --proxy-user testing:this --location > log/23/stdout778 2> log/23/stderr778 778: 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 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/23/valgrind778 ../src/curl -q --output log/23/curl778.out --include --trace-ascii log/23/trace778 --trace-time http://first.host.it.is/we/want/that/page/778 -x 127.0.0.1:39173 --oauth2-bearer s3cr3t --proxy-user testing:this --location > log/23/stdout778 2> log/23/stderr778 === End of file commands.log === Start of file http_server.log 17:50:06.055494 ====> Client connect 17:50:06.055552 accept_connection 3 returned 4 17:50:06.055590 accept_connection 3 returned 0 17:50:06.055606 Read 93 bytes 17:50:06.055616 Process 93 bytes request 17:50:06.055629 Got request: GET /verifiedserver HTTP/1.1 17:50:06.055638 Are-we-friendly question received 17:50:06.055672 Wrote request (93 bytes) input to log/23/server.input 17:50:06.055701 Identifying ourselves as friends 17:50:06.055778 Response sent (56 bytes) and written to log/23/server.response 17:50:06.055789 special request received, no persistency 17:50:06.055797 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 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/14/valgrind784 ../src/curl -q --output log/14/curl784.out --include --trace-ascii log/14/trace784 --trace-time http://127.0.0.1:37569/784 --variable "name[5-15]@log/14/in784" --expand-data '{{name}}' > log/14/stdout784 2> log/14/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/22/valgrind785 ../src/curl -q --output log/22/curl785.out --include --trace-ascii log/22/trace785 --trace-time http://127.0.0.1:42933/785 --variable "name[5-]@log/22/in785" --expand-data '{{name}}' > log/22/stdout785 2> log/22/stderr785 CMD (33792): ../libtool --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/valgrind787 ../src/curl -q --output log/6/curl787.out --include --trace-ascii log/6/trace787 --trace-time http://127.0.0.1:42747/787 --variable "name[15-14]@log/6/fooo" --expand-data '{{name}}' > log/6/stdout787 2> log/6/stderr787 .0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 40356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind778 ==118714== ==118714== Process terminating with default action of signal 4 (SIGILL) ==118714== Illegal opcode at address 0x4014520 ==118714== at 0x4014520: getparameter (tool_getparam.c:2862) ==118714== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118714== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118714== by 0x4003728: main (tool_main.c:186) === 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/14/valgrind784 ../src/curl -q --output log/14/curl784.out --include --trace-ascii log/14/trace784 --trace-time http://127.0.0.1:37569/784 --variable "name[5-15]@log/14/in784" --expand-data '{{name}}' > log/14/stdout784 2> log/14/stderr784 784: 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 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/14/valgrind784 ../src/curl -q --output log/14/curl784.out --include --trace-ascii log/14/trace784 --trace-time http://127.0.0.1:37569/784 --variable "name[5-15]@log/14/in784" --expand-data '{{name}}' > log/14/stdout784 2> log/14/stderr784 === End of file commands.log === Start of file http_server.log 17:50:06.185494 ====> Client connect 17:50:06.185532 accept_connection 3 returned 4 17:50:06.185552 accept_connection 3 returned 0 17:50:06.185568 Read 93 bytes 17:50:06.185578 Process 93 bytes request 17:50:06.185592 Got request: GET /verifiedserver HTTP/1.1 17:50:06.185601 Are-we-friendly question received 17:50:06.185630 Wrote request (93 bytes) input to log/14/server.input 17:50:06.185650 Identifying ourselves as friends 17:50:06.185718 Response sent (56 bytes) and written to log/14/server.response 17:50:06.185731 special request received, no persistency 17:50:06.185741 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 59526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind784 ==118808== ==118808== Process terminating with default action of signal 4 (SIGILL) ==118808== Illegal opcode at address 0x4014520 ==118808== at 0x4014520: getparameter (tool_getparam.c:2862) ==118808== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118808== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118808== by 0x4003728: main (tool_main.c:186) === End of file valgrind784 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/22/valgrind785 ../src/curl -q --output log/22/curl785.out --include --trace-ascii log/22/trace785 --trace-time http://127.0.0.1:42933/785 --variable "name[5-]@log/22/in785" --expand-data '{{name}}' > log/22/stdout785 2> log/22/stderr785 785: 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 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/22/valgrind785 ../src/curl -q --output log/22/curl785.out --include --trace-ascii log/22/trace785 --trace-time http://127.0.0.1:42933/785 --variable "name[5-]@log/22/in785" --expand-data '{{name}}' > log/22/stdout785 2> log/22/stderr785 === End of file commands.log === Start of file http_server.log 17:50:05.147541 ====> Client connect 17:50:05.147584 accept_connection 3 returned 4 17:50:05.147601 accept_connection 3 returned 0 17:50:05.147615 Read 93 bytes 17:50:05.147624 Process 93 bytes request 17:50:05.147637 Got request: GET /verifiedserver HTTP/1.1 17:50:05.147645 Are-we-friendly question received 17:50:05.147671 Wrote request (93 bytes) input to log/22/server.input 17:50:05.147687 Identifying ourselves as friends 17:50:05.147742 Response sent (56 bytes) and written to log/22/server.response 17:50:05.147752 special request received, no persistency 17:50:05.147760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 40420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind785 ==118786== ==118786== Process terminating with default action of signal 4 (SIGILL) ==118786== Illegal opcode at address 0x4014520 ==118786== at 0x4014520: getparameter (tool_getparam.c:2862) ==118786== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118786== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118786== by 0x4003728: main (tool_main.c:186) === 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/6/valgrind787 ../src/curl -q --output log/6/curl787.out --include --trace-ascii log/6/trace787 --trace-time http://127.0.0.1:42747/787 --variable "name[15-14]@log/6/fooo" --expand-data '{{name}}' > log/6/stdout787 2> log/6/stderr787 curl returned 132, when expecting 2 787: exit FAILED == Contents of files in the log/6/ 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/6/valgrind787 ../src/curl -q --output log/6/curl787.out --include --trace-ascii log/6/trace787 --trace-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/valgrind776 ../src/curl -q --output log/24/curl776.out --include --trace-ascii log/24/trace776 --trace-time http://127.0.0.1:39649/776 -u user:pass --ntlm > log/24/stdout776 2> log/24/stderr776 CMD (33792): ../libtool --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/valgrind788 ../src/curl -q --output log/11/curl788.out --include --trace-ascii log/11/trace788 --trace-time http://127.0.0.1:46439/788 --variable "name[15-15]@log/11/in788" --expand-data '{{name}}' > log/11/stdout788 2> log/11/stderr788 CMD (33792): ../libtool --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/valgrind790 ../src/curl -q --output log/5/curl790.out --include --trace-ascii log/5/trace790 --trace-time http://127.0.0.1:46875/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/5/stdout790 2> log/5/stderr790 ime http://127.0.0.1:42747/787 --variable "name[15-14]@log/6/fooo" --expand-data '{{name}}' > log/6/stdout787 2> log/6/stderr787 === End of file commands.log === Start of file http_server.log 17:50:05.377342 ====> Client connect 17:50:05.377381 accept_connection 3 returned 4 17:50:05.377399 accept_connection 3 returned 0 17:50:05.377413 Read 93 bytes 17:50:05.377422 Process 93 bytes request 17:50:05.377433 Got request: GET /verifiedserver HTTP/1.1 17:50:05.377442 Are-we-friendly question received 17:50:05.377470 Wrote request (93 bytes) input to log/6/server.input 17:50:05.377488 Identifying ourselves as friends 17:50:05.377547 Response sent (56 bytes) and written to log/6/server.response 17:50:05.377558 special request received, no persistency 17:50:05.377567 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 35524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind787 ==119004== ==119004== Process terminating with default action of signal 4 (SIGILL) ==119004== Illegal opcode at address 0x4014520 ==119004== at 0x4014520: getparameter (tool_getparam.c:2862) ==119004== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119004== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119004== by 0x4003728: main (tool_main.c:186) === End of file valgrind787 test 0776...[HTTP with NTLM with too long NTMLv2 ntresplen] ../libtool --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/valgrind776 ../src/curl -q --output log/24/curl776.out --include --trace-ascii log/24/trace776 --trace-time http://127.0.0.1:39649/776 -u user:pass --ntlm > log/24/stdout776 2> log/24/stderr776 776: 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 776 === Start of file commands.log ../libtool --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/valgrind776 ../src/curl -q --output log/24/curl776.out --include --trace-ascii log/24/trace776 --trace-time http://127.0.0.1:39649/776 -u user:pass --ntlm > log/24/stdout776 2> log/24/stderr776 === End of file commands.log === Start of file http_server.log 17:50:04.969589 ====> Client connect 17:50:04.969633 accept_connection 3 returned 4 17:50:04.969651 accept_connection 3 returned 0 17:50:04.969667 Read 93 bytes 17:50:04.969676 Process 93 bytes request 17:50:04.969688 Got request: GET /verifiedserver HTTP/1.1 17:50:04.969697 Are-we-friendly question received 17:50:04.969723 Wrote request (93 bytes) input to log/24/server.input 17:50:04.969739 Identifying ourselves as friends 17:50:04.969812 Response sent (56 bytes) and written to log/24/server.response 17:50:04.969821 special request received, no persistency 17:50:04.969830 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 50966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === End of file http_verify.out === Start of file server.cmd Testnum 776 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74811 === End of file server.response === Start of file valgrind776 ==118630== ==118630== Process terminating with default action of signal 4 (SIGILL) ==118630== Illegal opcode at address 0x4014520 ==118630== at 0x4014520: getparameter (tool_getparam.c:2862) ==118630== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==118630== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==118630== by 0x4003728: main (tool_main.c:186) === End of file valgrind776 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/11/valgrind788 ../src/curl -q --output log/11/curl788.out --include --trace-ascii log/11/trace788 --trace-time http://127.0.0.1:46439/788 --variable "name[15-15]@log/11/in788" --expand-data '{{name}}' > log/11/stdout788 2> log/11/stderr788 788: 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 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/11/valgrind788 ../src/curl -q --output log/11/curl788.out --include --trace-ascii log/11/trace788 --trace-time http://127.0.0.1:46439/788 --variable "name[15-15]@log/11/in788" --expand-data '{{name}}' > log/11/stdout788 2> log/11/stderr788 === End of file commands.log === Start of file http_server.log 17:50:05.739749 ====> Client connect 17:50:05.739782 accept_connection 3 returned 4 17:50:05.739797 accept_connection 3 returned 0 17:50:05.739811 Read 93 bytes 17:50:05.739820 Process 93 bytes request 17:50:05.739831 Got request: GET /verifiedserver HTTP/1.1 17:50:05.739839 Are-we-friendly question received 17:50:05.739864 Wrote request (93 bytes) input to log/11/server.input 17:50:05.739883 Identifying ourselves as friends 17:50:05.739936 Response sent (56 bytes) and written to log/11/server.response 17:50:05.739945 special request received, no persistency 17:50:05.739952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 56658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind788 ==119128== ==119128== Process terminating with default action of signal 4 (SIGILL) ==119128== Illegal opcode at address 0x4014520 ==119128== at 0x4014520: getparameter (tool_getparam.c:2862) ==119128== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119128== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119128== by 0x4003728: main (tool_main.c:186) === End of file valgrind788 test 0790...[--variable with a byte range using plain assign] ../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/12/valgrind792 ../src/curl -q --output log/12/curl792.out --include --trace-ascii log/12/trace792 --trace-time --netrc --netrc-file log/12/netrc792 ftp://127.0.0.1:38035/792 > log/12/stdout792 2> log/12/stderr792 --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind790 ../src/curl -q --output log/5/curl790.out --include --trace-ascii log/5/trace790 --trace-time http://127.0.0.1:46875/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/5/stdout790 2> log/5/stderr790 790: 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 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/5/valgrind790 ../src/curl -q --output log/5/curl790.out --include --trace-ascii log/5/trace790 --trace-time http://127.0.0.1:46875/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/5/stdout790 2> log/5/stderr790 === End of file commands.log === Start of file http_server.log 17:50:05.738107 ====> Client connect 17:50:05.738143 accept_connection 3 returned 4 17:50:05.738158 accept_connection 3 returned 0 17:50:05.738173 Read 93 bytes 17:50:05.738183 Process 93 bytes request 17:50:05.738196 Got request: GET /verifiedserver HTTP/1.1 17:50:05.738205 Are-we-friendly question received 17:50:05.738230 Wrote request (93 bytes) input to log/5/server.input 17:50:05.738246 Identifying ourselves as friends 17:50:05.738306 Response sent (56 bytes) and written to log/5/server.response 17:50:05.738316 special request received, no persistency 17:50:05.738324 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 57776 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind790 ==119116== ==119116== Process terminating with default action of signal 4 (SIGILL) ==119116== Illegal opcode at address 0x4014520 ==119116== at 0x4014520: getparameter (tool_getparam.c:2862) ==119116== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119116== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119116== by 0x4003728: main (tool_main.c:186) === End of file valgrind790 test 0792...[.netrc with embedded NULL 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/12/valgrind792 ../src/curl -q --output log/12/curl792.out --include --trace-ascii log/12/trace792 --trace-time --netrc --netrc-file log/12/netrc792 ftp://127.0.0.1:38035/792 > log/12/stdout792 2> log/12/stderr792 792: 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 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/12/valgrind792 ../src/curl -q --output log/12/curl792.out --include --trace-ascii log/12/trace792 --trace-time --netrc --netrc-file log/12/netrc792 ftp://127.0.0.1:38035/792 > log/12/stdout792 2> log/12/stderr792 === End of file commands.log === Start of file ftp_server.log 17:50:06.243363 ====> Client connect 17:50:06.243583 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:06.253488 < "USER anonymous" 17:50:06.253553 > "331 We are happy you popped in![CR][LF]" 17:50:06.256883 < "PASS ftp@example.com" 17:50:06.256928 > "230 Welcome you silly person[CR][LF]" 17:50:06.257098 < "PWD" 17:50:06.257131 > "257 "/" is current directory[CR][LF]" 17:50:06.257283 < "EPSV" 17:50:06.257309 ====> Passive DATA channel requested by client 17:50:06.257322 DATA sockfilt for passive data channel starting... 17:50:06.270322 DATA sockfilt for passive data channel started (pid 119371) 17:50:06.270490 DATA sockfilt for passive data channel listens on port 46297 17:50:06.270545 > "229 Entering Passive Mode (|||46297|)[CR][LF]" 17:50:06.270563 Client has been notified that DATA conn will be accepted on port 46297 17:50:06.270886 Client connects to port 46297 17:50:06.270915 ====> Client established passive DATA connection on port 46297 17:50:06.271007 < "TYPE I" 17:50:06.271039 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:06.271181 < "SIZE verifiedserver" 17:50:06.271220 > "213 17[CR][LF]" 17:50:06.271352 < "RETR verifiedserver" 17:50:06.271383 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:06.271495 =====> Closing passive DATA connection... 17:50:06.271512 Server disconnects passive DATA connection 17:50:06.271750 Server disconnected passive DATA connection 17:50:06.271776 DATA sockfilt for passive data channel quits (pid 119371) 17:50:06.272114 DATA sockfilt for passive data channel quit (pid 119371) 17:50:06.272138 =====> Closed passive DATA connection 17:50:06.272165 > "226 File transfer complete[CR][LF]" 17:50:06.326850 < "QUIT" 17:50:06.326918 > "221 bye bye baby[CR][LF]" 17:50:06.333376 MAIN sockfilt said DISC 17:50:06.333454 ====> Client disconnected 17:50:06.333553 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:06.086206 ====> Client connect 17:50:06.092854 Received DATA (on stdin) 17:50:06.092886 > 146 bytes data, server => client 17:50:06.092899 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:06.092908 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:06.092917 '220 \___|\___/|_| \_\_____|\r\n' 17:50:06.096449 < 16 bytes data, client => server 17:50:06.096469 'USER anonymous\r\n' 17:50:06.099753 Received DATA (on stdin) 17:50:06.099773 > 33 bytes data, server => client 17:50:06.099785 '331 We are happy you popped in!\r\n' 17:50:06.102911 < 22 bytes data, client => server 17:50:06.102933 'PASS ftp@example.com\r\n' 17:50:06.103116 Received DATA (on stdin) 17:50:06.103128 > 30 bytes data, server => client 17:50:06.103138 '230 Welcome you silly person\r\n' 17:50:06.103193 < 5 bytes data, client => server 17:50:06.103204 'PWD\r\n' 17:50:06.103313 Received DATA (on stdin) 17:50:06.103323 > 30 bytes data, server => client 17:50:06.103334 '257 "/" is current directory\r\n' 17:50:06.103389 < 6 bytes data, client => server 17:50:06.103399 'EPSV\r\n' 17:50:06.116755 Received DATA (on stdin) 17:50:06.116775 > 39 bytes data, server => client 17:50:06.116786 '229 Entering Passive Mode (|||46297|)\r\n' 17:50:06.116990 < 8 bytes data, client => server 17:50:06.117003 'TYPE I\r\n' 17:50:06.117222 Received DATA (on stdin) 17:50:06.117232 > 33 bytes data, server => client 17:50:06.117242 '200 I modify TYPE as you wanted\r\n' 17:50:06.117288 < 21 bytes data, client => server 17:50:06.117297 'SIZE verifiedserver\r\n' 17:50:06.117400 Received DATA (on stdin) 17:50:06.117410 > 8 bytes data, server => client 17:50:06.117419 '213 17\r\n' 17:50:06.117462 < 21 bytes data, client => server 17:50:06.117471 'RETR verifiedserver\r\n' 17:50:06.117697 Received DATA (on stdin) 17:50:06.117708 > 29 bytes data, server => client 17:50:06.117717 '150 Binary junk (17 bytes).\r\n' 17:50:06.118348 Received DATA (on stdin) 17:50:06.118359 > 28 bytes data, server => client 17:50:06.118369 '226 File transfer complete\r\n' 17:50:06.169845 < 6 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/1/valgrind791 ../src/curl -q --output log/1/curl791.out --include --trace-ascii log/1/trace791 --trace-time http://127.0.0.1:39589/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/1/stdout791 2> log/1/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/2/valgrind779 ../src/curl -q --output log/2/curl779.out --include --trace-ascii log/2/trace779 --trace-time http://127.0.0.1:38779/page/779 --oauth2-bearer s3cr3t --location --proto-redir imap --resolve host:37623:127.0.0.1 > log/2/stdout779 2> log/2/stderr779 r 17:50:06.169878 'QUIT\r\n' 17:50:06.175463 Received DATA (on stdin) 17:50:06.175493 > 18 bytes data, server => client 17:50:06.175505 '221 bye bye baby\r\n' 17:50:06.176946 ====> Client disconnect 17:50:06.179742 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:06.110586 Running IPv4 version 17:50:06.110687 Listening on port 46297 17:50:06.110740 Wrote pid 119371 to log/12/server/ftp_sockdata.pid 17:50:06.116406 Received PING (on stdin) 17:50:06.116554 Received PORT (on stdin) 17:50:06.117023 ====> Client connect 17:50:06.117771 Received DATA (on stdin) 17:50:06.117783 > 17 bytes data, server => client 17:50:06.117793 'WE ROOLZ: 81047\r\n' 17:50:06.117819 Received DISC (on stdin) 17:50:06.117829 ====> Client forcibly disconnected 17:50:06.117969 Received QUIT (on stdin) 17:50:06.117979 quits 17:50:06.118071 ============> 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 ==119403== ==119403== Process terminating with default action of signal 4 (SIGILL) ==119403== Illegal opcode at address 0x4014520 ==119403== at 0x4014520: getparameter (tool_getparam.c:2862) ==119403== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119403== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119403== by 0x4003728: main (tool_main.c:186) === End of file valgrind792 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/1/valgrind791 ../src/curl -q --output log/1/curl791.out --include --trace-ascii log/1/trace791 --trace-time http://127.0.0.1:39589/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/1/stdout791 2> log/1/stderr791 791: 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 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/1/valgrind791 ../src/curl -q --output log/1/curl791.out --include --trace-ascii log/1/trace791 --trace-time http://127.0.0.1:39589/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/1/stdout791 2> log/1/stderr791 === End of file commands.log === Start of file http_server.log 17:50:05.853801 ====> Client connect 17:50:05.853840 accept_connection 3 returned 4 17:50:05.853859 accept_connection 3 returned 0 17:50:05.853874 Read 93 bytes 17:50:05.853885 Process 93 bytes request 17:50:05.853900 Got request: GET /verifiedserver HTTP/1.1 17:50:05.853910 Are-we-friendly question received 17:50:05.853937 Wrote request (93 bytes) input to log/1/server.input 17:50:05.853955 Identifying ourselves as friends 17:50:05.854016 Response sent (56 bytes) and written to log/1/server.response 17:50:05.854027 special request received, no persistency 17:50:05.854036 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 60660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind791 ==119203== ==119203== Process terminating with default action of signal 4 (SIGILL) ==119203== Illegal opcode at address 0x4014520 ==119203== at 0x4014520: getparameter (tool_getparam.c:2862) ==119203== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119203== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119203== by 0x4003728: main (tool_main.c:186) === End of file valgrind791 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 37623 (log/2/server/imap_server.port) RUN: IMAP server is PID 118695 port 37623 * pid imap => 118695 118695 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:38779/page/779 --oauth2-bearer s3cr3t --location --proto-redir imap --resolve host:37623: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:38779/page/779 --oauth2-bearer s3cr3t --location --proto-redir imap --resolve host:37623:127.0.0.1 > log/2/stdout779 2> log/2/stderr779 === End of file commands.log === Start of file http_server.log 17:50:05.072906 ====> Client connect 17:50:05.072957 accept_connection 3 returned 4 17:50:05.072974 accept_connection 3 returned 0 17:50:05.072989 Read 93 bytes 17:50:05.072999 Process 93 bytes request 17:50:05.073012 Got request: GET /verifiedserver HTTP/1.1 17:50:05.073020 Are-we-friendly question received 17:50:05.073076 Wrote request (93 bytes) input to log/2/server.input 17:50:05.073092 Identifying ourselves as friends 17:50:05.073164 Response sent (56 bytes) and written to log/2/server.response 17:50:05.073173 special request received, no persistency 17:50:05.073182 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 39072 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === End of file http_verify.out === Start of file imap_server.log 17:50:05.290686 IMAP server listens on port IPv4/37623 17:50:05.290798 logged pid 118695 in log/2/server/imap_server.pid 17:50:05.290831 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:05.136311 Running IPv4 version 17:50:05.136434 Listening on port 37623 17:50:05.136485 Wrote pid 118746 to log/2/server/imap_sockfilt.pid 17:50:05.136530 Wrote port 37623 to log/2/server/imap_server.port 17:50:05.136761 Received PING (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/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/20/valgrind793 ../src/curl -q --output log/20/curl793.out --include --trace-ascii log/20/trace793 --trace-time --netrc --netrc-file log/20/netrc793 ftp://127.0.0.1:35215/793 > log/20/stdout793 2> log/20/stderr793 CMD (33792): ../libtool --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/valgrind740 ../src/curl -q --output log/7/curl740.out --include --trace-ascii log/7/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout740 2> log/7/stderr740 .1 200 OK Content-Length: 17 WE ROOLZ: 76626 === End of file server.response === Start of file valgrind779 ==119370== ==119370== Process terminating with default action of signal 4 (SIGILL) ==119370== Illegal opcode at address 0x4014520 ==119370== at 0x4014520: getparameter (tool_getparam.c:2862) ==119370== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119370== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119370== by 0x4003728: main (tool_main.c:186) === End of file valgrind779 test 0793...[.netrc with embedded NULL 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/20/valgrind793 ../src/curl -q --output log/20/curl793.out --include --trace-ascii log/20/trace793 --trace-time --netrc --netrc-file log/20/netrc793 ftp://127.0.0.1:35215/793 > log/20/stdout793 2> log/20/stderr793 793: 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 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/20/valgrind793 ../src/curl -q --output log/20/curl793.out --include --trace-ascii log/20/trace793 --trace-time --netrc --netrc-file log/20/netrc793 ftp://127.0.0.1:35215/793 > log/20/stdout793 2> log/20/stderr793 === End of file commands.log === Start of file ftp_server.log 17:50:06.245370 ====> Client connect 17:50:06.245530 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:06.245814 < "USER anonymous" 17:50:06.245851 > "331 We are happy you popped in![CR][LF]" 17:50:06.248960 < "PASS ftp@example.com" 17:50:06.249003 > "230 Welcome you silly person[CR][LF]" 17:50:06.249183 < "PWD" 17:50:06.249218 > "257 "/" is current directory[CR][LF]" 17:50:06.249381 < "EPSV" 17:50:06.249412 ====> Passive DATA channel requested by client 17:50:06.249427 DATA sockfilt for passive data channel starting... 17:50:06.252156 DATA sockfilt for passive data channel started (pid 119368) 17:50:06.252280 DATA sockfilt for passive data channel listens on port 36427 17:50:06.252333 > "229 Entering Passive Mode (|||36427|)[CR][LF]" 17:50:06.252353 Client has been notified that DATA conn will be accepted on port 36427 17:50:06.252616 Client connects to port 36427 17:50:06.252648 ====> Client established passive DATA connection on port 36427 17:50:06.252736 < "TYPE I" 17:50:06.252773 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:06.252949 < "SIZE verifiedserver" 17:50:06.252991 > "213 17[CR][LF]" 17:50:06.253144 < "RETR verifiedserver" 17:50:06.253180 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:06.253260 =====> Closing passive DATA connection... 17:50:06.253277 Server disconnects passive DATA connection 17:50:06.253478 Server disconnected passive DATA connection 17:50:06.253502 DATA sockfilt for passive data channel quits (pid 119368) 17:50:06.256929 DATA sockfilt for passive data channel quit (pid 119368) 17:50:06.256964 =====> Closed passive DATA connection 17:50:06.256999 > "226 File transfer complete[CR][LF]" 17:50:06.300391 < "QUIT" 17:50:06.300463 > "221 bye bye baby[CR][LF]" 17:50:06.301740 MAIN sockfilt said DISC 17:50:06.301780 ====> Client disconnected 17:50:06.301878 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:06.091452 ====> Client connect 17:50:06.091728 Received DATA (on stdin) 17:50:06.091743 > 146 bytes data, server => client 17:50:06.091754 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:06.091764 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:06.091773 '220 \___|\___/|_| \_\_____|\r\n' 17:50:06.091850 < 16 bytes data, client => server 17:50:06.091863 'USER anonymous\r\n' 17:50:06.092035 Received DATA (on stdin) 17:50:06.092046 > 33 bytes data, server => client 17:50:06.092055 '331 We are happy you popped in!\r\n' 17:50:06.092105 < 22 bytes data, client => server 17:50:06.092116 'PASS ftp@example.com\r\n' 17:50:06.095192 Received DATA (on stdin) 17:50:06.095206 > 30 bytes data, server => client 17:50:06.095217 '230 Welcome you silly person\r\n' 17:50:06.095278 < 5 bytes data, client => server 17:50:06.095291 'PWD\r\n' 17:50:06.095402 Received DATA (on stdin) 17:50:06.095413 > 30 bytes data, server => client 17:50:06.095424 '257 "/" is current directory\r\n' 17:50:06.095483 < 6 bytes data, client => server 17:50:06.095493 'EPSV\r\n' 17:50:06.098543 Received DATA (on stdin) 17:50:06.098557 > 39 bytes data, server => client 17:50:06.098567 '229 Entering Passive Mode (|||36427|)\r\n' 17:50:06.098713 < 8 bytes data, client => server 17:50:06.098729 'TYPE I\r\n' 17:50:06.098962 Received DATA (on stdin) 17:50:06.098975 > 33 bytes data, server => client 17:50:06.098987 '200 I modify TYPE as you wanted\r\n' 17:50:06.099043 < 21 bytes data, client => server 17:50:06.099055 'SIZE verifiedserver\r\n' 17:50:06.099175 Received DATA (on stdin) 17:50:06.099187 > 8 bytes data, server => client 17:50:06.099196 '213 17\r\n' 17:50:06.099247 < 21 bytes data, client => server 17:50:06.099257 'RETR verifiedserver\r\n' 17:50:06.099462 Received DATA (on stdin) 17:50:06.099473 > 29 bytes data, server => client 17:50:06.099483 '150 Binary junk (17 bytes).\r\n' 17:50:06.103192 Received DATA (on stdin) 17:50:06.103207 > 28 bytes data, server => client 17:50:06.103218 '226 File transfer complete\r\n' 17:50:06.146332 < 6 bytes data, client => server 17:50:06.146375 'QUIT\r\n' 17:50:06.146661 Received DATA (on stdin) 17:50:06.146677 > 18 bytes data, server => client 17:50:06.146689 '221 bye bye baby\r\n' 17:50:06.147862 ====> Client disconnect 17:50:06.148075 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:06.097133 Running IPv4 version 17:50:06.097195 Listening on port 36427 17:50:06.097230 Wrote pid 119368 to log/20/server/ftp_sockdata.pid 17:50:06.098270 Received PING (on stdin) 17:50:06.098373 Received PORT (on stdin) 17:50:06.098750 ====> Client connect 17:50:06.099552 Received DATA (on stdin) 17:50:06.099565 > 17 bytes data, server => client 17:50:06.099575 'WE ROOLZ: 81259\r\n' 17:50:06.099599 Received DISC (on stdin) 17:50:06.099611 ====> Client forcibly disconnected 17:50:06.102839 Received QUIT (on stdin) 17:50:06.102863 quits 17:50:06.102944 ============> 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 ==119387== ==119387== Process terminating with default action of signal 4 (SIGILL) ==119387== Illegal opcode at address 0x4014520 ==119387== at 0x4014520: getparameter (tool_getparam.c:2862) ==119387== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119387== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119387== by 0x4003728: main (tool_main.c:186) === End of file valgrind793 setenv HOME = /startdir/src/build-curl/tests/log/7 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/7/valgrind740 ../src/curl -q --output log/7/curl740.out --include --trace-ascii log/7/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout740 2> log/7/stderr740 740: 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 740 === Start of file commands.log ../libtool --modeCMD (33792): ../libtool --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/valgrind789 ../src/curl -q --output log/9/curl789.out --include --trace-ascii log/9/trace789 --trace-time http://127.0.0.1:37413/789 --variable "name[75-85]@log/9/in789" --expand-data '{{name}}' > log/9/stdout789 2> log/9/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/17/valgrind797 ../src/curl -q --output log/17/curl797.out --include --trace-ascii log/17/trace797 --trace-time http://127.0.0.1:44593/797 -X IGLOO -d moo --follow > log/17/stdout797 2> log/17/stderr797 =execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind740 ../src/curl -q --output log/7/curl740.out --include --trace-ascii log/7/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout740 2> log/7/stderr740 === End of file commands.log === Start of file http_server.log 17:50:01.158831 ====> Client connect 17:50:01.158868 accept_connection 3 returned 4 17:50:01.158885 accept_connection 3 returned 0 17:50:01.158900 Read 93 bytes 17:50:01.158909 Process 93 bytes request 17:50:01.158923 Got request: GET /verifiedserver HTTP/1.1 17:50:01.158932 Are-we-friendly question received 17:50:01.158961 Wrote request (93 bytes) input to log/7/server.input 17:50:01.158978 Identifying ourselves as friends 17:50:01.159197 Response sent (56 bytes) and written to log/7/server.response 17:50:01.159211 special request received, no persistency 17:50:01.159221 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 33878 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind740 ==116351== ==116351== Process terminating with default action of signal 4 (SIGILL) ==116351== Illegal opcode at address 0x4014520 ==116351== at 0x4014520: getparameter (tool_getparam.c:2862) ==116351== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116351== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116351== by 0x4003728: main (tool_main.c:186) === End of file valgrind740 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/9/valgrind789 ../src/curl -q --output log/9/curl789.out --include --trace-ascii log/9/trace789 --trace-time http://127.0.0.1:37413/789 --variable "name[75-85]@log/9/in789" --expand-data '{{name}}' > log/9/stdout789 2> log/9/stderr789 789: 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 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/9/valgrind789 ../src/curl -q --output log/9/curl789.out --include --trace-ascii log/9/trace789 --trace-time http://127.0.0.1:37413/789 --variable "name[75-85]@log/9/in789" --expand-data '{{name}}' > log/9/stdout789 2> log/9/stderr789 === End of file commands.log === Start of file http_server.log 17:50:05.752898 ====> Client connect 17:50:05.752937 accept_connection 3 returned 4 17:50:05.752957 accept_connection 3 returned 0 17:50:05.752973 Read 93 bytes 17:50:05.752983 Process 93 bytes request 17:50:05.752998 Got request: GET /verifiedserver HTTP/1.1 17:50:05.753008 Are-we-friendly question received 17:50:05.753041 Wrote request (93 bytes) input to log/9/server.input 17:50:05.753061 Identifying ourselves as friends 17:50:05.753137 Response sent (56 bytes) and written to log/9/server.response 17:50:05.753151 special request received, no persistency 17:50:05.753161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 47988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind789 ==119133== ==119133== Process terminating with default action of signal 4 (SIGILL) ==119133== Illegal opcode at address 0x4014520 ==119133== at 0x4014520: getparameter (tool_getparam.c:2862) ==119133== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119133== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119133== by 0x4003728: main (tool_main.c:186) === End of file valgrind789 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/17/valgrind797 ../src/curl -q --output log/17/curl797.out --include --trace-ascii log/17/trace797 --trace-time http://127.0.0.1:44593/797 -X IGLOO -d moo --follow > log/17/stdout797 2> log/17/stderr797 797: 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 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/17/valgrind797 ../src/curl -q --output log/17/curl797.out --include --trace-ascii log/17/trace797 --trace-time http://127.0.0.1:44593/797 -X IGLOO -d moo --follow > log/17/stdout797 2> log/17/stderr797 === End of file commands.log === Start of file http_server.log 17:50:06.628860 ====> Client connect 17:50:06.628896 accept_connection 3 returned 4 17:50:06.628912 accept_connection 3 returned 0 17:50:06.628927 Read 93 bytes 17:50:06.628936 Process 93 bytes request 17:50:06.628949 Got request: GET /verifiedserver HTTP/1.1 17:50:06.628958 Are-we-friendly question received 17:50:06.628983 Wrote request (93 bytes) input to log/17/server.input 17:50:06.628999 Identifying ourselves as friends 17:50:06.629053 Response sent (56 bytes) and written to log/17/server.response 17:50:06.629062 special request received, no persistency 17:50:06.629071 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 34650 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind797 ==119666== ==119666== Process terminating with default action of signal 4 (SIGILL) ==119666== Illegal opcode at address 0x4014520 ==119666== at 0x4014520: getparameter (tool_getparam.c:2862) ==119666== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119666== by 0x4003728: 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/4/valgrind798 ../src/curl -q --output log/4/curl798.out --include --trace-ascii log/4/trace798 --trace-time http://localhost:34411/we/want/798 -b none -c log/4/jar798.txt > log/4/stdout798 2> log/4/stderr798 CMD (33792): ../libtool --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/valgrind794 ../src/curl -q --output log/21/curl794.out --include --trace-ascii log/21/trace794 --trace-time http://127.0.0.1:41669/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/21/stdout794 2> log/21/stderr794 n (tool_operate.c:2244) ==119666== by 0x4003728: main (tool_main.c:186) === End of file valgrind797 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/4/valgrind798 ../src/curl -q --output log/4/curl798.out --include --trace-ascii log/4/trace798 --trace-time http://localhost:34411/we/want/798 -b none -c log/4/jar798.txt > log/4/stdout798 2> log/4/stderr798 798: 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 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/4/valgrind798 ../src/curl -q --output log/4/curl798.out --include --trace-ascii log/4/trace798 --trace-time http://localhost:34411/we/want/798 -b none -c log/4/jar798.txt > log/4/stdout798 2> log/4/stderr798 === End of file commands.log === Start of file http_server.log 17:50:06.714269 ====> Client connect 17:50:06.714309 accept_connection 3 returned 4 17:50:06.714328 accept_connection 3 returned 0 17:50:06.714342 Read 93 bytes 17:50:06.714352 Process 93 bytes request 17:50:06.714367 Got request: GET /verifiedserver HTTP/1.1 17:50:06.714376 Are-we-friendly question received 17:50:06.714403 Wrote request (93 bytes) input to log/4/server.input 17:50:06.714420 Identifying ourselves as friends 17:50:06.714477 Response sent (56 bytes) and written to log/4/server.response 17:50:06.714486 special request received, no persistency 17:50:06.714495 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 37304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind798 ==119714== ==119714== Process terminating with default action of signal 4 (SIGILL) ==119714== Illegal opcode at address 0x4014520 ==119714== at 0x4014520: getparameter (tool_getparam.c:2862) ==119714== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119714== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119714== by 0x4003728: main (tool_main.c:186) === End of file valgrind798 CMD (33792): ../libtool --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/valgrind796 ../src/curl -q --output log/10/curl796.out --include --trace-ascii log/10/trace796 --trace-time http://127.0.0.1:32889/796 -X IGLOO -d moo --follow > log/10/stdout796 2> log/10/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/18/valgrind802 ../src/curl -q --output log/18/curl802.out --include --trace-ascii log/18/trace802 --trace-time 'imap://127.0.0.1:45845/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/18/stdout802 2> log/18/stderr802 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/21/valgrind794 ../src/curl -q --output log/21/curl794.out --include --trace-ascii log/21/trace794 --trace-time http://127.0.0.1:41669/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/21/stdout794 2> log/21/stderr794 794: stderr FAILED: --- log/21/check-expected 2026-01-28 17:50:08.479888747 +0000 +++ log/21/check-generated 2026-01-28 17:50:08.479888747 +0000 @@ -1 +0,0 @@ -Warning: --follow overrides --location[CR][LF] == Contents of files in the log/21/ 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/21/valgrind794 ../src/curl -q --output log/21/curl794.out --include --trace-ascii log/21/trace794 --trace-time http://127.0.0.1:41669/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/21/stdout794 2> log/21/stderr794 === End of file commands.log === Start of file http_server.log 17:50:06.353060 ====> Client connect 17:50:06.353100 accept_connection 3 returned 4 17:50:06.353116 accept_connection 3 returned 0 17:50:06.353132 Read 93 bytes 17:50:06.353141 Process 93 bytes request 17:50:06.353154 Got request: GET /verifiedserver HTTP/1.1 17:50:06.353163 Are-we-friendly question received 17:50:06.353188 Wrote request (93 bytes) input to log/21/server.input 17:50:06.353204 Identifying ourselves as friends 17:50:06.353271 Response sent (56 bytes) and written to log/21/server.response 17:50:06.353280 special request received, no persistency 17:50:06.353289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 44964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind794 ==119564== ==119564== Process terminating with default action of signal 4 (SIGILL) ==119564== Illegal opcode at address 0x4014520 ==119564== at 0x4014520: getparameter (tool_getparam.c:2862) ==119564== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119564== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119564== by 0x4003728: main (tool_main.c:186) === End of file valgrind794 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/10/valgrind796 ../src/curl -q --output log/10/curl796.out --include --trace-ascii log/10/trace796 --trace-time http://127.0.0.1:32889/796 -X IGLOO -d moo --follow > log/10/stdout796 2> log/10/stderr796 796: 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 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/10/valgrind796 ../src/curl -q --output log/10/curl796.out --include --trace-ascii log/10/trace796 --trace-time http://127.0.0.1:32889/796 -X IGLOO -d moo --follow > log/10/stdout796 2> log/10/stderr796 === End of file commands.log === Start of file http_server.log 17:50:06.648073 ====> Client connect 17:50:06.648118 accept_connection 3 returned 4 17:50:06.648136 accept_connection 3 returned 0 17:50:06.648150 Read 93 bytes 17:50:06.648160 Process 93 bytes request 17:50:06.648172 Got request: GET /verifiedserver HTTP/1.1 17:50:06.648181 Are-we-friendly question received 17:50:06.648208 Wrote request (93 bytes) input to log/10/server.input 17:50:06.648225 Identifying ourselves as friends 17:50:06.648283 Response sent (56 bytes) and written to log/10/server.response 17:50:06.648293 special request received, no persistency 17:50:06.648302 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 41804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind796 ==119679== ==119679== Process terminating with default action of signal 4 (SIGILL) ==119679== Illegal opcode at address 0x4014520 ==119679== at 0x4014520: getparameter (tool_getparam.c:2862) ==119679== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119679== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119679== by 0x4003728: main (tool_main.c:186) === End of file valgrind796 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/18/valgrind802 ../src/curl -q --output log/18/curl802.out --include --trace-ascii log/18/trace802 --trace-time 'imap://127.0.0.1:45845/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/18/stdout802 2> log/18/stderr802 802: 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 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/18/valgrind802 ../src/curl -q --output log/18/curl802.out --include --trace-ascii log/18/trace802 --trace-time 'imap://127.0.0.1:45845/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/18/stdout802 2> log/18/stderr802 === End of file commands.log === Start of file imap_server.log 17:50:07.176768 ====> Client connect 17:50:07.177003 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:07.178835 < "A001 CAPABILITY" 17:50:07.178895 > "A001 BAD Command[CR][LF]" 17:50:07.179100 < "A002 LIST "verifiedserver" *" 17:50:07.179141 LIST_imap got "verifiedserver" * 17:50:07.179174 > "* LIST () "/" "WE ROOLZ: 110710"[CR][LF]" 17:50:07.179198 > "A002 OK LIST Completed[CR][LF]" 17:50:07.179219 return proof we are we 17:50:07.223693 < "A003 LOGOUT" 17:50:07.223759 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:07.223781 > "A003 OK LOGOUT completed[CR][LF]" 17:50:07.225385 MAIN sockfilt said DISC 17:50:07.225420 ====> Client disconnected 17:50:07.225505 Awaiting input === End of file imap_server.log === Start CMD (33792): ../libtool --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/valgrind795 ../src/curl -q --output log/13/curl795.out --include --trace-ascii log/13/trace795 --trace-time http://@127.0.0.1:43845/page/795 -u user:secret --location --proto-redir imap --resolve host:44265:127.0.0.1 > log/13/stdout795 2> log/13/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/3/valgrind801 ../src/curl -q --output log/3/curl801.out --include --trace-ascii log/3/trace801 --trace-time 'imap://127.0.0.1:45903/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/3/stdout801 2> log/3/stderr801 of file imap_sockfilt.log 17:50:07.019618 ====> Client connect 17:50:07.024594 Received DATA (on stdin) 17:50:07.024628 > 164 bytes data, server => client 17:50:07.024640 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:07.024651 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:07.024661 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:07.024804 < 17 bytes data, client => server 17:50:07.024821 'A001 CAPABILITY\r\n' 17:50:07.025089 Received DATA (on stdin) 17:50:07.025103 > 18 bytes data, server => client 17:50:07.025113 'A001 BAD Command\r\n' 17:50:07.025178 < 30 bytes data, client => server 17:50:07.025194 'A002 LIST "verifiedserver" *\r\n' 17:50:07.025405 Received DATA (on stdin) 17:50:07.025418 > 34 bytes data, server => client 17:50:07.025428 '* LIST () "/" "WE ROOLZ: 110710"\r\n' 17:50:07.025451 Received DATA (on stdin) 17:50:07.025462 > 24 bytes data, server => client 17:50:07.025473 'A002 OK LIST Completed\r\n' 17:50:07.069666 < 13 bytes data, client => server 17:50:07.069700 'A003 LOGOUT\r\n' 17:50:07.069968 Received DATA (on stdin) 17:50:07.069980 > 36 bytes data, server => client 17:50:07.069991 '* BYE curl IMAP server signing off\r\n' 17:50:07.070014 Received DATA (on stdin) 17:50:07.070024 > 26 bytes data, server => client 17:50:07.070034 'A003 OK LOGOUT completed\r\n' 17:50:07.071507 ====> Client disconnect 17:50:07.071689 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 802 === End of file server.cmd === Start of file valgrind802 ==119865== ==119865== Process terminating with default action of signal 4 (SIGILL) ==119865== Illegal opcode at address 0x4014520 ==119865== at 0x4014520: getparameter (tool_getparam.c:2862) ==119865== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119865== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119865== by 0x4003728: main (tool_main.c:186) === End of file valgrind802 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 44265 (log/13/server/imap_server.port) RUN: IMAP server is PID 119592 port 44265 * pid imap => 119592 119592 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/13/valgrind795 ../src/curl -q --output log/13/curl795.out --include --trace-ascii log/13/trace795 --trace-time http://@127.0.0.1:43845/page/795 -u user:secret --location --proto-redir imap --resolve host:44265:127.0.0.1 > log/13/stdout795 2> log/13/stderr795 795: 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 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/13/valgrind795 ../src/curl -q --output log/13/curl795.out --include --trace-ascii log/13/trace795 --trace-time http://@127.0.0.1:43845/page/795 -u user:secret --location --proto-redir imap --resolve host:44265:127.0.0.1 > log/13/stdout795 2> log/13/stderr795 === End of file commands.log === Start of file http_server.log 17:50:07.479652 ====> Client connect 17:50:07.484202 accept_connection 3 returned 4 17:50:07.484236 accept_connection 3 returned 0 17:50:07.484252 Read 93 bytes 17:50:07.484264 Process 93 bytes request 17:50:07.484276 Got request: GET /verifiedserver HTTP/1.1 17:50:07.484285 Are-we-friendly question received 17:50:07.484351 Wrote request (93 bytes) input to log/13/server.input 17:50:07.484370 Identifying ourselves as friends 17:50:07.484461 Response sent (56 bytes) and written to log/13/server.response 17:50:07.484472 special request received, no persistency 17:50:07.484482 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 38648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === End of file http_verify.out === Start of file imap_server.log 17:50:06.721434 IMAP server listens on port IPv4/44265 17:50:06.721572 logged pid 119592 in log/13/server/imap_server.pid 17:50:06.721613 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:06.567089 Running IPv4 version 17:50:06.567198 Listening on port 44265 17:50:06.567248 Wrote pid 119612 to log/13/server/imap_sockfilt.pid 17:50:06.567282 Wrote port 44265 to log/13/server/imap_server.port 17:50:06.567487 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: 74871 === End of file server.response === Start of file valgrind795 ==119940== ==119940== Process terminating with default action of signal 4 (SIGILL) ==119940== Illegal opcode at address 0x4014520 ==119940== at 0x4014520: getparameter (tool_getparam.c:2862) ==119940== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==119940== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==119940== by 0x4003728: main (tool_main.c:186) === End of file valgrind795 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 45903 (log/3/server/imap_server.port) RUN: IMAP server is PID 119789 port 45903 * pid imap => 119789 119789 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/3/valgrind801 ../src/curl -q --output log/3/curl801.out --include --trace-ascii log/3/trace801 --trace-time 'imap://127.0.0.1:45903/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/3/stdout801 2> log/3/stderr801 801: 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 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/3/valgrind801 ../src/curl -q --output log/3/curl801.out --include --trace-ascii log/3/trace801 --trace-time 'imap://127.0.0.1:45903/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/3/stdout801 2> log/3/stderr801 === End of file commands.log === Start of file imap_server.log 17:50:07.066696 IMAP server listens on port IPv4/45903 17:50:07.066817 logged pid 119789 in log/3/server/imap_server.pid 17:50:07.066853 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:07.906994 Running IPv4 version 17:50:07.907083 Listening on port 45903 17:50:07.907129 Wrote pid 119822 to log/3/server/imap_sockfilt.pid 17:50:07.907159 Wrote port 45903 to log/3/server/imap_server.port 17:50:07.912713 Received PING (on stdin) === End of file imaCMD (33792): ../libtool --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/valgrind800 ../src/curl -q --output log/8/curl800.out --include --trace-ascii log/8/trace800 --trace-time 'imap://127.0.0.1:40051/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/8/stdout800 2> log/8/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/16/valgrind799 ../src/curl -q --output log/16/curl799.out --include --trace-ascii log/16/trace799 --trace-time 'imap://127.0.0.1:41161/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/16/stdout799 2> log/16/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/20/valgrind813 ../src/curl -q --output log/20/curl813.out --include --trace-ascii log/20/trace813 --trace-time imap://127.0.0.1:36145 -u user:secret -X 'RENAME 666 813' > log/20/stdout813 2> log/20/stderr813 p_sockfilt.log === Start of file server.cmd Testnum 801 === End of file server.cmd === Start of file valgrind801 ==120042== ==120042== Process terminating with default action of signal 4 (SIGILL) ==120042== Illegal opcode at address 0x4014520 ==120042== at 0x4014520: getparameter (tool_getparam.c:2862) ==120042== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120042== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120042== by 0x4003728: main (tool_main.c:186) === End of file valgrind801 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/imap_server.pid" --logfile "log/8/imap_server.log" --logdir "log/8" --portfile "log/8/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40051 (log/8/server/imap_server.port) RUN: IMAP server is PID 119712 port 40051 * pid imap => 119712 119712 test 0800...[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/8/valgrind800 ../src/curl -q --output log/8/curl800.out --include --trace-ascii log/8/trace800 --trace-time 'imap://127.0.0.1:40051/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/8/stdout800 2> log/8/stderr800 800: 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 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/8/valgrind800 ../src/curl -q --output log/8/curl800.out --include --trace-ascii log/8/trace800 --trace-time 'imap://127.0.0.1:40051/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/8/stdout800 2> log/8/stderr800 === End of file commands.log === Start of file imap_server.log 17:50:07.016775 IMAP server listens on port IPv4/40051 17:50:07.016910 logged pid 119712 in log/8/server/imap_server.pid 17:50:07.016946 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:07.855210 Running IPv4 version 17:50:07.855298 Listening on port 40051 17:50:07.855340 Wrote pid 119791 to log/8/server/imap_sockfilt.pid 17:50:07.855370 Wrote port 40051 to log/8/server/imap_server.port 17:50:07.859539 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 ==120012== ==120012== Process terminating with default action of signal 4 (SIGILL) ==120012== Illegal opcode at address 0x4014520 ==120012== at 0x4014520: getparameter (tool_getparam.c:2862) ==120012== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120012== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120012== by 0x4003728: main (tool_main.c:186) === End of file valgrind800 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 41161 (log/16/server/imap_server.port) RUN: IMAP server is PID 119697 port 41161 * pid imap => 119697 119697 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/16/valgrind799 ../src/curl -q --output log/16/curl799.out --include --trace-ascii log/16/trace799 --trace-time 'imap://127.0.0.1:41161/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/16/stdout799 2> log/16/stderr799 799: 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 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/16/valgrind799 ../src/curl -q --output log/16/curl799.out --include --trace-ascii log/16/trace799 --trace-time 'imap://127.0.0.1:41161/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/16/stdout799 2> log/16/stderr799 === End of file commands.log === Start of file imap_server.log 17:50:06.940624 IMAP server listens on port IPv4/41161 17:50:06.940757 logged pid 119697 in log/16/server/imap_server.pid 17:50:06.940795 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:06.784227 Running IPv4 version 17:50:06.784324 Listening on port 41161 17:50:06.784379 Wrote pid 119744 to log/16/server/imap_sockfilt.pid 17:50:06.784417 Wrote port 41161 to log/16/server/imap_server.port 17:50:06.786664 Received PING (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 ==120011== ==120011== Process terminating with default action of signal 4 (SIGILL) ==120011== Illegal opcode at address 0x4014520 ==120011== at 0x4014520: getparameter (tool_getparam.c:2862) ==120011== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120011== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120011== by 0x4003728: main (tool_main.c:186) === End of file valgrind799 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/20/valgrind813 ../src/curl -q --output log/20/curl813.out --include --trace-ascii log/20/trace813 --trace-time imap://127.0.0.1:36145 -u user:secret -X 'RENAME 666 813' > log/20/stdout813 2> log/20/stderr813 813: 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 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/20/valgrind813 ../src/curl -q --output log/20/curl813.out --include --trace-ascii log/20/trace813 --trace-time imap://127.0.0.1:36145 -u user:secret -X 'RENAME 666 813' > log/20/stdout813 2> log/20/stderr813 === End of file commands.log === Start of file imap_server.log 17:50:08.176819 ====> Client connect 17:50:08.177044 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:08.177461 < "A001 CAPABILITY" 17:50:08.177508 > "A001 BAD Command[CR][LF]" 17:50:08.177700 < "A002 LIST "verifiedserver" *" 17:50:08.177732 LIST_imap got "verifiedserver" * 17:50:08.177760 > "* LIST () "/" "WE ROOLZ: 110875"[CR][LF]" 17:50:08.177780 > "A002 OK LIST Completed[CR][LF]" 17:50:08.177797 return proof we are we 17:50:08.226988 < "A003 LOGOUT" 17:50:08.227050 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:08.227074 > "A003 OK LOGOUT completed[CR][LF]" 17:50:08.228418 MAIN sockfilt said DISC 17:50:08.228450 ====> Client disconnected 17:50:08.228532 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:09.022854 ====> Client connect 17:50:09.023255 Received DATA (on stdin) 17:50:09.023273 > 164 bytes data, server => client 17:50:09.023286 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:09.023297 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:09.023307 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:09.023CMD (33792): ../libtool --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/valgrind812 ../src/curl -q --output log/2/curl812.out --include --trace-ascii log/2/trace812 --trace-time imap://127.0.0.1:37623 -u user:secret -X 'DELETE 812' > log/2/stdout812 2> log/2/stderr812 CMD (33792): ../libtool --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/valgrind805 ../src/curl -q --output log/22/curl805.out --include --trace-ascii log/22/trace805 --trace-time imap://127.0.0.1:36247/805 -T log/22/upload805 -u user:secret > log/22/stdout805 2> log/22/stderr805 435 < 17 bytes data, client => server 17:50:09.023451 'A001 CAPABILITY\r\n' 17:50:09.023694 Received DATA (on stdin) 17:50:09.023707 > 18 bytes data, server => client 17:50:09.023717 'A001 BAD Command\r\n' 17:50:09.023778 < 30 bytes data, client => server 17:50:09.023793 'A002 LIST "verifiedserver" *\r\n' 17:50:09.023979 Received DATA (on stdin) 17:50:09.023991 > 34 bytes data, server => client 17:50:09.024002 '* LIST () "/" "WE ROOLZ: 110875"\r\n' 17:50:09.024026 Received DATA (on stdin) 17:50:09.024035 > 24 bytes data, server => client 17:50:09.024044 'A002 OK LIST Completed\r\n' 17:50:09.072960 < 13 bytes data, client => server 17:50:09.072993 'A003 LOGOUT\r\n' 17:50:09.073258 Received DATA (on stdin) 17:50:09.073270 > 36 bytes data, server => client 17:50:09.073281 '* BYE curl IMAP server signing off\r\n' 17:50:09.073303 Received DATA (on stdin) 17:50:09.073313 > 26 bytes data, server => client 17:50:09.073323 'A003 OK LOGOUT completed\r\n' 17:50:09.074542 ====> Client disconnect 17:50:09.074713 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 813 === End of file server.cmd === Start of file valgrind813 ==120209== ==120209== Process terminating with default action of signal 4 (SIGILL) ==120209== Illegal opcode at address 0x4014520 ==120209== at 0x4014520: getparameter (tool_getparam.c:2862) ==120209== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120209== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120209== by 0x4003728: main (tool_main.c:186) === End of file valgrind813 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/2/valgrind812 ../src/curl -q --output log/2/curl812.out --include --trace-ascii log/2/trace812 --trace-time imap://127.0.0.1:37623 -u user:secret -X 'DELETE 812' > log/2/stdout812 2> log/2/stderr812 812: 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 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/2/valgrind812 ../src/curl -q --output log/2/curl812.out --include --trace-ascii log/2/trace812 --trace-time imap://127.0.0.1:37623 -u user:secret -X 'DELETE 812' > log/2/stdout812 2> log/2/stderr812 === End of file commands.log === Start of file imap_server.log 17:50:08.134077 ====> Client connect 17:50:08.134329 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:08.138989 < "A001 CAPABILITY" 17:50:08.139051 > "A001 BAD Command[CR][LF]" 17:50:08.143632 < "A002 LIST "verifiedserver" *" 17:50:08.143686 LIST_imap got "verifiedserver" * 17:50:08.143726 > "* LIST () "/" "WE ROOLZ: 118695"[CR][LF]" 17:50:08.143750 > "A002 OK LIST Completed[CR][LF]" 17:50:08.143767 return proof we are we 17:50:08.190351 < "A003 LOGOUT" 17:50:08.190416 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:08.190442 > "A003 OK LOGOUT completed[CR][LF]" 17:50:08.191682 MAIN sockfilt said DISC 17:50:08.191718 ====> Client disconnected 17:50:08.191827 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:07.980142 ====> Client connect 17:50:07.980533 Received DATA (on stdin) 17:50:07.980550 > 164 bytes data, server => client 17:50:07.980562 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:07.980573 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:07.980583 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:07.984919 < 17 bytes data, client => server 17:50:07.984946 'A001 CAPABILITY\r\n' 17:50:07.985245 Received DATA (on stdin) 17:50:07.985258 > 18 bytes data, server => client 17:50:07.985269 'A001 BAD Command\r\n' 17:50:07.989605 < 30 bytes data, client => server 17:50:07.989639 'A002 LIST "verifiedserver" *\r\n' 17:50:07.989957 Received DATA (on stdin) 17:50:07.989971 > 34 bytes data, server => client 17:50:07.989982 '* LIST () "/" "WE ROOLZ: 118695"\r\n' 17:50:07.990007 Received DATA (on stdin) 17:50:07.990018 > 24 bytes data, server => client 17:50:07.990028 'A002 OK LIST Completed\r\n' 17:50:08.036313 < 13 bytes data, client => server 17:50:08.036355 'A003 LOGOUT\r\n' 17:50:08.036630 Received DATA (on stdin) 17:50:08.036643 > 36 bytes data, server => client 17:50:08.036653 '* BYE curl IMAP server signing off\r\n' 17:50:08.036677 Received DATA (on stdin) 17:50:08.036687 > 26 bytes data, server => client 17:50:08.036698 'A003 OK LOGOUT completed\r\n' 17:50:08.037801 ====> Client disconnect 17:50:08.038017 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 812 === End of file server.cmd === Start of file valgrind812 ==120199== ==120199== Process terminating with default action of signal 4 (SIGILL) ==120199== Illegal opcode at address 0x4014520 ==120199== at 0x4014520: getparameter (tool_getparam.c:2862) ==120199== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120199== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120199== by 0x4003728: main (tool_main.c:186) === End of file valgrind812 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 36247 (log/22/server/imap_server.port) RUN: IMAP server is PID 119922 port 36247 * pid imap => 119922 119922 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/22/valgrind805 ../src/curl -q --output log/22/curl805.out --include --trace-ascii log/22/trace805 --trace-time imap://127.0.0.1:36247/805 -T log/22/upload805 -u user:secret > log/22/stdout805 2> log/22/stderr805 805: 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 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/22/valgrind805 ../src/curl -q --output log/22/curl805.out --include --trace-ascii log/22/trace805 --trace-time imap://127.0.0.1:36247/805 -T log/22/upload805 -u user:secret > log/22/stdout805 2> log/22/stderr805 === End of file commands.log === Start of file imap_server.log 17:50:07.523537 IMAP server listens on port IPv4/36247 17:50:07.523684 logged pid 119922 in log/22/server/imap_server.pid 17:50:07.523719 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:07.364174 Running IPv4 version 17:50:07.364254 Listening on port 36247 17:50:07.364299 Wrote pid 119928 to log/22/server/imap_sockfilt.pid 17:50:07.364329 Wrote port 36247 to log/22/server/imap_server.port 17:50:07.369529 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 ==120370== ==120370== 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/14/valgrind804 ../src/curl -q --output log/14/curl804.out --include --trace-ascii log/14/trace804 --trace-time 'imap://127.0.0.1:42097/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:42097/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/14/stdout804 2> log/14/stderr804 CMD (33792): ../libtool --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:41613/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/11/valgrind808 ../src/curl -q --output log/11/curl808.out --include --trace-ascii log/11/trace808 --trace-time imap://127.0.0.1:38987 -u user:secret -X 'EXAMINE 808' > log/11/stdout808 2> log/11/stderr808 f signal 4 (SIGILL) ==120370== Illegal opcode at address 0x4014520 ==120370== at 0x4014520: getparameter (tool_getparam.c:2862) ==120370== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120370== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120370== by 0x4003728: main (tool_main.c:186) === End of file valgrind805 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 42097 (log/14/server/imap_server.port) RUN: IMAP server is PID 119921 port 42097 * pid imap => 119921 119921 test 0804...[IMAP does not perform SELECT if reusing the same 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/14/valgrind804 ../src/curl -q --output log/14/curl804.out --include --trace-ascii log/14/trace804 --trace-time 'imap://127.0.0.1:42097/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:42097/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/14/stdout804 2> log/14/stderr804 804: 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 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/14/valgrind804 ../src/curl -q --output log/14/curl804.out --include --trace-ascii log/14/trace804 --trace-time 'imap://127.0.0.1:42097/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:42097/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/14/stdout804 2> log/14/stderr804 === End of file commands.log === Start of file imap_server.log 17:50:07.524193 IMAP server listens on port IPv4/42097 17:50:07.524290 logged pid 119921 in log/14/server/imap_server.pid 17:50:07.524318 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:07.369951 Running IPv4 version 17:50:07.370036 Listening on port 42097 17:50:07.370077 Wrote pid 119930 to log/14/server/imap_sockfilt.pid 17:50:07.370106 Wrote port 42097 to log/14/server/imap_server.port 17:50:07.370274 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 ==120354== ==120354== Process terminating with default action of signal 4 (SIGILL) ==120354== Illegal opcode at address 0x4014520 ==120354== at 0x4014520: getparameter (tool_getparam.c:2862) ==120354== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120354== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120354== by 0x4003728: main (tool_main.c:186) === 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 41613 (log/23/server/imap_server.port) RUN: IMAP server is PID 119876 port 41613 * pid imap => 119876 119876 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:41613/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:41613/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 17:50:07.346812 IMAP server listens on port IPv4/41613 17:50:07.357986 logged pid 119876 in log/23/server/imap_server.pid 17:50:07.358049 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:07.179423 Running IPv4 version 17:50:07.179649 Listening on port 41613 17:50:07.179712 Wrote pid 119891 to log/23/server/imap_sockfilt.pid 17:50:07.190396 Wrote port 41613 to log/23/server/imap_server.port 17:50:07.190437 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 ==120233== ==120233== Process terminating with default action of signal 4 (SIGILL) ==120233== Illegal opcode at address 0x4014520 ==120233== at 0x4014520: getparameter (tool_getparam.c:2862) ==120233== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120233== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120233== by 0x4003728: main (tool_main.c:186) === End of file valgrind803 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 38987 (log/11/server/imap_server.port) RUN: IMAP server is PID 119977 port 38987 * pid imap => 119977 119977 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/11/valgrind808 ../src/curl -q --output log/11/curl808.out --include --trace-ascii log/11/trace808 --trace-time imap://127.0.0.1:38987 -u user:secret -X 'EXAMINE 808' > log/11/stdout808 2> log/11/stderr808 808: 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 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/11/valgrind808 ../src/curl -q --output log/11/curl808.out --include --trace-ascii log/11/trace808 --trace-time imap://127.0.0.1:38987 -u user:secret -X 'EXAMINE 808' > log/11/stdout808 2> log/11/stderr808 === End of file commands.log === Start of file imap_server.log 17:50:07.850311 IMAP server listens on port IPv4/38987 17:50:07.850414 logged pid 119977 in log/11/server/imap_server.pid 17:50:07.850445 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:07.686958 Running IPv4 version 17:50:07.692926 Listening on port 38987 17:50:07.696294 Wrote pid 120001 to log/11/server/imap_sockfilt.pid 17:50:07.696327 Wrote port 38987 to log/11/server/imap_server.port 17:50:07.696353 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 808 === End of file server.cmd === Start of file valgrind808 ==120515== ==120515== Process terminating with default action of signal 4 (SIGILL) ==120515== Illegal opcode at address 0x4014520 ==120515== at 0x4014520: getparameter (tool_getparam.c:2862) ==120515== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120515== by 0x4003728: UnknownInlinedFun (tooCMD (33792): ../libtool --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/valgrind807 ../src/curl -q --output log/24/curl807.out --include --trace-ascii log/24/trace807 --trace-time imap://127.0.0.1:40471 -u user:secret -X 'LSUB "807" *' > log/24/stdout807 2> log/24/stderr807 CMD (33792): ../libtool --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/valgrind741 ../src/curl -q --output log/15/curl741.out --include --trace-ascii log/15/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout741 2> log/15/stderr741 CMD (33792): ../libtool --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/valgrind806 ../src/curl -q --output log/6/curl806.out --include --trace-ascii log/6/trace806 --trace-time imap://127.0.0.1:37415/806 -u user:secret > log/6/stdout806 2> log/6/stderr806 CMD (33792): ../libtool --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/valgrind810 ../src/curl -q --output log/12/curl810.out --include --trace-ascii log/12/trace810 --trace-time imap://127.0.0.1:39597/810?NEW -u user:secret > log/12/stdout810 2> log/12/stderr810 l_operate.c:2244) ==120515== by 0x4003728: main (tool_main.c:186) === End of file valgrind808 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 40471 (log/24/server/imap_server.port) RUN: IMAP server is PID 119963 port 40471 * pid imap => 119963 119963 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/24/valgrind807 ../src/curl -q --output log/24/curl807.out --include --trace-ascii log/24/trace807 --trace-time imap://127.0.0.1:40471 -u user:secret -X 'LSUB "807" *' > log/24/stdout807 2> log/24/stderr807 807: 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 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/24/valgrind807 ../src/curl -q --output log/24/curl807.out --include --trace-ascii log/24/trace807 --trace-time imap://127.0.0.1:40471 -u user:secret -X 'LSUB "807" *' > log/24/stdout807 2> log/24/stderr807 === End of file commands.log === Start of file imap_server.log 17:50:07.840368 IMAP server listens on port IPv4/40471 17:50:07.840505 logged pid 119963 in log/24/server/imap_server.pid 17:50:07.843530 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:07.683681 Running IPv4 version 17:50:07.683767 Listening on port 40471 17:50:07.683845 Wrote pid 120000 to log/24/server/imap_sockfilt.pid 17:50:07.683887 Wrote port 40471 to log/24/server/imap_server.port 17:50:07.686402 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 807 === End of file server.cmd === Start of file valgrind807 ==120503== ==120503== Process terminating with default action of signal 4 (SIGILL) ==120503== Illegal opcode at address 0x4014520 ==120503== at 0x4014520: getparameter (tool_getparam.c:2862) ==120503== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120503== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120503== by 0x4003728: main (tool_main.c:186) === End of file valgrind807 setenv HOME = /startdir/src/build-curl/tests/log/15 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/15/valgrind741 ../src/curl -q --output log/15/curl741.out --include --trace-ascii log/15/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout741 2> log/15/stderr741 curl returned 132, when expecting 3 741: exit FAILED == Contents of files in the log/15/ 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/15/valgrind741 ../src/curl -q --output log/15/curl741.out --include --trace-ascii log/15/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout741 2> log/15/stderr741 === End of file commands.log === Start of file http_server.log 17:50:01.250599 ====> Client connect 17:50:01.250676 accept_connection 3 returned 4 17:50:01.250696 accept_connection 3 returned 0 17:50:01.250713 Read 93 bytes 17:50:01.250723 Process 93 bytes request 17:50:01.250738 Got request: GET /verifiedserver HTTP/1.1 17:50:01.250747 Are-we-friendly question received 17:50:01.250777 Wrote request (93 bytes) input to log/15/server.input 17:50:01.250796 Identifying ourselves as friends 17:50:01.250870 Response sent (56 bytes) and written to log/15/server.response 17:50:01.250881 special request received, no persistency 17:50:01.250889 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 45170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind741 ==116453== ==116453== Process terminating with default action of signal 4 (SIGILL) ==116453== Illegal opcode at address 0x4014520 ==116453== at 0x4014520: getparameter (tool_getparam.c:2862) ==116453== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==116453== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==116453== by 0x4003728: main (tool_main.c:186) === End of file valgrind741 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/imap_server.pid" --logfile "log/6/imap_server.log" --logdir "log/6" --portfile "log/6/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37415 (log/6/server/imap_server.port) RUN: IMAP server is PID 119936 port 37415 * pid imap => 119936 119936 test 0806...[IMAP LIST 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/6/valgrind806 ../src/curl -q --output log/6/curl806.out --include --trace-ascii log/6/trace806 --trace-time imap://127.0.0.1:37415/806 -u user:secret > log/6/stdout806 2> log/6/stderr806 806: 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 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/6/valgrind806 ../src/curl -q --output log/6/curl806.out --include --trace-ascii log/6/trace806 --trace-time imap://127.0.0.1:37415/806 -u user:secret > log/6/stdout806 2> log/6/stderr806 === End of file commands.log === Start of file imap_server.log 17:50:07.728016 IMAP server listens on port IPv4/37415 17:50:07.728120 logged pid 119936 in log/6/server/imap_server.pid 17:50:07.728154 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:07.573690 Running IPv4 version 17:50:07.573778 Listening on port 37415 17:50:07.573844 Wrote pid 119953 to log/6/server/imap_sockfilt.pid 17:50:07.573877 Wrote port 37415 to log/6/server/imap_server.port 17:50:07.574089 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 ==120464== ==120464== Process terminating with default action of signal 4 (SIGILL) ==120464== Illegal opcode at address 0x4014520 ==120464== at 0x4014520: getparameter (tool_getparam.c:2862) ==120464== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120464== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120464== by 0x4003728: main (tool_main.c:186) === End of file valgrind806 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/CMD (33792): ../libtool --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/valgrind815 ../src/curl -q --output log/9/curl815.out --include --trace-ascii log/9/trace815 --trace-time imap://127.0.0.1:42615/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:42615/815 -X CLOSE -u user:secret > log/9/stdout815 2> log/9/stderr815 CMD (33792): ../libtool --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/valgrind821 ../src/curl -q --output log/13/curl821.out --include --trace-ascii log/13/trace821 --trace-time 'imap://127.0.0.1:44265/821/;MAILINDEX=1' -u user:secret > log/13/stdout821 2> log/13/stderr821 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 39597 (log/12/server/imap_server.port) RUN: IMAP server is PID 120079 port 39597 * pid imap => 120079 120079 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/12/valgrind810 ../src/curl -q --output log/12/curl810.out --include --trace-ascii log/12/trace810 --trace-time imap://127.0.0.1:39597/810?NEW -u user:secret > log/12/stdout810 2> log/12/stderr810 810: 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 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/12/valgrind810 ../src/curl -q --output log/12/curl810.out --include --trace-ascii log/12/trace810 --trace-time imap://127.0.0.1:39597/810?NEW -u user:secret > log/12/stdout810 2> log/12/stderr810 === End of file commands.log === Start of file imap_server.log 17:50:08.122597 IMAP server listens on port IPv4/39597 17:50:08.122708 logged pid 120079 in log/12/server/imap_server.pid 17:50:08.122742 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:08.968329 Running IPv4 version 17:50:08.968438 Listening on port 39597 17:50:08.968485 Wrote pid 120147 to log/12/server/imap_sockfilt.pid 17:50:08.968518 Wrote port 39597 to log/12/server/imap_server.port 17:50:08.968684 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 ==120662== ==120662== Process terminating with default action of signal 4 (SIGILL) ==120662== Illegal opcode at address 0x4014520 ==120662== at 0x4014520: getparameter (tool_getparam.c:2862) ==120662== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120662== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120662== by 0x4003728: main (tool_main.c:186) === End of file valgrind810 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 42615 (log/9/server/imap_server.port) RUN: IMAP server is PID 120283 port 42615 * pid imap => 120283 120283 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/9/valgrind815 ../src/curl -q --output log/9/curl815.out --include --trace-ascii log/9/trace815 --trace-time imap://127.0.0.1:42615/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:42615/815 -X CLOSE -u user:secret > log/9/stdout815 2> log/9/stderr815 815: 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 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/9/valgrind815 ../src/curl -q --output log/9/curl815.out --include --trace-ascii log/9/trace815 --trace-time imap://127.0.0.1:42615/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:42615/815 -X CLOSE -u user:secret > log/9/stdout815 2> log/9/stderr815 === End of file commands.log === Start of file imap_server.log 17:50:08.401625 IMAP server listens on port IPv4/42615 17:50:08.401718 logged pid 120283 in log/9/server/imap_server.pid 17:50:08.401747 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:08.247372 Running IPv4 version 17:50:08.247454 Listening on port 42615 17:50:08.247496 Wrote pid 120318 to log/9/server/imap_sockfilt.pid 17:50:08.247526 Wrote port 42615 to log/9/server/imap_server.port 17:50:08.247712 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 815 === End of file server.cmd === Start of file valgrind815 ==120866== ==120866== Process terminating with default action of signal 4 (SIGILL) ==120866== Illegal opcode at address 0x4014520 ==120866== at 0x4014520: getparameter (tool_getparam.c:2862) ==120866== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120866== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120866== by 0x4003728: main (tool_main.c:186) === End of file valgrind815 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/13/valgrind821 ../src/curl -q --output log/13/curl821.out --include --trace-ascii log/13/trace821 --trace-time 'imap://127.0.0.1:44265/821/;MAILINDEX=1' -u user:secret > log/13/stdout821 2> log/13/stderr821 821: 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 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/13/valgrind821 ../src/curl -q --output log/13/curl821.out --include --trace-ascii log/13/trace821 --trace-time 'imap://127.0.0.1:44265/821/;MAILINDEX=1' -u user:secret > log/13/stdout821 2> log/13/stderr821 === End of file commands.log === Start of file imap_server.log 17:50:09.362649 ====> Client connect 17:50:09.362872 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:09.366904 < "A001 CAPABILITY" 17:50:09.366982 > "A001 BAD Command[CR][LF]" 17:50:09.367262 < "A002 LIST "verifiedserver" *" 17:50:09.367303 LIST_imap got "verifiedserver" * 17:50:09.367338 > "* LIST () "/" "WE ROOLZ: 119592"[CR][LF]" 17:50:09.367370 > "A002 OK LIST Completed[CR][LF]" 17:50:09.367394 return proof we are we 17:50:09.413978 < "A003 LOGOUT" 17:50:09.414054 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:09.414074 > "A003 OK LOGOUT completed[CR][LF]" 17:50:09.415373 MAIN sockfilt said DISC 17:50:09.415411 ====> Client disconnected 17:50:09.415506 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:09.208697 ====> Client connect 17:50:09.209077 Received DATA (on stdin) 17:50:09.209095 > 164 bytes data, server => client 17:50:09.209108 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:09.209119 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:09.209129 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:09.209217 < 17 bytes data, client => server 17:50:09.209235 'A001 CAPABILITY\r\n' 17:50:09.213190 Received DATA (on stdin) 17:50:09.213215 > 18 bytes data, server => client 17:50:09.213227 'A001 BAD Command\r\n' 17:50:09.213336 < 30 bytes data, client => server 17:50:09.213354 'A002 LIST "verifiedserver" *\r\n' 17:50:09.213581 Received DATA (on stdin) 17:50:09.213595 > 34 bytes data, server => client 17:50:09.213606 '* LIST () "/" "WE ROOLZ: 119592"\r\n' 17:50:09.213630 Received DATA (on stdin) 17:50:09.213641 > 24 bytes data, server => client 17:50:09.213652 'A002 OK LIST CompleteCMD (33792): ../libtool --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/valgrind817 ../src/curl -q --output log/4/curl817.out --include --trace-ascii log/4/trace817 --trace-time imap://127.0.0.1:35313 -u user:secret -X 'COPY 123 817' > log/4/stdout817 2> log/4/stderr817 CMD (33792): ../libtool --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/valgrind811 ../src/curl -q --output log/1/curl811.out --include --trace-ascii log/1/trace811 --trace-time imap://127.0.0.1:33991 -u user:secret -X 'CREATE 811' > log/1/stdout811 2> log/1/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/21/valgrind818 ../src/curl -q --output log/21/curl818.out --include --trace-ascii log/21/trace818 --trace-time imap://127.0.0.1:41403 -X NOOP -u user:secret > log/21/stdout818 2> log/21/stderr818 d\r\n' 17:50:09.259933 < 13 bytes data, client => server 17:50:09.259961 'A003 LOGOUT\r\n' 17:50:09.260259 Received DATA (on stdin) 17:50:09.260273 > 36 bytes data, server => client 17:50:09.260284 '* BYE curl IMAP server signing off\r\n' 17:50:09.260312 Received DATA (on stdin) 17:50:09.260322 > 26 bytes data, server => client 17:50:09.260332 'A003 OK LOGOUT completed\r\n' 17:50:09.261491 ====> Client disconnect 17:50:09.261699 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 ==120907== ==120907== Process terminating with default action of signal 4 (SIGILL) ==120907== Illegal opcode at address 0x4014520 ==120907== at 0x4014520: getparameter (tool_getparam.c:2862) ==120907== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120907== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120907== by 0x4003728: main (tool_main.c:186) === End of file valgrind821 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 35313 (log/4/server/imap_server.port) RUN: IMAP server is PID 120342 port 35313 * pid imap => 120342 120342 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/4/valgrind817 ../src/curl -q --output log/4/curl817.out --include --trace-ascii log/4/trace817 --trace-time imap://127.0.0.1:35313 -u user:secret -X 'COPY 123 817' > log/4/stdout817 2> log/4/stderr817 817: 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 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/4/valgrind817 ../src/curl -q --output log/4/curl817.out --include --trace-ascii log/4/trace817 --trace-time imap://127.0.0.1:35313 -u user:secret -X 'COPY 123 817' > log/4/stdout817 2> log/4/stderr817 === End of file commands.log === Start of file imap_server.log 17:50:08.516801 IMAP server listens on port IPv4/35313 17:50:08.516977 logged pid 120342 in log/4/server/imap_server.pid 17:50:08.517021 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:08.353824 Running IPv4 version 17:50:08.353908 Listening on port 35313 17:50:08.353953 Wrote pid 120366 to log/4/server/imap_sockfilt.pid 17:50:08.353987 Wrote port 35313 to log/4/server/imap_server.port 17:50:08.359520 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 ==120947== ==120947== Process terminating with default action of signal 4 (SIGILL) ==120947== Illegal opcode at address 0x4014520 ==120947== at 0x4014520: getparameter (tool_getparam.c:2862) ==120947== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120947== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120947== by 0x4003728: main (tool_main.c:186) === End of file valgrind817 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 33991 (log/1/server/imap_server.port) RUN: IMAP server is PID 120089 port 33991 * pid imap => 120089 120089 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/1/valgrind811 ../src/curl -q --output log/1/curl811.out --include --trace-ascii log/1/trace811 --trace-time imap://127.0.0.1:33991 -u user:secret -X 'CREATE 811' > log/1/stdout811 2> log/1/stderr811 811: 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 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/1/valgrind811 ../src/curl -q --output log/1/curl811.out --include --trace-ascii log/1/trace811 --trace-time imap://127.0.0.1:33991 -u user:secret -X 'CREATE 811' > log/1/stdout811 2> log/1/stderr811 === End of file commands.log === Start of file imap_server.log 17:50:08.123636 IMAP server listens on port IPv4/33991 17:50:08.123748 logged pid 120089 in log/1/server/imap_server.pid 17:50:08.123778 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:08.964726 Running IPv4 version 17:50:08.964798 Listening on port 33991 17:50:08.964865 Wrote pid 120139 to log/1/server/imap_sockfilt.pid 17:50:08.964900 Wrote port 33991 to log/1/server/imap_server.port 17:50:08.969696 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 ==120673== ==120673== Process terminating with default action of signal 4 (SIGILL) ==120673== Illegal opcode at address 0x4014520 ==120673== at 0x4014520: getparameter (tool_getparam.c:2862) ==120673== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120673== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120673== by 0x4003728: main (tool_main.c:186) === End of file valgrind811 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 41403 (log/21/server/imap_server.port) RUN: IMAP server is PID 120365 port 41403 * pid imap => 120365 120365 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/21/valgrind818 ../src/curl -q --output log/21/curl818.out --include --trace-ascii log/21/trace818 --trace-time imap://127.0.0.1:41403 -X NOOP -u user:secret > log/21/stdout818 2> log/21/stderr818 818: 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 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/21/valgrind818 ../src/curl -q --output log/21/curl818.out --include --trace-ascii log/21/trace818 --trace-time imap://127.0.0.1:41403 -X NOOP -u user:secret > log/21/stdout818 2> log/21/stderr818 === End of file commands.log === Start of file imap_server.log 17:50:08.573676 IMAP server listens on port IPv4/41403 17:50:08.573813 logged pid 120365 in log/21/server/imap_server.pid 17:50:08.573847 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:08.417533 Running IPv4 version 17:50:08.417632 Listening on port 41403 17:50:08.417700 Wrote pid 120405 to log/21/server/imap_sockfilt.pid 17: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/18/valgrind820 ../src/curl -q --output log/18/curl820.out --include --trace-ascii log/18/trace820 --trace-time 'imap://127.0.0.1:45845/820/;MAILINDEX=1' -u user:secret > log/18/stdout820 2> log/18/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/5/valgrind809 ../src/curl -q --output log/5/curl809.out --include --trace-ascii log/5/trace809 --trace-time imap://127.0.0.1:40583 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/5/stdout809 2> log/5/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/valgrind822 ../src/curl -q --output log/3/curl822.out --include --trace-ascii log/3/trace822 --trace-time 'imap://127.0.0.1:45903/822/;MAILINDEX=1' -u testuser:testpass > log/3/stdout822 2> log/3/stderr822 CMD (33792): ../libtool --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 0:08.417731 Wrote port 41403 to log/21/server/imap_server.port 17:50:08.419715 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 818 === End of file server.cmd === Start of file valgrind818 ==121038== ==121038== Process terminating with default action of signal 4 (SIGILL) ==121038== Illegal opcode at address 0x4014520 ==121038== at 0x4014520: getparameter (tool_getparam.c:2862) ==121038== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121038== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121038== by 0x4003728: main (tool_main.c:186) === End of file valgrind818 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/18/valgrind820 ../src/curl -q --output log/18/curl820.out --include --trace-ascii log/18/trace820 --trace-time 'imap://127.0.0.1:45845/820/;MAILINDEX=1' -u user:secret > log/18/stdout820 2> log/18/stderr820 820: 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 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/18/valgrind820 ../src/curl -q --output log/18/curl820.out --include --trace-ascii log/18/trace820 --trace-time 'imap://127.0.0.1:45845/820/;MAILINDEX=1' -u user:secret > log/18/stdout820 2> log/18/stderr820 === End of file commands.log === Start of file imap_server.log 17:50:09.180138 ====> Client connect 17:50:09.180383 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:09.180708 < "A001 CAPABILITY" 17:50:09.180753 > "A001 BAD Command[CR][LF]" 17:50:09.180949 < "A002 LIST "verifiedserver" *" 17:50:09.180982 LIST_imap got "verifiedserver" * 17:50:09.181017 > "* LIST () "/" "WE ROOLZ: 110710"[CR][LF]" 17:50:09.181039 > "A002 OK LIST Completed[CR][LF]" 17:50:09.181053 return proof we are we 17:50:09.227247 < "A003 LOGOUT" 17:50:09.227325 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:09.227357 > "A003 OK LOGOUT completed[CR][LF]" 17:50:09.228178 MAIN sockfilt said DISC 17:50:09.228211 ====> Client disconnected 17:50:09.228288 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:09.026189 ====> Client connect 17:50:09.026589 Received DATA (on stdin) 17:50:09.026607 > 164 bytes data, server => client 17:50:09.026619 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:09.026629 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:09.026640 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:09.026728 < 17 bytes data, client => server 17:50:09.026741 'A001 CAPABILITY\r\n' 17:50:09.026943 Received DATA (on stdin) 17:50:09.026956 > 18 bytes data, server => client 17:50:09.026966 'A001 BAD Command\r\n' 17:50:09.027026 < 30 bytes data, client => server 17:50:09.027039 'A002 LIST "verifiedserver" *\r\n' 17:50:09.027238 Received DATA (on stdin) 17:50:09.027250 > 34 bytes data, server => client 17:50:09.027260 '* LIST () "/" "WE ROOLZ: 110710"\r\n' 17:50:09.027281 Received DATA (on stdin) 17:50:09.027291 > 24 bytes data, server => client 17:50:09.027302 'A002 OK LIST Completed\r\n' 17:50:09.073172 < 13 bytes data, client => server 17:50:09.073211 'A003 LOGOUT\r\n' 17:50:09.073553 Received DATA (on stdin) 17:50:09.073588 > 36 bytes data, server => client 17:50:09.073599 '* BYE curl IMAP server signing off\r\n' 17:50:09.073626 Received DATA (on stdin) 17:50:09.073637 > 26 bytes data, server => client 17:50:09.073647 'A003 OK LOGOUT completed\r\n' 17:50:09.074305 ====> Client disconnect 17:50:09.074470 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 ==120791== ==120791== Process terminating with default action of signal 4 (SIGILL) ==120791== Illegal opcode at address 0x4014520 ==120791== at 0x4014520: getparameter (tool_getparam.c:2862) ==120791== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120791== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120791== by 0x4003728: main (tool_main.c:186) === End of file valgrind820 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 40583 (log/5/server/imap_server.port) RUN: IMAP server is PID 120008 port 40583 * pid imap => 120008 120008 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/5/valgrind809 ../src/curl -q --output log/5/curl809.out --include --trace-ascii log/5/trace809 --trace-time imap://127.0.0.1:40583 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/5/stdout809 2> log/5/stderr809 809: 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 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/5/valgrind809 ../src/curl -q --output log/5/curl809.out --include --trace-ascii log/5/trace809 --trace-time imap://127.0.0.1:40583 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/5/stdout809 2> log/5/stderr809 === End of file commands.log === Start of file imap_server.log 17:50:08.050105 IMAP server listens on port IPv4/40583 17:50:08.050227 logged pid 120008 in log/5/server/imap_server.pid 17:50:08.050256 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:08.890365 Running IPv4 version 17:50:08.890458 Listening on port 40583 17:50:08.890503 Wrote pid 120061 to log/5/server/imap_sockfilt.pid 17:50:08.890533 Wrote port 40583 to log/5/server/imap_server.port 17:50:08.893160 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 ==120616== ==120616== Process terminating with default action of signal 4 (SIGILL) ==120616== Illegal opcode at address 0x4014520 ==120616== at 0x4014520: getparameter (tool_getparam.c:2862) ==120616== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120616== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120616== by 0x4003728: main (tool_main.c:186) === End of file valgrind809 test 0822...[IMAP NTLM 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/valgrind822 ../src/curl -q --output log/3/curl822.out --include --trace-ascii log/3/trace822 --trace-time 'imap://127.0.0.1:45903/822/;MAILINDEX=1' -u testuser:testpass > log/3/stdout822 2> log/3/stderr822 822: 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 822 === Start of 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/7/valgrind814 ../src/curl -q --output log/7/curl814.out --include --trace-ascii log/7/trace814 --trace-time imap://127.0.0.1:34851/814 -u user:secret -X 'CHECK' > log/7/stdout814 2> log/7/stderr814 6 --log-file=log/3/valgrind822 ../src/curl -q --output log/3/curl822.out --include --trace-ascii log/3/trace822 --trace-time 'imap://127.0.0.1:45903/822/;MAILINDEX=1' -u testuser:testpass > log/3/stdout822 2> log/3/stderr822 === End of file commands.log === Start of file imap_server.log 17:50:09.566831 ====> Client connect 17:50:09.567046 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:09.567421 < "A001 CAPABILITY" 17:50:09.567472 > "A001 BAD Command[CR][LF]" 17:50:09.567668 < "A002 LIST "verifiedserver" *" 17:50:09.567707 LIST_imap got "verifiedserver" * 17:50:09.567740 > "* LIST () "/" "WE ROOLZ: 119789"[CR][LF]" 17:50:09.567768 > "A002 OK LIST Completed[CR][LF]" 17:50:09.567793 return proof we are we 17:50:09.620233 < "A003 LOGOUT" 17:50:09.620296 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:09.620318 > "A003 OK LOGOUT completed[CR][LF]" 17:50:09.626923 MAIN sockfilt said DISC 17:50:09.626985 ====> Client disconnected 17:50:09.627063 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:10.412881 ====> Client connect 17:50:10.413244 Received DATA (on stdin) 17:50:10.413258 > 164 bytes data, server => client 17:50:10.413270 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:10.413281 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:10.413291 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:10.413413 < 17 bytes data, client => server 17:50:10.413429 'A001 CAPABILITY\r\n' 17:50:10.413663 Received DATA (on stdin) 17:50:10.413676 > 18 bytes data, server => client 17:50:10.413685 'A001 BAD Command\r\n' 17:50:10.413746 < 30 bytes data, client => server 17:50:10.413762 'A002 LIST "verifiedserver" *\r\n' 17:50:10.413981 Received DATA (on stdin) 17:50:10.413995 > 34 bytes data, server => client 17:50:10.414005 '* LIST () "/" "WE ROOLZ: 119789"\r\n' 17:50:10.414029 Received DATA (on stdin) 17:50:10.414042 > 24 bytes data, server => client 17:50:10.414053 'A002 OK LIST Completed\r\n' 17:50:10.466200 < 13 bytes data, client => server 17:50:10.466239 'A003 LOGOUT\r\n' 17:50:10.466504 Received DATA (on stdin) 17:50:10.466516 > 36 bytes data, server => client 17:50:10.466527 '* BYE curl IMAP server signing off\r\n' 17:50:10.466562 Received DATA (on stdin) 17:50:10.466572 > 26 bytes data, server => client 17:50:10.466583 'A003 OK LOGOUT completed\r\n' 17:50:10.473012 ====> Client disconnect 17:50:10.473251 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTHENTICATE + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed Testnum 822 === End of file server.cmd === Start of file valgrind822 ==121197== ==121197== Process terminating with default action of signal 4 (SIGILL) ==121197== Illegal opcode at address 0x4014520 ==121197== at 0x4014520: getparameter (tool_getparam.c:2862) ==121197== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121197== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121197== by 0x4003728: main (tool_main.c:186) === End of file valgrind822 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 17:50:00.262927 ====> Client connect 17:50:00.262973 accept_connection 3 returned 4 17:50:00.262994 accept_connection 3 returned 0 17:50:00.263011 Read 93 bytes 17:50:00.263021 Process 93 bytes request 17:50:00.263034 Got request: GET /verifiedserver HTTP/1.1 17:50:00.263043 Are-we-friendly question received 17:50:00.263068 Wrote request (93 bytes) input to log/19/server.input 17:50:00.263085 Identifying ourselves as friends 17:50:00.263157 Response sent (56 bytes) and written to log/19/server.response 17:50:00.263167 special request received, no persistency 17:50:00.263176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 50704 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind731 ==115759== ==115759== Process terminating with default action of signal 4 (SIGILL) ==115759== Illegal opcode at address 0x4014520 ==115759== at 0x4014520: getparameter (tool_getparam.c:2862) ==115759== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==115759== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==115759== by 0x4003728: main (tool_main.c:186) === End of file valgrind731 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 34851 (log/7/server/imap_server.port) RUN: IMAP server is PID 120280 port 34851 * pid imap => 120280 120280 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/7/valgrind814 ../src/curl -q --output log/7/curl814.out --include --trace-ascii log/7/trace814 --trace-time imap://127.0.0.1:34851/814 -u user:secret -X 'CHECK' > log/7/stdout814 2> log/7/stderr814 814: 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 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/7/valgrind814 ../src/curl -q --output log/7/curl814.out --include --trace-ascii log/7/trace814 --trace-time imap://127.0.0.1:34851/814 -u user:secret -X 'CHECK' > log/7/stdout814 2> 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/17/valgrind816 ../src/curl -q --output log/17/curl816.out --include --trace-ascii log/17/trace816 --trace-time imap://127.0.0.1:37221/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:37221/816 -X EXPUNGE -u user:secret > log/17/stdout816 2> log/17/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/16/valgrind825 ../src/curl -q --output log/16/curl825.out --include --trace-ascii log/16/trace825 --trace-time 'imap://127.0.0.1:41161/825/;MAILINDEX=1' -u user:secret > log/16/stdout825 2> log/16/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/2/valgrind827 ../src/curl -q --output log/2/curl827.out --include --trace-ascii log/2/trace827 --trace-time 'imap://127.0.0.1:37623/827/;MAILINDEX=1' -u testuser:testpass > log/2/stdout827 2> log/2/stderr827 /7/stderr814 === End of file commands.log === Start of file imap_server.log 17:50:08.433629 IMAP server listens on port IPv4/34851 17:50:08.433749 logged pid 120280 in log/7/server/imap_server.pid 17:50:08.433779 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:08.276878 Running IPv4 version 17:50:08.276956 Listening on port 34851 17:50:08.276997 Wrote pid 120336 to log/7/server/imap_sockfilt.pid 17:50:08.277025 Wrote port 34851 to log/7/server/imap_server.port 17:50:08.279680 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 ==120855== ==120855== Process terminating with default action of signal 4 (SIGILL) ==120855== Illegal opcode at address 0x4014520 ==120855== at 0x4014520: getparameter (tool_getparam.c:2862) ==120855== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120855== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120855== by 0x4003728: main (tool_main.c:186) === End of file valgrind814 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 37221 (log/17/server/imap_server.port) RUN: IMAP server is PID 120335 port 37221 * pid imap => 120335 120335 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/17/valgrind816 ../src/curl -q --output log/17/curl816.out --include --trace-ascii log/17/trace816 --trace-time imap://127.0.0.1:37221/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:37221/816 -X EXPUNGE -u user:secret > log/17/stdout816 2> log/17/stderr816 816: 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 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/17/valgrind816 ../src/curl -q --output log/17/curl816.out --include --trace-ascii log/17/trace816 --trace-time imap://127.0.0.1:37221/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:37221/816 -X EXPUNGE -u user:secret > log/17/stdout816 2> log/17/stderr816 === End of file commands.log === Start of file imap_server.log 17:50:08.474049 IMAP server listens on port IPv4/37221 17:50:08.474152 logged pid 120335 in log/17/server/imap_server.pid 17:50:08.474182 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:08.319770 Running IPv4 version 17:50:08.319852 Listening on port 37221 17:50:08.319929 Wrote pid 120349 to log/17/server/imap_sockfilt.pid 17:50:08.319961 Wrote port 37221 to log/17/server/imap_server.port 17:50:08.320135 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 ==120946== ==120946== Process terminating with default action of signal 4 (SIGILL) ==120946== Illegal opcode at address 0x4014520 ==120946== at 0x4014520: getparameter (tool_getparam.c:2862) ==120946== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==120946== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==120946== by 0x4003728: main (tool_main.c:186) === End of file valgrind816 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/16/valgrind825 ../src/curl -q --output log/16/curl825.out --include --trace-ascii log/16/trace825 --trace-time 'imap://127.0.0.1:41161/825/;MAILINDEX=1' -u user:secret > log/16/stdout825 2> log/16/stderr825 825: 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 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/16/valgrind825 ../src/curl -q --output log/16/curl825.out --include --trace-ascii log/16/trace825 --trace-time 'imap://127.0.0.1:41161/825/;MAILINDEX=1' -u user:secret > log/16/stdout825 2> log/16/stderr825 === End of file commands.log === Start of file imap_server.log 17:50:09.966310 ====> Client connect 17:50:09.966537 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:09.967170 < "A001 CAPABILITY" 17:50:09.967212 > "A001 BAD Command[CR][LF]" 17:50:09.967377 < "A002 LIST "verifiedserver" *" 17:50:09.967405 LIST_imap got "verifiedserver" * 17:50:09.967431 > "* LIST () "/" "WE ROOLZ: 119697"[CR][LF]" 17:50:09.967449 > "A002 OK LIST Completed[CR][LF]" 17:50:09.967468 return proof we are we 17:50:10.017126 < "A003 LOGOUT" 17:50:10.017195 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:10.017220 > "A003 OK LOGOUT completed[CR][LF]" 17:50:10.018688 MAIN sockfilt said DISC 17:50:10.018736 ====> Client disconnected 17:50:10.018830 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:09.812342 ====> Client connect 17:50:09.812745 Received DATA (on stdin) 17:50:09.812764 > 164 bytes data, server => client 17:50:09.812777 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:09.812788 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:09.812799 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:09.813029 < 17 bytes data, client => server 17:50:09.813044 'A001 CAPABILITY\r\n' 17:50:09.813397 Received DATA (on stdin) 17:50:09.813408 > 18 bytes data, server => client 17:50:09.813418 'A001 BAD Command\r\n' 17:50:09.813471 < 30 bytes data, client => server 17:50:09.813482 'A002 LIST "verifiedserver" *\r\n' 17:50:09.813649 Received DATA (on stdin) 17:50:09.813660 > 34 bytes data, server => client 17:50:09.813669 '* LIST () "/" "WE ROOLZ: 119697"\r\n' 17:50:09.813692 Received DATA (on stdin) 17:50:09.813701 > 24 bytes data, server => client 17:50:09.813711 'A002 OK LIST Completed\r\n' 17:50:09.863066 < 13 bytes data, client => server 17:50:09.863102 'A003 LOGOUT\r\n' 17:50:09.863407 Received DATA (on stdin) 17:50:09.863421 > 36 bytes data, server => client 17:50:09.863431 '* BYE curl IMAP server signing off\r\n' 17:50:09.863457 Received DATA (on stdin) 17:50:09.863469 > 26 bytes data, server => client 17:50:09.863479 'A003 OK LOGOUT completed\r\n' 17:50:09.864794 ====> Client disconnect 17:50:09.865022 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 ==121347== ==121347== Process terminating with default action of signal 4 (SIGILL) ==121347== Illegal opcode at address 0x4014520 ==121347== at 0x4014520: getparameter (tool_getparam.c:2862) ==121347== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121347== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121347== by 0x4003728: main (tool_main.c:186) === End of file valgrind825 test 0827...[IMAP NTLM 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 -CMD (33792): ../libtool --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/valgrind828 ../src/curl -q --output log/22/curl828.out --include --trace-ascii log/22/trace828 --trace-time 'imap://127.0.0.1:36247/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout828 2> log/22/stderr828 -log-file=log/2/valgrind827 ../src/curl -q --output log/2/curl827.out --include --trace-ascii log/2/trace827 --trace-time 'imap://127.0.0.1:37623/827/;MAILINDEX=1' -u testuser:testpass > log/2/stdout827 2> log/2/stderr827 827: 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 827 === Start of file commands.log ../libtool --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/valgrind827 ../src/curl -q --output log/2/curl827.out --include --trace-ascii log/2/trace827 --trace-time 'imap://127.0.0.1:37623/827/;MAILINDEX=1' -u testuser:testpass > log/2/stdout827 2> log/2/stderr827 === End of file commands.log === Start of file imap_server.log 17:50:10.144165 ====> Client connect 17:50:10.144348 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:10.144645 < "A001 CAPABILITY" 17:50:10.144682 > "A001 BAD Command[CR][LF]" 17:50:10.144855 < "A002 LIST "verifiedserver" *" 17:50:10.144886 LIST_imap got "verifiedserver" * 17:50:10.144914 > "* LIST () "/" "WE ROOLZ: 118695"[CR][LF]" 17:50:10.144933 > "A002 OK LIST Completed[CR][LF]" 17:50:10.144947 return proof we are we 17:50:10.200144 < "A003 LOGOUT" 17:50:10.200218 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:10.200248 > "A003 OK LOGOUT completed[CR][LF]" 17:50:10.205012 MAIN sockfilt said DISC 17:50:10.205061 ====> Client disconnected 17:50:10.205144 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:09.989958 ====> Client connect 17:50:09.990544 Received DATA (on stdin) 17:50:09.990559 > 164 bytes data, server => client 17:50:09.990572 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:09.990583 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:09.990593 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:09.990676 < 17 bytes data, client => server 17:50:09.990688 'A001 CAPABILITY\r\n' 17:50:09.990866 Received DATA (on stdin) 17:50:09.990877 > 18 bytes data, server => client 17:50:09.990888 'A001 BAD Command\r\n' 17:50:09.990943 < 30 bytes data, client => server 17:50:09.990955 'A002 LIST "verifiedserver" *\r\n' 17:50:09.991129 Received DATA (on stdin) 17:50:09.991140 > 34 bytes data, server => client 17:50:09.991151 '* LIST () "/" "WE ROOLZ: 118695"\r\n' 17:50:09.991170 Received DATA (on stdin) 17:50:09.991180 > 24 bytes data, server => client 17:50:09.991190 'A002 OK LIST Completed\r\n' 17:50:10.042881 < 13 bytes data, client => server 17:50:10.042907 'A003 LOGOUT\r\n' 17:50:10.046443 Received DATA (on stdin) 17:50:10.046466 > 36 bytes data, server => client 17:50:10.046479 '* BYE curl IMAP server signing off\r\n' 17:50:10.046531 Received DATA (on stdin) 17:50:10.046546 > 26 bytes data, server => client 17:50:10.046558 'A003 OK LOGOUT completed\r\n' 17:50:10.051120 ====> Client disconnect 17:50:10.051340 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM CAPA SASL-IR REPLY AUTHENTICATE + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed Testnum 827 === End of file server.cmd === Start of file valgrind827 ==121498== ==121498== Process terminating with default action of signal 4 (SIGILL) ==121498== Illegal opcode at address 0x4014520 ==121498== at 0x4014520: getparameter (tool_getparam.c:2862) ==121498== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121498== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121498== by 0x4003728: main (tool_main.c:186) === End of file valgrind827 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/22/valgrind828 ../src/curl -q --output log/22/curl828.out --include --trace-ascii log/22/trace828 --trace-time 'imap://127.0.0.1:36247/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout828 2> log/22/stderr828 828: 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 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/22/valgrind828 ../src/curl -q --output log/22/curl828.out --include --trace-ascii log/22/trace828 --trace-time 'imap://127.0.0.1:36247/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout828 2> log/22/stderr828 === End of file commands.log === Start of file imap_server.log 17:50:10.297074 ====> Client connect 17:50:10.297281 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:10.297622 < "A001 CAPABILITY" 17:50:10.297667 > "A001 BAD Command[CR][LF]" 17:50:10.297839 < "A002 LIST "verifiedserver" *" 17:50:10.297869 LIST_imap got "verifiedserver" * 17:50:10.297896 > "* LIST () "/" "WE ROOLZ: 119922"[CR][LF]" 17:50:10.297914 > "A002 OK LIST Completed[CR][LF]" 17:50:10.297930 return proof we are we 17:50:10.347031 < "A003 LOGOUT" 17:50:10.347096 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:10.347119 > "A003 OK LOGOUT completed[CR][LF]" 17:50:10.347985 MAIN sockfilt said DISC 17:50:10.348017 ====> Client disconnected 17:50:10.348107 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:10.143109 ====> Client connect 17:50:10.143482 Received DATA (on stdin) 17:50:10.143496 > 164 bytes data, server => client 17:50:10.143507 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:10.143517 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:10.143526 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:10.143605 < 17 bytes data, client => server 17:50:10.143618 'A001 CAPABILITY\r\n' 17:50:10.143853 Received DATA (on stdin) 17:50:10.143865 > 18 bytes data, server => client 17:50:10.143875 'A001 BAD Command\r\n' 17:50:10.143930 < 30 bytes data, client => server 17:50:10.143943 'A002 LIST "verifiedserver" *\r\n' 17:50:10.144112 Received DATA (on stdin) 17:50:10.144123 > 34 bytes data, server => client 17:50:10.144134 '* LIST () "/" "WE ROOLZ: 119922"\r\n' 17:50:10.144153 Received DATA (on stdin) 17:50:10.144162 > 24 bytes data, server => client 17:50:10.144172 'A002 OK LIST Completed\r\n' 17:50:10.192995 < 13 bytes data, client => server 17:50:10.193034 'A003 LOGOUT\r\n' 17:50:10.193305 Received DATA (on stdin) 17:50:10.193319 > 36 bytes data, server => client 17:50:10.193330 '* BYE curl IMAP server signing off\r\n' 17:50:10.193354 Received DATA (on stdin) 17:50:10.193364 > 26 bytes data, server => client 17:50:10.193374 'A003 OK LOGOUT completed\r\n' 17:50:10.194106 ====> Client disconnect 17:50:10.194299 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 ==121572== ==121572== Process terminating with default action of signal 4 (SIGILL) ==121572== Illegal opcode at address 0x401CMD (33792): ../libtool --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/valgrind826 ../src/curl -q --output log/20/curl826.out --include --trace-ascii log/20/trace826 --trace-time 'imap://127.0.0.1:36145/826/;MAILINDEX=1' -u user:secret > log/20/stdout826 2> log/20/stderr826 CMD (33792): ../libtool --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/valgrind824 ../src/curl -q --output log/8/curl824.out --include --trace-ascii log/8/trace824 --trace-time 'imap://127.0.0.1:40051/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout824 2> log/8/stderr824 CMD (33792): ../libtool --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/valgrind819 ../src/curl -q --output log/10/curl819.out --include --trace-ascii log/10/trace819 --trace-time 'imap://127.0.0.1:38603/819/;MAILINDEX=1' -u user:secret > log/10/stdout819 2> log/10/stderr819 4520 ==121572== at 0x4014520: getparameter (tool_getparam.c:2862) ==121572== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121572== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121572== by 0x4003728: main (tool_main.c:186) === End of file valgrind828 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/20/valgrind826 ../src/curl -q --output log/20/curl826.out --include --trace-ascii log/20/trace826 --trace-time 'imap://127.0.0.1:36145/826/;MAILINDEX=1' -u user:secret > log/20/stdout826 2> log/20/stderr826 826: 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 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/20/valgrind826 ../src/curl -q --output log/20/curl826.out --include --trace-ascii log/20/trace826 --trace-time 'imap://127.0.0.1:36145/826/;MAILINDEX=1' -u user:secret > log/20/stdout826 2> log/20/stderr826 === End of file commands.log === Start of file imap_server.log 17:50:10.112921 ====> Client connect 17:50:10.113087 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:10.117528 < "A001 CAPABILITY" 17:50:10.117597 > "A001 BAD Command[CR][LF]" 17:50:10.117834 < "A002 LIST "verifiedserver" *" 17:50:10.117866 LIST_imap got "verifiedserver" * 17:50:10.117903 > "* LIST () "/" "WE ROOLZ: 110875"[CR][LF]" 17:50:10.117926 > "A002 OK LIST Completed[CR][LF]" 17:50:10.117941 return proof we are we 17:50:10.177061 < "A003 LOGOUT" 17:50:10.177133 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:10.177160 > "A003 OK LOGOUT completed[CR][LF]" 17:50:10.178746 MAIN sockfilt said DISC 17:50:10.178799 ====> Client disconnected 17:50:10.178905 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:10.958946 ====> Client connect 17:50:10.959282 Received DATA (on stdin) 17:50:10.959296 > 164 bytes data, server => client 17:50:10.959309 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:10.959319 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:10.959330 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:10.963449 < 17 bytes data, client => server 17:50:10.963478 'A001 CAPABILITY\r\n' 17:50:10.963795 Received DATA (on stdin) 17:50:10.963811 > 18 bytes data, server => client 17:50:10.963821 'A001 BAD Command\r\n' 17:50:10.963907 < 30 bytes data, client => server 17:50:10.963923 'A002 LIST "verifiedserver" *\r\n' 17:50:10.964125 Received DATA (on stdin) 17:50:10.964138 > 34 bytes data, server => client 17:50:10.964149 '* LIST () "/" "WE ROOLZ: 110875"\r\n' 17:50:10.964173 Received DATA (on stdin) 17:50:10.964184 > 24 bytes data, server => client 17:50:10.964194 'A002 OK LIST Completed\r\n' 17:50:11.023008 < 13 bytes data, client => server 17:50:11.023047 'A003 LOGOUT\r\n' 17:50:11.023352 Received DATA (on stdin) 17:50:11.023368 > 36 bytes data, server => client 17:50:11.023380 '* BYE curl IMAP server signing off\r\n' 17:50:11.023409 Received DATA (on stdin) 17:50:11.023420 > 26 bytes data, server => client 17:50:11.023431 'A003 OK LOGOUT completed\r\n' 17:50:11.024570 ====> Client disconnect 17:50:11.025102 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 ==121483== ==121483== Process terminating with default action of signal 4 (SIGILL) ==121483== Illegal opcode at address 0x4014520 ==121483== at 0x4014520: getparameter (tool_getparam.c:2862) ==121483== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121483== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121483== by 0x4003728: main (tool_main.c:186) === End of file valgrind826 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 38603 (log/10/server/imap_server.port) RUN: IMAP server is PID 120569 port 38603 * pid imap => 120569 120569 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/10/valgrind819 ../src/curl -q --output log/10/curl819.out --include --trace-ascii log/10/trace819 --trace-time 'imap://127.0.0.1:38603/819/;MAILINDEX=1' -u user:secret > log/10/stdout819 2> log/10/stderr819 819: 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 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/10/valgrind819 ../src/curl -q --output log/10/curl819.out --include --trace-ascii log/10/trace819 --trace-time 'imap://127.0.0.1:38603/819/;MAILINDEX=1' -u user:secret > log/10/stdout819 2> log/10/stderr819 === End of file commands.log === Start of file imap_server.log 17:50:08.950150 IMAP server listens on port IPv4/38603 17:50:08.950301 logged pid 120569 in log/10/server/imap_server.pid 17:50:08.950335 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:08.786143 Running IPv4 version 17:50:08.789633 Listening on port 38603 17:50:08.789679 Wrote pid 120593 to log/10/server/imap_sockfilt.pid 17:50:08.789710 Wrote port 38603 to log/10/server/imap_server.port 17:50:08.792851 Received PING (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 ==121293== ==121293== Process terminating with default action of signal 4 (SIGILL) ==121293== Illegal opcode at address 0x4014520 ==121293== at 0x4014520: getparameter (tool_getparam.c:2862) ==121293== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121293== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121293== by 0x4003728: main (tool_main.c:186) === End of file valgrind819 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/8/valgrind824 ../src/curl -q --output log/8/curl824.out --include --trace-ascii log/8/trace824 --trace-time 'imap://127.0.0.1:40051/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout824 2> log/8/stderr824 824: 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 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/8/valgrind824 ../src/curl -q --output log/8/curl824.out --include --trace-ascii log/8/trace824 --trace-time 'imap://127.0.0.1:40051/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout824 2> log/8/stderr824 === 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/24/valgrind833 ../src/curl -q --output log/24/curl833.out --include --trace-ascii log/24/trace833 --trace-time 'imap://127.0.0.1:40471/833/;MAILINDEX=1' -u user:secret > log/24/stdout833 2> log/24/stderr833 CMD (33792): ../libtool --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/valgrind830 ../src/curl -q --output log/23/curl830.out --include --trace-ascii log/23/trace830 --trace-time 'imap://127.0.0.1:41613/830/;MAILINDEX=1' -u user:secret > log/23/stdout830 2> log/23/stderr830 ommands.log === Start of file imap_server.log 17:50:09.842327 ====> Client connect 17:50:09.842535 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:09.842857 < "A001 CAPABILITY" 17:50:09.842900 > "A001 BAD Command[CR][LF]" 17:50:09.843087 < "A002 LIST "verifiedserver" *" 17:50:09.843123 LIST_imap got "verifiedserver" * 17:50:09.843154 > "* LIST () "/" "WE ROOLZ: 119712"[CR][LF]" 17:50:09.843177 > "A002 OK LIST Completed[CR][LF]" 17:50:09.843196 return proof we are we 17:50:09.893547 < "A003 LOGOUT" 17:50:09.893619 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:09.893650 > "A003 OK LOGOUT completed[CR][LF]" 17:50:09.895296 MAIN sockfilt said DISC 17:50:09.895330 ====> Client disconnected 17:50:09.895420 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:10.688369 ====> Client connect 17:50:10.688734 Received DATA (on stdin) 17:50:10.688750 > 164 bytes data, server => client 17:50:10.688762 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:10.688773 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:10.688783 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:10.688866 < 17 bytes data, client => server 17:50:10.688880 'A001 CAPABILITY\r\n' 17:50:10.689087 Received DATA (on stdin) 17:50:10.689100 > 18 bytes data, server => client 17:50:10.689111 'A001 BAD Command\r\n' 17:50:10.689171 < 30 bytes data, client => server 17:50:10.689185 'A002 LIST "verifiedserver" *\r\n' 17:50:10.689380 Received DATA (on stdin) 17:50:10.689392 > 34 bytes data, server => client 17:50:10.689403 '* LIST () "/" "WE ROOLZ: 119712"\r\n' 17:50:10.689424 Received DATA (on stdin) 17:50:10.689434 > 24 bytes data, server => client 17:50:10.689445 'A002 OK LIST Completed\r\n' 17:50:10.739523 < 13 bytes data, client => server 17:50:10.739562 'A003 LOGOUT\r\n' 17:50:10.739841 Received DATA (on stdin) 17:50:10.739856 > 36 bytes data, server => client 17:50:10.739867 '* BYE curl IMAP server signing off\r\n' 17:50:10.739900 Received DATA (on stdin) 17:50:10.739912 > 26 bytes data, server => client 17:50:10.739923 'A003 OK LOGOUT completed\r\n' 17:50:10.741414 ====> Client disconnect 17:50:10.741607 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTHENTICATE + REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB A002 OK AUTHENTICATE completed Testnum 824 === End of file server.cmd === Start of file valgrind824 ==121296== ==121296== Process terminating with default action of signal 4 (SIGILL) ==121296== Illegal opcode at address 0x4014520 ==121296== at 0x4014520: getparameter (tool_getparam.c:2862) ==121296== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121296== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121296== by 0x4003728: main (tool_main.c:186) === End of file valgrind824 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/24/valgrind833 ../src/curl -q --output log/24/curl833.out --include --trace-ascii log/24/trace833 --trace-time 'imap://127.0.0.1:40471/833/;MAILINDEX=1' -u user:secret > log/24/stdout833 2> log/24/stderr833 833: 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 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/24/valgrind833 ../src/curl -q --output log/24/curl833.out --include --trace-ascii log/24/trace833 --trace-time 'imap://127.0.0.1:40471/833/;MAILINDEX=1' -u user:secret > log/24/stdout833 2> log/24/stderr833 === End of file commands.log === Start of file imap_server.log 17:50:10.869508 ====> Client connect 17:50:10.869748 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:10.876935 < "A001 CAPABILITY" 17:50:10.877003 > "A001 BAD Command[CR][LF]" 17:50:10.877255 < "A002 LIST "verifiedserver" *" 17:50:10.877306 LIST_imap got "verifiedserver" * 17:50:10.877341 > "* LIST () "/" "WE ROOLZ: 119963"[CR][LF]" 17:50:10.877362 > "A002 OK LIST Completed[CR][LF]" 17:50:10.877379 return proof we are we 17:50:10.924683 < "A003 LOGOUT" 17:50:10.924750 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:10.924771 > "A003 OK LOGOUT completed[CR][LF]" 17:50:10.926124 MAIN sockfilt said DISC 17:50:10.926167 ====> Client disconnected 17:50:10.926256 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:10.715552 ====> Client connect 17:50:10.722391 Received DATA (on stdin) 17:50:10.722430 > 164 bytes data, server => client 17:50:10.722443 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:10.722454 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:10.722464 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:10.722849 < 17 bytes data, client => server 17:50:10.722872 'A001 CAPABILITY\r\n' 17:50:10.723195 Received DATA (on stdin) 17:50:10.723209 > 18 bytes data, server => client 17:50:10.723220 'A001 BAD Command\r\n' 17:50:10.723299 < 30 bytes data, client => server 17:50:10.723315 'A002 LIST "verifiedserver" *\r\n' 17:50:10.723563 Received DATA (on stdin) 17:50:10.723576 > 34 bytes data, server => client 17:50:10.723587 '* LIST () "/" "WE ROOLZ: 119963"\r\n' 17:50:10.723610 Received DATA (on stdin) 17:50:10.723621 > 24 bytes data, server => client 17:50:10.723631 'A002 OK LIST Completed\r\n' 17:50:10.770633 < 13 bytes data, client => server 17:50:10.770668 'A003 LOGOUT\r\n' 17:50:10.770959 Received DATA (on stdin) 17:50:10.770971 > 36 bytes data, server => client 17:50:10.770982 '* BYE curl IMAP server signing off\r\n' 17:50:10.771005 Received DATA (on stdin) 17:50:10.771015 > 26 bytes data, server => client 17:50:10.771025 'A003 OK LOGOUT completed\r\n' 17:50:10.772236 ====> Client disconnect 17:50:10.772443 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 ==121891== ==121891== Process terminating with default action of signal 4 (SIGILL) ==121891== Illegal opcode at address 0x4014520 ==121891== at 0x4014520: getparameter (tool_getparam.c:2862) ==121891== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121891== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121891== by 0x4003728: main (tool_main.c:186) === End of file valgrind833 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/23/valgrind830 ../src/curl -q --output log/23/curl830.out --include --trace-ascii log/23/trace830 --trace-time 'imap://127.0.0.1:41613/830/;MAILINDEX=1' -u user:secret > log/23/stdout830 2> log/23/stderr830 830: 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 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/23/valgrind830 ../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/14/valgrind829 ../src/curl -q --output log/14/curl829.out --include --trace-ascii log/14/trace829 --trace-time imap://127.0.0.1:42097/%0d%0a/829 > log/14/stdout829 2> log/14/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/11/valgrind831 ../src/curl -q --output log/11/curl831.out --include --trace-ascii log/11/trace831 --trace-time 'imap://127.0.0.1:38987/831/;MAILINDEX=1' -u testuser:testpass > log/11/stdout831 2> log/11/stderr831 CMD (33792): ../libtool --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/valgrind838 ../src/curl -q --output log/12/curl838.out --include --trace-ascii log/12/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:39597/838/;MAILINDEX=1' > log/12/stdout838 2> log/12/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/6/valgrind837 ../src/curl -q --output log/6/curl837.out --include --trace-ascii log/6/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:37415/837/;MAILINDEX=1' > log/6/stdout837 2> log/6/stderr837 CMD (33792): ../libtool --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/valgrind834 ../src/curl -q --output log/15/curl834.out --include --trace-ascii log/15/trace834 --trace-time 'imap://127.0.0.1:36263/834/;MAILINDEX=1' -u user:secret > log/15/stdout834 2> log/15/stderr834 l -q --output log/23/curl830.out --include --trace-ascii log/23/trace830 --trace-time 'imap://127.0.0.1:41613/830/;MAILINDEX=1' -u user:secret > log/23/stdout830 2> log/23/stderr830 === End of file commands.log === Start of file imap_server.log 17:50:10.536832 ====> Client connect 17:50:10.537068 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:10.539643 < "A001 CAPABILITY" 17:50:10.539705 > "A001 BAD Command[CR][LF]" 17:50:10.539972 < "A002 LIST "verifiedserver" *" 17:50:10.540041 LIST_imap got "verifiedserver" * 17:50:10.540084 > "* LIST () "/" "WE ROOLZ: 119876"[CR][LF]" 17:50:10.540108 > "A002 OK LIST Completed[CR][LF]" 17:50:10.540126 return proof we are we 17:50:10.584992 < "A003 LOGOUT" 17:50:10.585056 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:10.585078 > "A003 OK LOGOUT completed[CR][LF]" 17:50:10.586377 MAIN sockfilt said DISC 17:50:10.586423 ====> Client disconnected 17:50:10.586512 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:10.382866 ====> Client connect 17:50:10.383523 Received DATA (on stdin) 17:50:10.383551 > 164 bytes data, server => client 17:50:10.383564 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:10.383574 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:10.383584 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:10.385599 < 17 bytes data, client => server 17:50:10.385621 'A001 CAPABILITY\r\n' 17:50:10.385900 Received DATA (on stdin) 17:50:10.385916 > 18 bytes data, server => client 17:50:10.385927 'A001 BAD Command\r\n' 17:50:10.386028 < 30 bytes data, client => server 17:50:10.386044 'A002 LIST "verifiedserver" *\r\n' 17:50:10.386312 Received DATA (on stdin) 17:50:10.386325 > 34 bytes data, server => client 17:50:10.386336 '* LIST () "/" "WE ROOLZ: 119876"\r\n' 17:50:10.386360 Received DATA (on stdin) 17:50:10.386372 > 24 bytes data, server => client 17:50:10.386382 'A002 OK LIST Completed\r\n' 17:50:10.430943 < 13 bytes data, client => server 17:50:10.430989 'A003 LOGOUT\r\n' 17:50:10.431266 Received DATA (on stdin) 17:50:10.431282 > 36 bytes data, server => client 17:50:10.431292 '* BYE curl IMAP server signing off\r\n' 17:50:10.431318 Received DATA (on stdin) 17:50:10.431328 > 26 bytes data, server => client 17:50:10.431338 'A003 OK LOGOUT completed\r\n' 17:50:10.432491 ====> Client disconnect 17:50:10.432705 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 ==121728== ==121728== Process terminating with default action of signal 4 (SIGILL) ==121728== Illegal opcode at address 0x4014520 ==121728== at 0x4014520: getparameter (tool_getparam.c:2862) ==121728== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121728== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121728== by 0x4003728: main (tool_main.c:186) === 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/14/valgrind829 ../src/curl -q --output log/14/curl829.out --include --trace-ascii log/14/trace829 --trace-time imap://127.0.0.1:42097/%0d%0a/829 > log/14/stdout829 2> log/14/stderr829 curl returned 132, when expecting 3 829: exit FAILED == Contents of files in the log/14/ 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/14/valgrind829 ../src/curl -q --output log/14/curl829.out --include --trace-ascii log/14/trace829 --trace-time imap://127.0.0.1:42097/%0d%0a/829 > log/14/stdout829 2> log/14/stderr829 === End of file commands.log === Start of file imap_server.log 17:50:10.446908 ====> Client connect 17:50:10.447116 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:10.447487 < "A001 CAPABILITY" 17:50:10.447533 > "A001 BAD Command[CR][LF]" 17:50:10.447714 < "A002 LIST "verifiedserver" *" 17:50:10.447749 LIST_imap got "verifiedserver" * 17:50:10.447779 > "* LIST () "/" "WE ROOLZ: 119921"[CR][LF]" 17:50:10.447801 > "A002 OK LIST Completed[CR][LF]" 17:50:10.447819 return proof we are we 17:50:10.503523 < "A003 LOGOUT" 17:50:10.503604 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:10.503635 > "A003 OK LOGOUT completed[CR][LF]" 17:50:10.504854 MAIN sockfilt said DISC 17:50:10.504891 ====> Client disconnected 17:50:10.504975 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:10.292934 ====> Client connect 17:50:10.293316 Received DATA (on stdin) 17:50:10.293331 > 164 bytes data, server => client 17:50:10.293343 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:10.293354 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:10.293364 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:10.293492 < 17 bytes data, client => server 17:50:10.293507 'A001 CAPABILITY\r\n' 17:50:10.293719 Received DATA (on stdin) 17:50:10.293732 > 18 bytes data, server => client 17:50:10.293742 'A001 BAD Command\r\n' 17:50:10.293801 < 30 bytes data, client => server 17:50:10.293813 'A002 LIST "verifiedserver" *\r\n' 17:50:10.294003 Received DATA (on stdin) 17:50:10.294016 > 34 bytes data, server => client 17:50:10.294026 '* LIST () "/" "WE ROOLZ: 119921"\r\n' 17:50:10.294049 Received DATA (on stdin) 17:50:10.294059 > 24 bytes data, server => client 17:50:10.294069 'A002 OK LIST Completed\r\n' 17:50:10.346214 < 13 bytes data, client => server 17:50:10.346256 'A003 LOGOUT\r\n' 17:50:10.349832 Received DATA (on stdin) 17:50:10.349852 > 36 bytes data, server => client 17:50:10.349864 '* BYE curl IMAP server signing off\r\n' 17:50:10.349919 Received DATA (on stdin) 17:50:10.349933 > 26 bytes data, server => client 17:50:10.349944 'A003 OK LOGOUT completed\r\n' 17:50:10.350970 ====> Client disconnect 17:50:10.351168 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 ==121678== ==121678== Process terminating with default action of signal 4 (SIGILL) ==121678== Illegal opcode at address 0x4014520 ==121678== at 0x4014520: getparameter (tool_getparam.c:2862) ==121678== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121678== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121678== by 0x4003728: main (tool_main.c:186) === End of file valgrind829 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/6/valgrind837 ../src/curl -q --output log/6/curl837.out --include --trace-ascii log/6/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:37415/837/;MAILINDEX=1' > log/6/stdout837 2> log/6/stderr837 837: 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 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/6/valgrind837 ../src/curl -q --output log/6/curl837.out --include --trace-ascii log/6/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:37415/837/;MAILINDEX=1' > log/6/stdout837 2> log/6/stderr837 === End of file commands.log === Start of file imap_server.log 17:50:11.082224 ====> Client connect 17:50:11.082445 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.082802 < "A001 CAPABILITY" 17:50:11.082854 > "A001 BAD Command[CR][LF]" 17:50:11.083075 < "A002 LIST "verifiedserver" *" 17:50:11.083116 LIST_imap got "verifiedserver" * 17:50:11.083149 > "* LIST () "/" "WE ROOLZ: 119936"[CR][LF]" 17:50:11.083173 > "A002 OK LIST Completed[CR][LF]" 17:50:11.083198 return proof we are we 17:50:11.126990 < "A003 LOGOUT" 17:50:11.127059 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.127085 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.128781 MAIN sockfilt said DISC 17:50:11.128820 ====> Client disconnected 17:50:11.128909 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:10.928263 ====> Client connect 17:50:10.928657 Received DATA (on stdin) 17:50:10.928677 > 164 bytes data, server => client 17:50:10.928689 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:10.928700 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:10.928710 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:10.928801 < 17 bytes data, client => server 17:50:10.928817 'A001 CAPABILITY\r\n' 17:50:10.929048 Received DATA (on stdin) 17:50:10.929062 > 18 bytes data, server => client 17:50:10.929073 'A001 BAD Command\r\n' 17:50:10.929138 < 30 bytes data, client => server 17:50:10.929154 'A002 LIST "verifiedserver" *\r\n' 17:50:10.929385 Received DATA (on stdin) 17:50:10.929399 > 34 bytes data, server => client 17:50:10.929409 '* LIST () "/" "WE ROOLZ: 119936"\r\n' 17:50:10.929433 Received DATA (on stdin) 17:50:10.929444 > 24 bytes data, server => client 17:50:10.929454 'A002 OK LIST Completed\r\n' 17:50:10.972967 < 13 bytes data, client => server 17:50:10.973004 'A003 LOGOUT\r\n' 17:50:10.973275 Received DATA (on stdin) 17:50:10.973289 > 36 bytes data, server => client 17:50:10.973300 '* BYE curl IMAP server signing off\r\n' 17:50:10.973324 Received DATA (on stdin) 17:50:10.973334 > 26 bytes data, server => client 17:50:10.973343 'A003 OK LOGOUT completed\r\n' 17:50:10.974898 ====> Client disconnect 17:50:10.975099 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 ==121978== ==121978== Process terminating with default action of signal 4 (SIGILL) ==121978== Illegal opcode at address 0x4014520 ==121978== at 0x4014520: getparameter (tool_getparam.c:2862) ==121978== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121978== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121978== by 0x4003728: main (tool_main.c:186) === End of file valgrind837 test 0831...[IMAP NTLM 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/11/valgrind831 ../src/curl -q --output log/11/curl831.out --include --trace-ascii log/11/trace831 --trace-time 'imap://127.0.0.1:38987/831/;MAILINDEX=1' -u testuser:testpass > log/11/stdout831 2> log/11/stderr831 831: 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 831 === Start of file commands.log ../libtool --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/valgrind831 ../src/curl -q --output log/11/curl831.out --include --trace-ascii log/11/trace831 --trace-time 'imap://127.0.0.1:38987/831/;MAILINDEX=1' -u testuser:testpass > log/11/stdout831 2> log/11/stderr831 === End of file commands.log === Start of file imap_server.log 17:50:10.603674 ====> Client connect 17:50:10.603843 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:10.604182 < "A001 CAPABILITY" 17:50:10.604224 > "A001 BAD Command[CR][LF]" 17:50:10.604390 < "A002 LIST "verifiedserver" *" 17:50:10.604420 LIST_imap got "verifiedserver" * 17:50:10.604446 > "* LIST () "/" "WE ROOLZ: 119977"[CR][LF]" 17:50:10.604464 > "A002 OK LIST Completed[CR][LF]" 17:50:10.604484 return proof we are we 17:50:10.650315 < "A003 LOGOUT" 17:50:10.650395 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:10.650424 > "A003 OK LOGOUT completed[CR][LF]" 17:50:10.652010 MAIN sockfilt said DISC 17:50:10.652059 ====> Client disconnected 17:50:10.652149 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:10.449539 ====> Client connect 17:50:10.450074 Received DATA (on stdin) 17:50:10.450092 > 164 bytes data, server => client 17:50:10.450103 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:10.450111 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:10.450120 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:10.450208 < 17 bytes data, client => server 17:50:10.450218 'A001 CAPABILITY\r\n' 17:50:10.450407 Received DATA (on stdin) 17:50:10.450417 > 18 bytes data, server => client 17:50:10.450426 'A001 BAD Command\r\n' 17:50:10.450481 < 30 bytes data, client => server 17:50:10.450490 'A002 LIST "verifiedserver" *\r\n' 17:50:10.450663 Received DATA (on stdin) 17:50:10.450672 > 34 bytes data, server => client 17:50:10.450681 '* LIST () "/" "WE ROOLZ: 119977"\r\n' 17:50:10.450698 Received DATA (on stdin) 17:50:10.450706 > 24 bytes data, server => client 17:50:10.450715 'A002 OK LIST Completed\r\n' 17:50:10.496267 < 13 bytes data, client => server 17:50:10.496310 'A003 LOGOUT\r\n' 17:50:10.496640 Received DATA (on stdin) 17:50:10.496656 > 36 bytes data, server => client 17:50:10.496667 '* BYE curl IMAP server signing off\r\n' 17:50:10.496700 Received DATA (on stdin) 17:50:10.496710 > 26 bytes data, server => client 17:50:10.496720 'A003 OK LOGOUT completed\r\n' 17:50:10.498118 ====> Client disconnect 17:50:10.498345 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM CAPA LOGINDISABLED REPLY AUTHENTICATE + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * A002 NO AUTH exchange cancelled by client Testnum 831 === End of file server.cmd === Start of file valgrind831 ==121771== ==121771== Process terminating with default action of signal 4 (SIGILL) ==121771== Illegal opcode at address 0x4014520 ==121771== at 0x4014520: getparameter (tool_getparam.c:2862) ==121771== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121771== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121771== by 0x4003728: main (tool_main.c:186) === End of file valgrind831 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/12/valgrind838 ../src/curl -q --output log/12/curl838.out --include --trace-ascii log/12/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:39597/838/;MAILINDEX=1' > log/12/stdout838 2> log/12/stderr838 838: 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 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/12/valgrind838 ../src/curl -q --output log/12/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/valgrind839 ../src/curl -q --output log/9/curl839.out --include --trace-ascii log/9/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42615/839/;MAILINDEX=1' > log/9/stdout839 2> log/9/stderr839 CMD (33792): ../libtool --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/valgrind840 ../src/curl -q --output log/13/curl840.out --include --trace-ascii log/13/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:44265/840/;MAILINDEX=1' > log/13/stdout840 2> log/13/stderr840 l838.out --include --trace-ascii log/12/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:39597/838/;MAILINDEX=1' > log/12/stdout838 2> log/12/stderr838 === End of file commands.log === Start of file imap_server.log 17:50:11.177723 ====> Client connect 17:50:11.177952 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.178309 < "A001 CAPABILITY" 17:50:11.178358 > "A001 BAD Command[CR][LF]" 17:50:11.178556 < "A002 LIST "verifiedserver" *" 17:50:11.178591 LIST_imap got "verifiedserver" * 17:50:11.178622 > "* LIST () "/" "WE ROOLZ: 120079"[CR][LF]" 17:50:11.178645 > "A002 OK LIST Completed[CR][LF]" 17:50:11.178663 return proof we are we 17:50:11.234818 < "A003 LOGOUT" 17:50:11.234886 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.234909 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.243374 MAIN sockfilt said DISC 17:50:11.243470 ====> Client disconnected 17:50:11.243574 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:12.023767 ====> Client connect 17:50:12.024166 Received DATA (on stdin) 17:50:12.024185 > 164 bytes data, server => client 17:50:12.024197 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:12.024208 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:12.024218 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:12.024309 < 17 bytes data, client => server 17:50:12.024323 'A001 CAPABILITY\r\n' 17:50:12.024546 Received DATA (on stdin) 17:50:12.024559 > 18 bytes data, server => client 17:50:12.024569 'A001 BAD Command\r\n' 17:50:12.024631 < 30 bytes data, client => server 17:50:12.024645 'A002 LIST "verifiedserver" *\r\n' 17:50:12.024847 Received DATA (on stdin) 17:50:12.024858 > 34 bytes data, server => client 17:50:12.024869 '* LIST () "/" "WE ROOLZ: 120079"\r\n' 17:50:12.024891 Received DATA (on stdin) 17:50:12.024901 > 24 bytes data, server => client 17:50:12.024911 'A002 OK LIST Completed\r\n' 17:50:12.072474 < 13 bytes data, client => server 17:50:12.072509 'A003 LOGOUT\r\n' 17:50:12.081101 Received DATA (on stdin) 17:50:12.081121 > 36 bytes data, server => client 17:50:12.081131 '* BYE curl IMAP server signing off\r\n' 17:50:12.081175 Received DATA (on stdin) 17:50:12.081185 > 26 bytes data, server => client 17:50:12.081195 'A003 OK LOGOUT completed\r\n' 17:50:12.082453 ====> Client disconnect 17:50:12.090354 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 ==122071== ==122071== Process terminating with default action of signal 4 (SIGILL) ==122071== Illegal opcode at address 0x4014520 ==122071== at 0x4014520: getparameter (tool_getparam.c:2862) ==122071== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122071== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122071== by 0x4003728: main (tool_main.c:186) === End of file valgrind838 test 0834...[IMAP NTLM 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/valgrind834 ../src/curl -q --output log/15/curl834.out --include --trace-ascii log/15/trace834 --trace-time 'imap://127.0.0.1:36263/834/;MAILINDEX=1' -u user:secret > log/15/stdout834 2> log/15/stderr834 834: 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 834 === Start of file commands.log ../libtool --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/valgrind834 ../src/curl -q --output log/15/curl834.out --include --trace-ascii log/15/trace834 --trace-time 'imap://127.0.0.1:36263/834/;MAILINDEX=1' -u user:secret > log/15/stdout834 2> log/15/stderr834 === End of file commands.log === Start of file imap_server.log 17:50:11.050320 ====> Client connect 17:50:11.050533 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.050835 < "A001 CAPABILITY" 17:50:11.050872 > "A001 BAD Command[CR][LF]" 17:50:11.056771 < "A002 LIST "verifiedserver" *" 17:50:11.056815 LIST_imap got "verifiedserver" * 17:50:11.056850 > "* LIST () "/" "WE ROOLZ: 112379"[CR][LF]" 17:50:11.056871 > "A002 OK LIST Completed[CR][LF]" 17:50:11.056888 return proof we are we 17:50:11.107036 < "A003 LOGOUT" 17:50:11.107104 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.107126 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.108780 MAIN sockfilt said DISC 17:50:11.108826 ====> Client disconnected 17:50:11.108942 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:10.896363 ====> Client connect 17:50:10.896727 Received DATA (on stdin) 17:50:10.896742 > 164 bytes data, server => client 17:50:10.896753 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:10.896764 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:10.896774 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:10.896855 < 17 bytes data, client => server 17:50:10.896866 'A001 CAPABILITY\r\n' 17:50:10.897055 Received DATA (on stdin) 17:50:10.897066 > 18 bytes data, server => client 17:50:10.897076 'A001 BAD Command\r\n' 17:50:10.897129 < 30 bytes data, client => server 17:50:10.897139 'A002 LIST "verifiedserver" *\r\n' 17:50:10.903074 Received DATA (on stdin) 17:50:10.903089 > 34 bytes data, server => client 17:50:10.903100 '* LIST () "/" "WE ROOLZ: 112379"\r\n' 17:50:10.903130 Received DATA (on stdin) 17:50:10.903139 > 24 bytes data, server => client 17:50:10.903149 'A002 OK LIST Completed\r\n' 17:50:10.952985 < 13 bytes data, client => server 17:50:10.953033 'A003 LOGOUT\r\n' 17:50:10.953315 Received DATA (on stdin) 17:50:10.953329 > 36 bytes data, server => client 17:50:10.953340 '* BYE curl IMAP server signing off\r\n' 17:50:10.953366 Received DATA (on stdin) 17:50:10.953377 > 26 bytes data, server => client 17:50:10.953387 'A003 OK LOGOUT completed\r\n' 17:50:10.954889 ====> Client disconnect 17:50:10.955136 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTHENTICATE NTLM" + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * A002 NO AUTH exchange cancelled by client REPLY "AUTHENTICATE PLAIN" + REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed Testnum 834 === End of file server.cmd === Start of file valgrind834 ==121959== ==121959== Process terminating with default action of signal 4 (SIGILL) ==121959== Illegal opcode at address 0x4014520 ==121959== at 0x4014520: getparameter (tool_getparam.c:2862) ==121959== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==121959== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==121959== by 0x4003728: main (tool_main.c:186) === End of file valgrind834 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/9/valgrind839 ../src/curl -q --output log/9/curl839.out --include --trace-ascii log/9/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42615/839/;MAILINDEX=1' > log/9/stdout839 2> log/9/stderr839 839: 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 839 === Start of file commands.log ../libtool --modCMD (33792): ../libtool --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/valgrind841 ../src/curl -q --output log/4/curl841.out --include --trace-ascii log/4/trace841 --trace-time imap://127.0.0.1:35313/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/4/stdout841 2> log/4/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/18/valgrind844 ../src/curl -q --output log/18/curl844.out --include --trace-ascii log/18/trace844 --trace-time 'imap://127.0.0.1:45845/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/18/stdout844 2> log/18/stderr844 e=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind839 ../src/curl -q --output log/9/curl839.out --include --trace-ascii log/9/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42615/839/;MAILINDEX=1' > log/9/stdout839 2> log/9/stderr839 === End of file commands.log === Start of file imap_server.log 17:50:11.343618 ====> Client connect 17:50:11.343830 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.344203 < "A001 CAPABILITY" 17:50:11.344256 > "A001 BAD Command[CR][LF]" 17:50:11.345004 < "A002 LIST "verifiedserver" *" 17:50:11.345044 LIST_imap got "verifiedserver" * 17:50:11.345084 > "* LIST () "/" "WE ROOLZ: 120283"[CR][LF]" 17:50:11.345106 > "A002 OK LIST Completed[CR][LF]" 17:50:11.345132 return proof we are we 17:50:11.390405 < "A003 LOGOUT" 17:50:11.390478 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.390509 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.392048 MAIN sockfilt said DISC 17:50:11.392090 ====> Client disconnected 17:50:11.392187 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:11.189675 ====> Client connect 17:50:11.190039 Received DATA (on stdin) 17:50:11.190058 > 164 bytes data, server => client 17:50:11.190070 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:11.190081 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:11.190091 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:11.190192 < 17 bytes data, client => server 17:50:11.190208 'A001 CAPABILITY\r\n' 17:50:11.190450 Received DATA (on stdin) 17:50:11.190464 > 18 bytes data, server => client 17:50:11.190474 'A001 BAD Command\r\n' 17:50:11.190537 < 30 bytes data, client => server 17:50:11.190552 'A002 LIST "verifiedserver" *\r\n' 17:50:11.191319 Received DATA (on stdin) 17:50:11.191333 > 34 bytes data, server => client 17:50:11.191344 '* LIST () "/" "WE ROOLZ: 120283"\r\n' 17:50:11.191368 Received DATA (on stdin) 17:50:11.191378 > 24 bytes data, server => client 17:50:11.191389 'A002 OK LIST Completed\r\n' 17:50:11.236356 < 13 bytes data, client => server 17:50:11.236408 'A003 LOGOUT\r\n' 17:50:11.236703 Received DATA (on stdin) 17:50:11.236721 > 36 bytes data, server => client 17:50:11.236732 '* BYE curl IMAP server signing off\r\n' 17:50:11.236760 Received DATA (on stdin) 17:50:11.236771 > 26 bytes data, server => client 17:50:11.236781 'A003 OK LOGOUT completed\r\n' 17:50:11.238158 ====> Client disconnect 17:50:11.238383 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 ==122150== ==122150== Process terminating with default action of signal 4 (SIGILL) ==122150== Illegal opcode at address 0x4014520 ==122150== at 0x4014520: getparameter (tool_getparam.c:2862) ==122150== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122150== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122150== by 0x4003728: main (tool_main.c:186) === 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/13/valgrind840 ../src/curl -q --output log/13/curl840.out --include --trace-ascii log/13/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:44265/840/;MAILINDEX=1' > log/13/stdout840 2> log/13/stderr840 840: 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 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/13/valgrind840 ../src/curl -q --output log/13/curl840.out --include --trace-ascii log/13/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:44265/840/;MAILINDEX=1' > log/13/stdout840 2> log/13/stderr840 === End of file commands.log === Start of file imap_server.log 17:50:11.433468 ====> Client connect 17:50:11.433629 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.434889 < "A001 CAPABILITY" 17:50:11.434926 > "A001 BAD Command[CR][LF]" 17:50:11.435075 < "A002 LIST "verifiedserver" *" 17:50:11.435100 LIST_imap got "verifiedserver" * 17:50:11.435124 > "* LIST () "/" "WE ROOLZ: 119592"[CR][LF]" 17:50:11.435140 > "A002 OK LIST Completed[CR][LF]" 17:50:11.435152 return proof we are we 17:50:11.477713 < "A003 LOGOUT" 17:50:11.477780 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.477804 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.478980 MAIN sockfilt said DISC 17:50:11.479027 ====> Client disconnected 17:50:11.479113 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:11.279519 ====> Client connect 17:50:11.280792 Received DATA (on stdin) 17:50:11.280813 > 164 bytes data, server => client 17:50:11.280824 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:11.280833 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:11.280843 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:11.280926 < 17 bytes data, client => server 17:50:11.280936 'A001 CAPABILITY\r\n' 17:50:11.281108 Received DATA (on stdin) 17:50:11.281118 > 18 bytes data, server => client 17:50:11.281127 'A001 BAD Command\r\n' 17:50:11.281176 < 30 bytes data, client => server 17:50:11.281186 'A002 LIST "verifiedserver" *\r\n' 17:50:11.281331 Received DATA (on stdin) 17:50:11.281341 > 34 bytes data, server => client 17:50:11.281351 '* LIST () "/" "WE ROOLZ: 119592"\r\n' 17:50:11.281368 Received DATA (on stdin) 17:50:11.281377 > 24 bytes data, server => client 17:50:11.281386 'A002 OK LIST Completed\r\n' 17:50:11.323672 < 13 bytes data, client => server 17:50:11.323710 'A003 LOGOUT\r\n' 17:50:11.323998 Received DATA (on stdin) 17:50:11.324015 > 36 bytes data, server => client 17:50:11.324026 '* BYE curl IMAP server signing off\r\n' 17:50:11.324052 Received DATA (on stdin) 17:50:11.324063 > 26 bytes data, server => client 17:50:11.324074 'A003 OK LOGOUT completed\r\n' 17:50:11.325100 ====> Client disconnect 17:50:11.325302 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 ==122210== ==122210== Process terminating with default action of signal 4 (SIGILL) ==122210== Illegal opcode at address 0x4014520 ==122210== at 0x4014520: getparameter (tool_getparam.c:2862) ==122210== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122210== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122210== by 0x4003728: main (tool_main.c:186) === End of file valgrind840 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/4/valgrind841 ../src/curl -q --output log/4/curl841.out --include --trace-ascii log/4/trace841 --trace-time imap://127.0.0.1:35313/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/4/stdout841 2> log/4/stderr841 841: 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/CMD (33792): ../libtool --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/valgrind843 ../src/curl -q --output log/21/curl843.out --include --trace-ascii log/21/trace843 --trace-time 'imap://127.0.0.1:41403/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/21/stdout843 2> log/21/stderr843 4/ 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/4/valgrind841 ../src/curl -q --output log/4/curl841.out --include --trace-ascii log/4/trace841 --trace-time imap://127.0.0.1:35313/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/4/stdout841 2> log/4/stderr841 === End of file commands.log === Start of file imap_server.log 17:50:11.580681 ====> Client connect 17:50:11.580850 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.581166 < "A001 CAPABILITY" 17:50:11.581213 > "A001 BAD Command[CR][LF]" 17:50:11.581407 < "A002 LIST "verifiedserver" *" 17:50:11.581444 LIST_imap got "verifiedserver" * 17:50:11.581476 > "* LIST () "/" "WE ROOLZ: 120342"[CR][LF]" 17:50:11.581499 > "A002 OK LIST Completed[CR][LF]" 17:50:11.581517 return proof we are we 17:50:11.624440 < "A003 LOGOUT" 17:50:11.624503 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.624525 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.625892 MAIN sockfilt said DISC 17:50:11.625938 ====> Client disconnected 17:50:11.626028 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:11.426748 ====> Client connect 17:50:11.427049 Received DATA (on stdin) 17:50:11.427064 > 164 bytes data, server => client 17:50:11.427075 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:11.427085 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:11.427094 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:11.427179 < 17 bytes data, client => server 17:50:11.427193 'A001 CAPABILITY\r\n' 17:50:11.427398 Received DATA (on stdin) 17:50:11.427411 > 18 bytes data, server => client 17:50:11.427420 'A001 BAD Command\r\n' 17:50:11.427480 < 30 bytes data, client => server 17:50:11.427492 'A002 LIST "verifiedserver" *\r\n' 17:50:11.427701 Received DATA (on stdin) 17:50:11.427714 > 34 bytes data, server => client 17:50:11.427724 '* LIST () "/" "WE ROOLZ: 120342"\r\n' 17:50:11.427748 Received DATA (on stdin) 17:50:11.427757 > 24 bytes data, server => client 17:50:11.427767 'A002 OK LIST Completed\r\n' 17:50:11.470409 < 13 bytes data, client => server 17:50:11.470440 'A003 LOGOUT\r\n' 17:50:11.470712 Received DATA (on stdin) 17:50:11.470727 > 36 bytes data, server => client 17:50:11.470738 '* BYE curl IMAP server signing off\r\n' 17:50:11.470762 Received DATA (on stdin) 17:50:11.470771 > 26 bytes data, server => client 17:50:11.470781 'A003 OK LOGOUT completed\r\n' 17:50:11.472002 ====> Client disconnect 17:50:11.472217 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 ==122311== ==122311== Process terminating with default action of signal 4 (SIGILL) ==122311== Illegal opcode at address 0x4014520 ==122311== at 0x4014520: getparameter (tool_getparam.c:2862) ==122311== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122311== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122311== by 0x4003728: main (tool_main.c:186) === End of file valgrind841 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/18/valgrind844 ../src/curl -q --output log/18/curl844.out --include --trace-ascii log/18/trace844 --trace-time 'imap://127.0.0.1:45845/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/18/stdout844 2> log/18/stderr844 844: 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 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/18/valgrind844 ../src/curl -q --output log/18/curl844.out --include --trace-ascii log/18/trace844 --trace-time 'imap://127.0.0.1:45845/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/18/stdout844 2> log/18/stderr844 === End of file commands.log === Start of file imap_server.log 17:50:11.780171 ====> Client connect 17:50:11.780337 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.780677 < "A001 CAPABILITY" 17:50:11.780732 > "A001 BAD Command[CR][LF]" 17:50:11.783521 < "A002 LIST "verifiedserver" *" 17:50:11.783561 LIST_imap got "verifiedserver" * 17:50:11.783597 > "* LIST () "/" "WE ROOLZ: 110710"[CR][LF]" 17:50:11.783616 > "A002 OK LIST Completed[CR][LF]" 17:50:11.783630 return proof we are we 17:50:11.833695 < "A003 LOGOUT" 17:50:11.833757 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.833780 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.835029 MAIN sockfilt said DISC 17:50:11.835066 ====> Client disconnected 17:50:11.835158 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:11.626185 ====> Client connect 17:50:11.626540 Received DATA (on stdin) 17:50:11.626557 > 164 bytes data, server => client 17:50:11.626570 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:11.626580 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:11.626590 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:11.626685 < 17 bytes data, client => server 17:50:11.626703 'A001 CAPABILITY\r\n' 17:50:11.626927 Received DATA (on stdin) 17:50:11.626941 > 18 bytes data, server => client 17:50:11.626952 'A001 BAD Command\r\n' 17:50:11.627018 < 30 bytes data, client => server 17:50:11.627034 'A002 LIST "verifiedserver" *\r\n' 17:50:11.629815 Received DATA (on stdin) 17:50:11.629828 > 34 bytes data, server => client 17:50:11.629837 '* LIST () "/" "WE ROOLZ: 110710"\r\n' 17:50:11.629864 Received DATA (on stdin) 17:50:11.629873 > 24 bytes data, server => client 17:50:11.629882 'A002 OK LIST Completed\r\n' 17:50:11.679661 < 13 bytes data, client => server 17:50:11.679704 'A003 LOGOUT\r\n' 17:50:11.679966 Received DATA (on stdin) 17:50:11.679978 > 36 bytes data, server => client 17:50:11.679989 '* BYE curl IMAP server signing off\r\n' 17:50:11.680012 Received DATA (on stdin) 17:50:11.680022 > 26 bytes data, server => client 17:50:11.680032 'A003 OK LOGOUT completed\r\n' 17:50:11.681157 ====> Client disconnect 17:50:11.681348 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDU4NDUBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 NO Authentication failed Testnum 844 === End of file server.cmd === Start of file valgrind844 ==122482== ==122482== Process terminating with default action of signal 4 (SIGILL) ==122482== Illegal opcode at address 0x4014520 ==122482== at 0x4014520: getparameter (tool_getparam.c:2862) ==122482== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122482== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122482== by 0x4003728: main (tool_main.c:186) === End of file valgrind844 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/21/valgrind843 ../src/curl -q --output log/21/curl843.out --include --trace-ascii log/21/trace843 --trace-time 'imap://127.0.0.1:41403/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/21/stdout843 2> log/21/stderr843 843: protocoCMD (33792): ../libtool --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/valgrind842 ../src/curl -q --output log/1/curl842.out --include --trace-ascii log/1/trace842 --trace-time 'imap://127.0.0.1:33991/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/1/stdout842 2> log/1/stderr842 CMD (33792): ../libtool --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/valgrind845 ../src/curl -q --output log/5/curl845.out --include --trace-ascii log/5/trace845 --trace-time 'imap://127.0.0.1:40583/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout845 2> log/5/stderr845 l 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 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/21/valgrind843 ../src/curl -q --output log/21/curl843.out --include --trace-ascii log/21/trace843 --trace-time 'imap://127.0.0.1:41403/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/21/stdout843 2> log/21/stderr843 === End of file commands.log === Start of file imap_server.log 17:50:11.670704 ====> Client connect 17:50:11.670931 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.671296 < "A001 CAPABILITY" 17:50:11.671354 > "A001 BAD Command[CR][LF]" 17:50:11.671561 < "A002 LIST "verifiedserver" *" 17:50:11.671598 LIST_imap got "verifiedserver" * 17:50:11.671632 > "* LIST () "/" "WE ROOLZ: 120365"[CR][LF]" 17:50:11.671656 > "A002 OK LIST Completed[CR][LF]" 17:50:11.671677 return proof we are we 17:50:11.717091 < "A003 LOGOUT" 17:50:11.717171 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.717203 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.718485 MAIN sockfilt said DISC 17:50:11.718518 ====> Client disconnected 17:50:11.718605 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:11.516759 ====> Client connect 17:50:11.517140 Received DATA (on stdin) 17:50:11.517158 > 164 bytes data, server => client 17:50:11.517170 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:11.517180 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:11.517190 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:11.517283 < 17 bytes data, client => server 17:50:11.517298 'A001 CAPABILITY\r\n' 17:50:11.517545 Received DATA (on stdin) 17:50:11.517559 > 18 bytes data, server => client 17:50:11.517569 'A001 BAD Command\r\n' 17:50:11.517632 < 30 bytes data, client => server 17:50:11.517644 'A002 LIST "verifiedserver" *\r\n' 17:50:11.517861 Received DATA (on stdin) 17:50:11.517873 > 34 bytes data, server => client 17:50:11.517883 '* LIST () "/" "WE ROOLZ: 120365"\r\n' 17:50:11.517906 Received DATA (on stdin) 17:50:11.517919 > 24 bytes data, server => client 17:50:11.517929 'A002 OK LIST Completed\r\n' 17:50:11.563042 < 13 bytes data, client => server 17:50:11.563087 'A003 LOGOUT\r\n' 17:50:11.563396 Received DATA (on stdin) 17:50:11.563411 > 36 bytes data, server => client 17:50:11.563422 '* BYE curl IMAP server signing off\r\n' 17:50:11.563450 Received DATA (on stdin) 17:50:11.563462 > 26 bytes data, server => client 17:50:11.563473 'A003 OK LOGOUT completed\r\n' 17:50:11.564609 ====> Client disconnect 17:50:11.564791 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 ==122365== ==122365== Process terminating with default action of signal 4 (SIGILL) ==122365== Illegal opcode at address 0x4014520 ==122365== at 0x4014520: getparameter (tool_getparam.c:2862) ==122365== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122365== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122365== by 0x4003728: main (tool_main.c:186) === End of file valgrind843 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/1/valgrind842 ../src/curl -q --output log/1/curl842.out --include --trace-ascii log/1/trace842 --trace-time 'imap://127.0.0.1:33991/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/1/stdout842 2> log/1/stderr842 842: 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 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/1/valgrind842 ../src/curl -q --output log/1/curl842.out --include --trace-ascii log/1/trace842 --trace-time 'imap://127.0.0.1:33991/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/1/stdout842 2> log/1/stderr842 === End of file commands.log === Start of file imap_server.log 17:50:11.640956 ====> Client connect 17:50:11.641165 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.643507 < "A001 CAPABILITY" 17:50:11.643564 > "A001 BAD Command[CR][LF]" 17:50:11.647031 < "A002 LIST "verifiedserver" *" 17:50:11.647087 LIST_imap got "verifiedserver" * 17:50:11.647133 > "* LIST () "/" "WE ROOLZ: 120089"[CR][LF]" 17:50:11.647160 > "A002 OK LIST Completed[CR][LF]" 17:50:11.647183 return proof we are we 17:50:11.693671 < "A003 LOGOUT" 17:50:11.693740 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.693760 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.695228 MAIN sockfilt said DISC 17:50:11.695273 ====> Client disconnected 17:50:11.695365 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:12.486754 ====> Client connect 17:50:12.487375 Received DATA (on stdin) 17:50:12.487395 > 164 bytes data, server => client 17:50:12.487408 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:12.487419 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:12.487429 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:12.487533 < 17 bytes data, client => server 17:50:12.487551 'A001 CAPABILITY\r\n' 17:50:12.492851 Received DATA (on stdin) 17:50:12.492885 > 18 bytes data, server => client 17:50:12.492900 'A001 BAD Command\r\n' 17:50:12.493027 < 30 bytes data, client => server 17:50:12.493045 'A002 LIST "verifiedserver" *\r\n' 17:50:12.493372 Received DATA (on stdin) 17:50:12.493385 > 34 bytes data, server => client 17:50:12.493395 '* LIST () "/" "WE ROOLZ: 120089"\r\n' 17:50:12.493417 Received DATA (on stdin) 17:50:12.493426 > 24 bytes data, server => client 17:50:12.493435 'A002 OK LIST Completed\r\n' 17:50:12.539640 < 13 bytes data, client => server 17:50:12.539675 'A003 LOGOUT\r\n' 17:50:12.539943 Received DATA (on stdin) 17:50:12.539954 > 36 bytes data, server => client 17:50:12.539963 '* BYE curl IMAP server signing off\r\n' 17:50:12.539987 Received DATA (on stdin) 17:50:12.539996 > 26 bytes data, server => client 17:50:12.540005 'A003 OK LOGOUT completed\r\n' 17:50:12.541338 ====> Client disconnect 17:50:12.541551 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzM5OTEBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 OK AUTHENTICATE completed Testnum 842 === End of file server.cmd === Start of file valgrind842 ==122356== ==122356== Process terminating with default action of signal 4 (SIGILL) ==122356== Illegal opcode at address 0x4014520 ==122356== at 0x4014520: getparameter (tool_getparam.c:2862) ==122356== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122356== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122356== by 0x4003728: main (tool_main.c:186) === End of file valgrind842 test 0845...[IMAP OAuth 2.0 (OAUTHBEARER) 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/CMD (33792): ../libtool --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/valgrind846 ../src/curl -q --output log/3/curl846.out --include --trace-ascii log/3/trace846 --trace-time 'imap://127.0.0.1:45903/846/;MAILINDEX=1' -u notused:still-provided > log/3/stdout846 2> log/3/stderr846 5/valgrind845 ../src/curl -q --output log/5/curl845.out --include --trace-ascii log/5/trace845 --trace-time 'imap://127.0.0.1:40583/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout845 2> log/5/stderr845 845: 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 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/5/valgrind845 ../src/curl -q --output log/5/curl845.out --include --trace-ascii log/5/trace845 --trace-time 'imap://127.0.0.1:40583/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout845 2> log/5/stderr845 === End of file commands.log === Start of file imap_server.log 17:50:11.855690 ====> Client connect 17:50:11.855901 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.859322 < "A001 CAPABILITY" 17:50:11.859387 > "A001 BAD Command[CR][LF]" 17:50:11.863486 < "A002 LIST "verifiedserver" *" 17:50:11.863536 LIST_imap got "verifiedserver" * 17:50:11.863581 > "* LIST () "/" "WE ROOLZ: 120008"[CR][LF]" 17:50:11.863604 > "A002 OK LIST Completed[CR][LF]" 17:50:11.863621 return proof we are we 17:50:11.910351 < "A003 LOGOUT" 17:50:11.910419 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.910445 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.911866 MAIN sockfilt said DISC 17:50:11.911909 ====> Client disconnected 17:50:11.911974 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:12.699531 ====> Client connect 17:50:12.702846 Received DATA (on stdin) 17:50:12.702882 > 164 bytes data, server => client 17:50:12.702895 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:12.702906 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:12.702916 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:12.703053 < 17 bytes data, client => server 17:50:12.703070 'A001 CAPABILITY\r\n' 17:50:12.706205 Received DATA (on stdin) 17:50:12.706227 > 18 bytes data, server => client 17:50:12.706238 'A001 BAD Command\r\n' 17:50:12.706376 < 30 bytes data, client => server 17:50:12.706393 'A002 LIST "verifiedserver" *\r\n' 17:50:12.709809 Received DATA (on stdin) 17:50:12.709826 > 34 bytes data, server => client 17:50:12.709837 '* LIST () "/" "WE ROOLZ: 120008"\r\n' 17:50:12.709874 Received DATA (on stdin) 17:50:12.709884 > 24 bytes data, server => client 17:50:12.709893 'A002 OK LIST Completed\r\n' 17:50:12.756343 < 13 bytes data, client => server 17:50:12.756374 'A003 LOGOUT\r\n' 17:50:12.756635 Received DATA (on stdin) 17:50:12.756651 > 36 bytes data, server => client 17:50:12.756662 '* BYE curl IMAP server signing off\r\n' 17:50:12.756689 Received DATA (on stdin) 17:50:12.756699 > 26 bytes data, server => client 17:50:12.756710 'A003 OK LOGOUT completed\r\n' 17:50:12.757979 ====> Client disconnect 17:50:12.758160 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 ==122551== ==122551== Process terminating with default action of signal 4 (SIGILL) ==122551== Illegal opcode at address 0x4014520 ==122551== at 0x4014520: getparameter (tool_getparam.c:2862) ==122551== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122551== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122551== by 0x4003728: main (tool_main.c:186) === End of file valgrind845 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/3/valgrind846 ../src/curl -q --output log/3/curl846.out --include --trace-ascii log/3/trace846 --trace-time 'imap://127.0.0.1:45903/846/;MAILINDEX=1' -u notused:still-provided > log/3/stdout846 2> log/3/stderr846 846: 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 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/3/valgrind846 ../src/curl -q --output log/3/curl846.out --include --trace-ascii log/3/trace846 --trace-time 'imap://127.0.0.1:45903/846/;MAILINDEX=1' -u notused:still-provided > log/3/stdout846 2> log/3/stderr846 === End of file commands.log === Start of file imap_server.log 17:50:11.874749 ====> Client connect 17:50:11.874902 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.880255 < "A001 CAPABILITY" 17:50:11.880314 > "A001 BAD Command[CR][LF]" 17:50:11.880536 < "A002 LIST "verifiedserver" *" 17:50:11.880566 LIST_imap got "verifiedserver" * 17:50:11.880596 > "* LIST () "/" "WE ROOLZ: 119789"[CR][LF]" 17:50:11.880616 > "A002 OK LIST Completed[CR][LF]" 17:50:11.880629 return proof we are we 17:50:11.930330 < "A003 LOGOUT" 17:50:11.930391 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.930415 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.931560 MAIN sockfilt said DISC 17:50:11.931592 ====> Client disconnected 17:50:11.931661 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:12.720802 ====> Client connect 17:50:12.721095 Received DATA (on stdin) 17:50:12.721108 > 164 bytes data, server => client 17:50:12.721119 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:12.721129 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:12.721139 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:12.726196 < 17 bytes data, client => server 17:50:12.726232 'A001 CAPABILITY\r\n' 17:50:12.726501 Received DATA (on stdin) 17:50:12.726514 > 18 bytes data, server => client 17:50:12.726523 'A001 BAD Command\r\n' 17:50:12.726623 < 30 bytes data, client => server 17:50:12.726636 'A002 LIST "verifiedserver" *\r\n' 17:50:12.726811 Received DATA (on stdin) 17:50:12.726823 > 34 bytes data, server => client 17:50:12.726833 '* LIST () "/" "WE ROOLZ: 119789"\r\n' 17:50:12.726855 Received DATA (on stdin) 17:50:12.726864 > 24 bytes data, server => client 17:50:12.726874 'A002 OK LIST Completed\r\n' 17:50:12.776330 < 13 bytes data, client => server 17:50:12.776358 'A003 LOGOUT\r\n' 17:50:12.776601 Received DATA (on stdin) 17:50:12.776613 > 36 bytes data, server => client 17:50:12.776624 '* BYE curl IMAP server signing off\r\n' 17:50:12.776645 Received DATA (on stdin) 17:50:12.776655 > 26 bytes data, server => client 17:50:12.776665 'A003 OK LOGOUT completed\r\n' 17:50:12.777690 ====> Client disconnect 17:50:12.777848 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 ==122586== ==122586== Process terminating with default action of signal 4 (SIGILL) ==122586== Illegal opcode at address 0x4014520 ==12258CMD (33792): ../libtool --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/valgrind848 ../src/curl -q --output log/7/curl848.out --include --trace-ascii log/7/trace848 --trace-time 'imap://127.0.0.1:34851/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/7/stdout848 2> log/7/stderr848 CMD (33792): ../libtool --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/valgrind849 ../src/curl -q --output log/17/curl849.out --include --trace-ascii log/17/trace849 --trace-time 'imap://127.0.0.1:37221/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/17/stdout849 2> log/17/stderr849 6== at 0x4014520: getparameter (tool_getparam.c:2862) ==122586== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122586== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122586== by 0x4003728: main (tool_main.c:186) === End of file valgrind846 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/7/valgrind848 ../src/curl -q --output log/7/curl848.out --include --trace-ascii log/7/trace848 --trace-time 'imap://127.0.0.1:34851/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/7/stdout848 2> log/7/stderr848 848: 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 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/7/valgrind848 ../src/curl -q --output log/7/curl848.out --include --trace-ascii log/7/trace848 --trace-time 'imap://127.0.0.1:34851/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/7/stdout848 2> log/7/stderr848 === End of file commands.log === Start of file imap_server.log 17:50:11.886706 ====> Client connect 17:50:11.886956 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.890164 < "A001 CAPABILITY" 17:50:11.890223 > "A001 BAD Command[CR][LF]" 17:50:11.893451 < "A002 LIST "verifiedserver" *" 17:50:11.893498 LIST_imap got "verifiedserver" * 17:50:11.893540 > "* LIST () "/" "WE ROOLZ: 120280"[CR][LF]" 17:50:11.893562 > "A002 OK LIST Completed[CR][LF]" 17:50:11.893579 return proof we are we 17:50:11.937878 < "A003 LOGOUT" 17:50:11.937949 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:11.937981 > "A003 OK LOGOUT completed[CR][LF]" 17:50:11.939575 MAIN sockfilt said DISC 17:50:11.939612 ====> Client disconnected 17:50:11.939707 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:11.729577 ====> Client connect 17:50:11.733679 Received DATA (on stdin) 17:50:11.733727 > 164 bytes data, server => client 17:50:11.733739 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:11.733750 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:11.733759 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:11.733886 < 17 bytes data, client => server 17:50:11.733900 'A001 CAPABILITY\r\n' 17:50:11.737337 Received DATA (on stdin) 17:50:11.737361 > 18 bytes data, server => client 17:50:11.737372 'A001 BAD Command\r\n' 17:50:11.737460 < 30 bytes data, client => server 17:50:11.737472 'A002 LIST "verifiedserver" *\r\n' 17:50:11.739768 Received DATA (on stdin) 17:50:11.739790 > 34 bytes data, server => client 17:50:11.739801 '* LIST () "/" "WE ROOLZ: 120280"\r\n' 17:50:11.739840 Received DATA (on stdin) 17:50:11.739850 > 24 bytes data, server => client 17:50:11.739859 'A002 OK LIST Completed\r\n' 17:50:11.783863 < 13 bytes data, client => server 17:50:11.783897 'A003 LOGOUT\r\n' 17:50:11.784171 Received DATA (on stdin) 17:50:11.784186 > 36 bytes data, server => client 17:50:11.784197 '* BYE curl IMAP server signing off\r\n' 17:50:11.784222 Received DATA (on stdin) 17:50:11.784234 > 26 bytes data, server => client 17:50:11.784244 'A003 OK LOGOUT completed\r\n' 17:50:11.785694 ====> Client disconnect 17:50:11.785904 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 ==122594== ==122594== Process terminating with default action of signal 4 (SIGILL) ==122594== Illegal opcode at address 0x4014520 ==122594== at 0x4014520: getparameter (tool_getparam.c:2862) ==122594== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122594== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122594== by 0x4003728: main (tool_main.c:186) === 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/17/valgrind849 ../src/curl -q --output log/17/curl849.out --include --trace-ascii log/17/trace849 --trace-time 'imap://127.0.0.1:37221/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/17/stdout849 2> log/17/stderr849 849: 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 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/17/valgrind849 ../src/curl -q --output log/17/curl849.out --include --trace-ascii log/17/trace849 --trace-time 'imap://127.0.0.1:37221/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/17/stdout849 2> log/17/stderr849 === End of file commands.log === Start of file imap_server.log 17:50:11.986466 ====> Client connect 17:50:11.986658 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:11.992208 < "A001 CAPABILITY" 17:50:11.992275 > "A001 BAD Command[CR][LF]" 17:50:11.992500 < "A002 LIST "verifiedserver" *" 17:50:11.992534 LIST_imap got "verifiedserver" * 17:50:11.992564 > "* LIST () "/" "WE ROOLZ: 120335"[CR][LF]" 17:50:11.992586 > "A002 OK LIST Completed[CR][LF]" 17:50:11.992606 return proof we are we 17:50:12.046850 < "A003 LOGOUT" 17:50:12.046924 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:12.046949 > "A003 OK LOGOUT completed[CR][LF]" 17:50:12.056777 MAIN sockfilt said DISC 17:50:12.056844 ====> Client disconnected 17:50:12.056935 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:11.832513 ====> Client connect 17:50:11.832865 Received DATA (on stdin) 17:50:11.832880 > 164 bytes data, server => client 17:50:11.832895 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:11.832905 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:11.832914 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:11.838106 < 17 bytes data, client => server 17:50:11.838146 'A001 CAPABILITY\r\n' 17:50:11.838463 Received DATA (on stdin) 17:50:11.838475 > 18 bytes data, server => client 17:50:11.838486 'A001 BAD Command\r\n' 17:50:11.838589 < 30 bytes data, client => server 17:50:11.838602 'A002 LIST "verifiedserver" *\r\n' 17:50:11.838788 Received DATA (on stdin) 17:50:11.838799 > 34 bytes data, server => client 17:50:11.838809 '* LIST () "/" "WE ROOLZ: 120335"\r\n' 17:50:11.838829 Received DATA (on stdin) 17:50:11.838839 > 24 bytes data, server => client 17:50:11.838849 'A002 OK LIST Completed\r\n' 17:50:11.886213 < 13 bytes data, client => server 17:50:11.886260 'A003 LOGOUT\r\n' 17:50:11.896191 Received DATA (on stdin) 17:50:11.896224 > 36 bytes data, server => client 17:50:11.896236 '* BYE curl IMAP server signing off\r\n' 17:50:11.896286 Received DATA (on stdin) 17:50:11.896299 > 26 bytes data, server => client 17:50:11.896310 'A003 OK LOGOUT completed\r\n' 17:50:11.902852 ====> Client disconnect 17:50:11.903130 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= A002 NO Not authoCMD (33792): ../libtool --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/valgrind847 ../src/curl -q --output log/19/curl847.out --include --trace-ascii log/19/trace847 --trace-time 'imap://127.0.0.1:37713/847/;UID=1' -u '"user:sec"ret{' > log/19/stdout847 2> log/19/stderr847 CMD (33792): ../libtool --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/valgrind851 ../src/curl -q --output log/2/curl851.out --include --trace-ascii log/2/trace851 --trace-time pop3://127.0.0.1:35299/851 -l -u user:secret > log/2/stdout851 2> log/2/stderr851 CMD (33792): ../libtool --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/valgrind850 ../src/curl -q --output log/16/curl850.out --include --trace-ascii log/16/trace850 --trace-time pop3://127.0.0.1:42355/850 -u user:secret > log/16/stdout850 2> log/16/stderr850 rized Testnum 849 === End of file server.cmd === Start of file valgrind849 ==122748== ==122748== Process terminating with default action of signal 4 (SIGILL) ==122748== Illegal opcode at address 0x4014520 ==122748== at 0x4014520: getparameter (tool_getparam.c:2862) ==122748== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122748== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122748== by 0x4003728: main (tool_main.c:186) === End of file valgrind849 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/imap_server.pid" --logfile "log/19/imap_server.log" --logdir "log/19" --portfile "log/19/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37713 (log/19/server/imap_server.port) RUN: IMAP server is PID 122438 port 37713 * pid imap => 122438 122438 test 0847...[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/19/valgrind847 ../src/curl -q --output log/19/curl847.out --include --trace-ascii log/19/trace847 --trace-time 'imap://127.0.0.1:37713/847/;UID=1' -u '"user:sec"ret{' > log/19/stdout847 2> log/19/stderr847 847: 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 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/19/valgrind847 ../src/curl -q --output log/19/curl847.out --include --trace-ascii log/19/trace847 --trace-time 'imap://127.0.0.1:37713/847/;UID=1' -u '"user:sec"ret{' > log/19/stdout847 2> log/19/stderr847 === End of file commands.log === Start of file imap_server.log 17:50:11.895195 IMAP server listens on port IPv4/37713 17:50:11.895299 logged pid 122438 in log/19/server/imap_server.pid 17:50:11.895333 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:11.740922 Running IPv4 version 17:50:11.741007 Listening on port 37713 17:50:11.741051 Wrote pid 122510 to log/19/server/imap_sockfilt.pid 17:50:11.741083 Wrote port 37713 to log/19/server/imap_server.port 17:50:11.741264 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 847 === End of file server.cmd === Start of file valgrind847 ==122871== ==122871== Process terminating with default action of signal 4 (SIGILL) ==122871== Illegal opcode at address 0x4014520 ==122871== at 0x4014520: getparameter (tool_getparam.c:2862) ==122871== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122871== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122871== by 0x4003728: main (tool_main.c:186) === End of file valgrind847 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 35299 (log/2/server/pop3_server.port) RUN: POP3 server is PID 122815 port 35299 * pid pop3 => 122815 122815 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/2/valgrind851 ../src/curl -q --output log/2/curl851.out --include --trace-ascii log/2/trace851 --trace-time pop3://127.0.0.1:35299/851 -l -u user:secret > log/2/stdout851 2> log/2/stderr851 851: 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 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/2/valgrind851 ../src/curl -q --output log/2/curl851.out --include --trace-ascii log/2/trace851 --trace-time pop3://127.0.0.1:35299/851 -l -u user:secret > log/2/stdout851 2> log/2/stderr851 === End of file commands.log === Start of file pop3_server.log 17:50:12.391549 POP3 server listens on port IPv4/35299 17:50:12.391672 logged pid 122815 in log/2/server/pop3_server.pid 17:50:12.391707 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:12.237154 Running IPv4 version 17:50:12.237273 Listening on port 35299 17:50:12.237325 Wrote pid 122831 to log/2/server/pop3_sockfilt.pid 17:50:12.237364 Wrote port 35299 to log/2/server/pop3_server.port 17:50:12.237603 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 ==122954== ==122954== Process terminating with default action of signal 4 (SIGILL) ==122954== Illegal opcode at address 0x4014520 ==122954== at 0x4014520: getparameter (tool_getparam.c:2862) ==122954== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122954== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122954== by 0x4003728: main (tool_main.c:186) === End of file valgrind851 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 42355 (log/16/server/pop3_server.port) RUN: POP3 server is PID 122794 port 42355 * pid pop3 => 122794 122794 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/16/valgrind850 ../src/curl -q --output log/16/curl850.out --include --trace-ascii log/16/trace850 --trace-time pop3://127.0.0.1:42355/850 -u user:secret > log/16/stdout850 2> log/16/stderr850 850: 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 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/16/valgrind850 ../src/curl -q --output log/16/curl850.out --include --trace-ascii log/16/trace850 --trace-time pop3://127.0.0.1:42355/850 -u user:secret > log/16/stdout850 2> log/16/stderr850 === End of file commands.log === Start of file pop3_server.log 17:50:12.316966 POP3 server listens on port IPv4/42355 17:50:12.317083 logged pid 122794 in log/16/server/pop3_server.pid 17:50:12.317112 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:12.160760 Running IPv4 version 17:50:12.160884 Listening on port 42355 17:50:12.160930 Wrote pid 122820 to log/16/server/pop3_sockfilt.pid 17:50:12.160961 Wrote port 42355 to log/16/server/pop3_server.port 17:50:12.163022 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 850 === End of file server.cmd === Start of file valgrind850 ==122939== ==122939== Process terminating with default action of signal 4 (SIGILL) ==122939== Illegal opcode at address 0x4014520 ==122939== at 0x4014520: getparameter (tool_getparam.c:2862) ==122939== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122939== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122939== by 0x4003728: main (tool_main.c:186) === End 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/22/valgrind852 ../src/curl -q --output log/22/curl852.out --include --trace-ascii log/22/trace852 --trace-time pop3://127.0.0.1:35229/852 -l -u user:secret > log/22/stdout852 2> log/22/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/20/valgrind853 ../src/curl -q --output log/20/curl853.out --include --trace-ascii log/20/trace853 --trace-time pop3://127.0.0.1:45369/ -u user:secret > log/20/stdout853 2> log/20/stderr853 CMD (33792): ../libtool --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/valgrind855 ../src/curl -q --output log/8/curl855.out --include --trace-ascii log/8/trace855 --trace-time pop3://127.0.0.1:39465/855 -u user:secret > log/8/stdout855 2> log/8/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/10/valgrind854 ../src/curl -q --output log/10/curl854.out --include --trace-ascii log/10/trace854 --trace-time pop3://127.0.0.1:33087/ -u user:secret > log/10/stdout854 2> log/10/stderr854 file valgrind850 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 35229 (log/22/server/pop3_server.port) RUN: POP3 server is PID 122824 port 35229 * pid pop3 => 122824 122824 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/22/valgrind852 ../src/curl -q --output log/22/curl852.out --include --trace-ascii log/22/trace852 --trace-time pop3://127.0.0.1:35229/852 -l -u user:secret > log/22/stdout852 2> log/22/stderr852 852: 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 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/22/valgrind852 ../src/curl -q --output log/22/curl852.out --include --trace-ascii log/22/trace852 --trace-time pop3://127.0.0.1:35229/852 -l -u user:secret > log/22/stdout852 2> log/22/stderr852 === End of file commands.log === Start of file pop3_server.log 17:50:12.381417 POP3 server listens on port IPv4/35229 17:50:12.381544 logged pid 122824 in log/22/server/pop3_server.pid 17:50:12.381585 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:12.227081 Running IPv4 version 17:50:12.227191 Listening on port 35229 17:50:12.227240 Wrote pid 122830 to log/22/server/pop3_sockfilt.pid 17:50:12.227275 Wrote port 35229 to log/22/server/pop3_server.port 17:50:12.227488 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 ==122965== ==122965== Process terminating with default action of signal 4 (SIGILL) ==122965== Illegal opcode at address 0x4014520 ==122965== at 0x4014520: getparameter (tool_getparam.c:2862) ==122965== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==122965== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==122965== by 0x4003728: main (tool_main.c:186) === End of file valgrind852 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 45369 (log/20/server/pop3_server.port) RUN: POP3 server is PID 122834 port 45369 * pid pop3 => 122834 122834 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/20/valgrind853 ../src/curl -q --output log/20/curl853.out --include --trace-ascii log/20/trace853 --trace-time pop3://127.0.0.1:45369/ -u user:secret > log/20/stdout853 2> log/20/stderr853 853: 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 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/20/valgrind853 ../src/curl -q --output log/20/curl853.out --include --trace-ascii log/20/trace853 --trace-time pop3://127.0.0.1:45369/ -u user:secret > log/20/stdout853 2> log/20/stderr853 === End of file commands.log === Start of file pop3_server.log 17:50:12.538245 POP3 server listens on port IPv4/45369 17:50:12.538337 logged pid 122834 in log/20/server/pop3_server.pid 17:50:12.538363 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:12.384003 Running IPv4 version 17:50:12.384093 Listening on port 45369 17:50:12.384132 Wrote pid 122839 to log/20/server/pop3_sockfilt.pid 17:50:12.384161 Wrote port 45369 to log/20/server/pop3_server.port 17:50:12.384331 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 ==123081== ==123081== Process terminating with default action of signal 4 (SIGILL) ==123081== Illegal opcode at address 0x4014520 ==123081== at 0x4014520: getparameter (tool_getparam.c:2862) ==123081== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123081== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123081== by 0x4003728: main (tool_main.c:186) === End of file valgrind853 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/pop3_server.pid" --logfile "log/8/pop3_server.log" --logdir "log/8" --portfile "log/8/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39465 (log/8/server/pop3_server.port) RUN: POP3 server is PID 122869 port 39465 * pid pop3 => 122869 122869 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/8/valgrind855 ../src/curl -q --output log/8/curl855.out --include --trace-ascii log/8/trace855 --trace-time pop3://127.0.0.1:39465/855 -u user:secret > log/8/stdout855 2> log/8/stderr855 855: 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 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/8/valgrind855 ../src/curl -q --output log/8/curl855.out --include --trace-ascii log/8/trace855 --trace-time pop3://127.0.0.1:39465/855 -u user:secret > log/8/stdout855 2> log/8/stderr855 === End of file commands.log === Start of file pop3_server.log 17:50:13.103545 POP3 server listens on port IPv4/39465 17:50:13.103665 logged pid 122869 in log/8/server/pop3_server.pid 17:50:13.106721 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.905783 Running IPv4 version 17:50:13.922934 Listening on port 39465 17:50:13.939573 Wrote pid 122896 to log/8/server/pop3_sockfilt.pid 17:50:13.949543 Wrote port 39465 to log/8/server/pop3_server.port 17:50:13.949577 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 ==123204== ==123204== Process terminating with default action of signal 4 (SIGILL) ==123204== Illegal opcode at address 0x4014520 ==123204== at 0x4014520: getparameter (tool_getparam.c:2862) ==123204== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123204== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123204== by 0x4003728: main (tool_main.c:186) === End of file valgrind855 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 33087 (log/10/server/pop3_server.port) RUN: POP3 server is PID 122857 port 33087 * pid pop3 => 122857 122857 test 0854...[POP3 LIST no messages avCMD (33792): ../libtool --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/valgrind857 ../src/curl -q --output log/23/curl857.out --include --trace-ascii log/23/trace857 --trace-time pop3://127.0.0.1:41163/857 -u user:secret > log/23/stdout857 2> log/23/stderr857 CMD (33792): ../libtool --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/valgrind856 ../src/curl -q --output log/24/curl856.out --include --trace-ascii log/24/trace856 --trace-time pop3://127.0.0.1:38159/856 -u user:wrong > log/24/stdout856 2> log/24/stderr856 CMD (33792): ../libtool --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/valgrind858 ../src/curl -q --output log/14/curl858.out --include --trace-ascii log/14/trace858 --trace-time pop3://127.0.0.1:37265/858 -u user:secret -X DELE -I > log/14/stdout858 2> log/14/stderr858 ailable] ../libtool --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/valgrind854 ../src/curl -q --output log/10/curl854.out --include --trace-ascii log/10/trace854 --trace-time pop3://127.0.0.1:33087/ -u user:secret > log/10/stdout854 2> log/10/stderr854 854: 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 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/10/valgrind854 ../src/curl -q --output log/10/curl854.out --include --trace-ascii log/10/trace854 --trace-time pop3://127.0.0.1:33087/ -u user:secret > log/10/stdout854 2> log/10/stderr854 === End of file commands.log === Start of file pop3_server.log 17:50:12.890173 POP3 server listens on port IPv4/33087 17:50:12.896831 logged pid 122857 in log/10/server/pop3_server.pid 17:50:12.896880 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:12.696304 Running IPv4 version 17:50:12.708205 Listening on port 33087 17:50:12.732918 Wrote pid 122860 to log/10/server/pop3_sockfilt.pid 17:50:12.732980 Wrote port 33087 to log/10/server/pop3_server.port 17:50:12.733011 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 ==123167== ==123167== Process terminating with default action of signal 4 (SIGILL) ==123167== Illegal opcode at address 0x4014520 ==123167== at 0x4014520: getparameter (tool_getparam.c:2862) ==123167== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123167== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123167== by 0x4003728: main (tool_main.c:186) === End of file valgrind854 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 41163 (log/23/server/pop3_server.port) RUN: POP3 server is PID 122873 port 41163 * pid pop3 => 122873 122873 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/23/valgrind857 ../src/curl -q --output log/23/curl857.out --include --trace-ascii log/23/trace857 --trace-time pop3://127.0.0.1:41163/857 -u user:secret > log/23/stdout857 2> log/23/stderr857 857: 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 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/23/valgrind857 ../src/curl -q --output log/23/curl857.out --include --trace-ascii log/23/trace857 --trace-time pop3://127.0.0.1:41163/857 -u user:secret > log/23/stdout857 2> log/23/stderr857 === End of file commands.log === Start of file pop3_server.log 17:50:13.103473 POP3 server listens on port IPv4/41163 17:50:13.127057 logged pid 122873 in log/23/server/pop3_server.pid 17:50:13.133516 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.915336 Running IPv4 version 17:50:13.926369 Listening on port 41163 17:50:13.939674 Wrote pid 122900 to log/23/server/pop3_sockfilt.pid 17:50:13.946464 Wrote port 41163 to log/23/server/pop3_server.port 17:50:13.946509 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 ==123221== ==123221== Process terminating with default action of signal 4 (SIGILL) ==123221== Illegal opcode at address 0x4014520 ==123221== at 0x4014520: getparameter (tool_getparam.c:2862) ==123221== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123221== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123221== by 0x4003728: main (tool_main.c:186) === End of file valgrind857 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_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38159 (log/24/server/pop3_server.port) RUN: POP3 server is PID 122870 port 38159 * pid pop3 => 122870 122870 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/24/valgrind856 ../src/curl -q --output log/24/curl856.out --include --trace-ascii log/24/trace856 --trace-time pop3://127.0.0.1:38159/856 -u user:wrong > log/24/stdout856 2> log/24/stderr856 856: 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 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/24/valgrind856 ../src/curl -q --output log/24/curl856.out --include --trace-ascii log/24/trace856 --trace-time pop3://127.0.0.1:38159/856 -u user:wrong > log/24/stdout856 2> log/24/stderr856 === End of file commands.log === Start of file pop3_server.log 17:50:13.057323 POP3 server listens on port IPv4/38159 17:50:13.083444 logged pid 122870 in log/24/server/pop3_server.pid 17:50:13.086777 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.902952 Running IPv4 version 17:50:13.903058 Listening on port 38159 17:50:13.903117 Wrote pid 122897 to log/24/server/pop3_sockfilt.pid 17:50:13.903153 Wrote port 38159 to log/24/server/pop3_server.port 17:50:13.903178 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 ==123214== ==123214== Process terminating with default action of signal 4 (SIGILL) ==123214== Illegal opcode at address 0x4014520 ==123214== at 0x4014520: getparameter (tool_getparam.c:2862) ==123214== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123214== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123214== by 0x4003728: main (tool_main.c:186) === End of file valgrind856 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 37265 (log/14/server/pop3_server.port) RUN: POP3 server is PID 122937 port 37265 * pid pop3 => 122937 122937 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/14/valgrind858 ../src/curl -q --output log/14/curl858.out --include --trace-ascii log/14/trace858 --trace-time pop3://127.0.0.1:37265/858 -u user:secret -X DELE -I > log/14/stdout858 2> log/14/stderr858 858: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total 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/valgrind864 ../src/curl -q --output log/6/curl864.out --include --trace-ascii log/6/trace864 --trace-time pop3://127.0.0.1:46355/864 -u user:secret > log/6/stdout864 2> log/6/stderr864 CMD (33792): ../libtool --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/valgrind861 ../src/curl -q --output log/11/curl861.out --include --trace-ascii log/11/trace861 --trace-time pop3://127.0.0.1:44715 -u user:secret -X UIDL > log/11/stdout861 2> log/11/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/12/valgrind860 ../src/curl -q --output log/12/curl860.out --include --trace-ascii log/12/trace860 --trace-time pop3://127.0.0.1:43433 -u user:secret -X NOOP -I > log/12/stdout860 2> log/12/stderr860 url failure? Returned: 132 == Contents of files in the log/14/ 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/14/valgrind858 ../src/curl -q --output log/14/curl858.out --include --trace-ascii log/14/trace858 --trace-time pop3://127.0.0.1:37265/858 -u user:secret -X DELE -I > log/14/stdout858 2> log/14/stderr858 === End of file commands.log === Start of file pop3_server.log 17:50:13.341551 POP3 server listens on port IPv4/37265 17:50:13.341649 logged pid 122937 in log/14/server/pop3_server.pid 17:50:13.341678 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.187300 Running IPv4 version 17:50:13.187382 Listening on port 37265 17:50:13.187420 Wrote pid 122953 to log/14/server/pop3_sockfilt.pid 17:50:13.187448 Wrote port 37265 to log/14/server/pop3_server.port 17:50:13.187627 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 ==123379== ==123379== Process terminating with default action of signal 4 (SIGILL) ==123379== Illegal opcode at address 0x4014520 ==123379== at 0x4014520: getparameter (tool_getparam.c:2862) ==123379== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123379== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123379== by 0x4003728: main (tool_main.c:186) === End of file valgrind858 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/pop3_server.pid" --logfile "log/6/pop3_server.log" --logdir "log/6" --portfile "log/6/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46355 (log/6/server/pop3_server.port) RUN: POP3 server is PID 123075 port 46355 * pid pop3 => 123075 123075 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/6/valgrind864 ../src/curl -q --output log/6/curl864.out --include --trace-ascii log/6/trace864 --trace-time pop3://127.0.0.1:46355/864 -u user:secret > log/6/stdout864 2> log/6/stderr864 864: 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 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/6/valgrind864 ../src/curl -q --output log/6/curl864.out --include --trace-ascii log/6/trace864 --trace-time pop3://127.0.0.1:46355/864 -u user:secret > log/6/stdout864 2> log/6/stderr864 === End of file commands.log === Start of file pop3_server.log 17:50:13.600304 POP3 server listens on port IPv4/46355 17:50:13.600432 logged pid 123075 in log/6/server/pop3_server.pid 17:50:13.600469 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.444029 Running IPv4 version 17:50:13.444134 Listening on port 46355 17:50:13.444183 Wrote pid 123125 to log/6/server/pop3_sockfilt.pid 17:50:13.444218 Wrote port 46355 to log/6/server/pop3_server.port 17:50:13.446349 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 ==123587== ==123587== Process terminating with default action of signal 4 (SIGILL) ==123587== Illegal opcode at address 0x4014520 ==123587== at 0x4014520: getparameter (tool_getparam.c:2862) ==123587== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123587== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123587== by 0x4003728: main (tool_main.c:186) === End of file valgrind864 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 44715 (log/11/server/pop3_server.port) RUN: POP3 server is PID 122951 port 44715 * pid pop3 => 122951 122951 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/11/valgrind861 ../src/curl -q --output log/11/curl861.out --include --trace-ascii log/11/trace861 --trace-time pop3://127.0.0.1:44715 -u user:secret -X UIDL > log/11/stdout861 2> log/11/stderr861 861: 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 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/11/valgrind861 ../src/curl -q --output log/11/curl861.out --include --trace-ascii log/11/trace861 --trace-time pop3://127.0.0.1:44715 -u user:secret -X UIDL > log/11/stdout861 2> log/11/stderr861 === End of file commands.log === Start of file pop3_server.log 17:50:13.386962 POP3 server listens on port IPv4/44715 17:50:13.387085 logged pid 122951 in log/11/server/pop3_server.pid 17:50:13.387118 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.230608 Running IPv4 version 17:50:13.230700 Listening on port 44715 17:50:13.230741 Wrote pid 122984 to log/11/server/pop3_sockfilt.pid 17:50:13.230769 Wrote port 44715 to log/11/server/pop3_server.port 17:50:13.233011 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 ==123410== ==123410== Process terminating with default action of signal 4 (SIGILL) ==123410== Illegal opcode at address 0x4014520 ==123410== at 0x4014520: getparameter (tool_getparam.c:2862) ==123410== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123410== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123410== by 0x4003728: main (tool_main.c:186) === End of file valgrind861 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/pop3_server.pid" --logfile "log/12/pop3_server.log" --logdir "log/12" --portfile "log/12/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43433 (log/12/server/pop3_server.port) RUN: POP3 server is PID 122950 port 43433 * pid pop3 => 122950 122950 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/12/valgrind860 ../src/curl -q --output log/12/curl860.out --include --trace-ascii log/12/trace860 --trace-time pop3://127.0.0.1:43433 -u user:secret -X NOOP -I > log/12/stdout860 2> log/12/stderr860 860: 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 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/12/valgrind860 ../src/curl -q --output log/12/curl860.out --include --trace-ascii log/12/trace860 --trace-time pop3://127.0.0.1:43433 -u user:secret -X NOOP -I > log/12/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/21/valgrind867 ../src/curl -q --output log/21/curl867.out --include --trace-ascii log/21/trace867 --trace-time pop3://127.0.0.1:39273/867 -u user:secret > log/21/stdout867 2> log/21/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/13/valgrind863 ../src/curl -q --output log/13/curl863.out --include --trace-ascii log/13/trace863 --trace-time pop3://127.0.0.1:46487 -u user:secret -X RSET -I > log/13/stdout863 2> log/13/stderr863 CMD (33792): ../libtool --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/valgrind866 ../src/curl -q --output log/18/curl866.out --include --trace-ascii log/18/trace866 --trace-time pop3://127.0.0.1:36915/866 -u user:secret > log/18/stdout866 2> log/18/stderr866 dout860 2> log/12/stderr860 === End of file commands.log === Start of file pop3_server.log 17:50:13.406979 POP3 server listens on port IPv4/43433 17:50:13.407104 logged pid 122950 in log/12/server/pop3_server.pid 17:50:13.407136 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.251027 Running IPv4 version 17:50:13.251125 Listening on port 43433 17:50:13.251168 Wrote pid 123002 to log/12/server/pop3_sockfilt.pid 17:50:13.251199 Wrote port 43433 to log/12/server/pop3_server.port 17:50:13.253030 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 ==123396== ==123396== Process terminating with default action of signal 4 (SIGILL) ==123396== Illegal opcode at address 0x4014520 ==123396== at 0x4014520: getparameter (tool_getparam.c:2862) ==123396== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123396== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123396== by 0x4003728: main (tool_main.c:186) === End of file valgrind860 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 39273 (log/21/server/pop3_server.port) RUN: POP3 server is PID 123102 port 39273 * pid pop3 => 123102 123102 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/21/valgrind867 ../src/curl -q --output log/21/curl867.out --include --trace-ascii log/21/trace867 --trace-time pop3://127.0.0.1:39273/867 -u user:secret > log/21/stdout867 2> log/21/stderr867 867: 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 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/21/valgrind867 ../src/curl -q --output log/21/curl867.out --include --trace-ascii log/21/trace867 --trace-time pop3://127.0.0.1:39273/867 -u user:secret > log/21/stdout867 2> log/21/stderr867 === End of file commands.log === Start of file pop3_server.log 17:50:13.580916 POP3 server listens on port IPv4/39273 17:50:13.581113 logged pid 123102 in log/21/server/pop3_server.pid 17:50:13.581155 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.425040 Running IPv4 version 17:50:13.425109 Listening on port 39273 17:50:13.425155 Wrote pid 123119 to log/21/server/pop3_sockfilt.pid 17:50:13.425201 Wrote port 39273 to log/21/server/pop3_server.port 17:50:13.426904 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 ==123698== ==123698== Process terminating with default action of signal 4 (SIGILL) ==123698== Illegal opcode at address 0x4014520 ==123698== at 0x4014520: getparameter (tool_getparam.c:2862) ==123698== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123698== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123698== by 0x4003728: main (tool_main.c:186) === End of file valgrind867 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 46487 (log/13/server/pop3_server.port) RUN: POP3 server is PID 123004 port 46487 * pid pop3 => 123004 123004 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/13/valgrind863 ../src/curl -q --output log/13/curl863.out --include --trace-ascii log/13/trace863 --trace-time pop3://127.0.0.1:46487 -u user:secret -X RSET -I > log/13/stdout863 2> log/13/stderr863 863: 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 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/13/valgrind863 ../src/curl -q --output log/13/curl863.out --include --trace-ascii log/13/trace863 --trace-time pop3://127.0.0.1:46487 -u user:secret -X RSET -I > log/13/stdout863 2> log/13/stderr863 === End of file commands.log === Start of file pop3_server.log 17:50:13.463834 POP3 server listens on port IPv4/46487 17:50:13.463959 logged pid 123004 in log/13/server/pop3_server.pid 17:50:13.463994 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.307799 Running IPv4 version 17:50:13.307901 Listening on port 46487 17:50:13.307953 Wrote pid 123050 to log/13/server/pop3_sockfilt.pid 17:50:13.307986 Wrote port 46487 to log/13/server/pop3_server.port 17:50:13.309882 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 ==123456== ==123456== Process terminating with default action of signal 4 (SIGILL) ==123456== Illegal opcode at address 0x4014520 ==123456== at 0x4014520: getparameter (tool_getparam.c:2862) ==123456== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123456== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123456== by 0x4003728: main (tool_main.c:186) === End of file valgrind863 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 36915 (log/18/server/pop3_server.port) RUN: POP3 server is PID 123087 port 36915 * pid pop3 => 123087 123087 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/18/valgrind866 ../src/curl -q --output log/18/curl866.out --include --trace-ascii log/18/trace866 --trace-time pop3://127.0.0.1:36915/866 -u user:secret > log/18/stdout866 2> log/18/stderr866 866: 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 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/18/valgrind866 ../src/curl -q --output log/18/curl866.out --include --trace-ascii log/18/trace866 --trace-time pop3://127.0.0.1:36915/866 -u user:secret > log/18/stdout866 2> log/18/stderr866 === End of file commands.log === Start of file pop3_server.log 17:50:13.566781 POP3 server listens on port IPv4/36915 17:50:13.566920 logged pid 123087 in log/18/server/pop3_server.pid 17:50:13.566953 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.407653 Running IPv4 version 17:50:13.407754 Listening on port 36915 17:50:13.407798 WrCMD (33792): ../libtool --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/valgrind859 ../src/curl -q --output log/15/curl859.out --include --trace-ascii log/15/trace859 --trace-time pop3://127.0.0.1:34521 -u user:secret -X STAT -I > log/15/stdout859 2> log/15/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/19/valgrind874 ../src/curl -q --output log/19/curl874.out --include --trace-ascii log/19/trace874 --trace-time pop3://127.0.0.1:41113/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/19/stdout874 2> log/19/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/9/valgrind862 ../src/curl -q --output log/9/curl862.out --include --trace-ascii log/9/trace862 --trace-time pop3://127.0.0.1:38795 -u user:secret -X 'TOP 862 0' > log/9/stdout862 2> log/9/stderr862 ote pid 123114 to log/18/server/pop3_sockfilt.pid 17:50:13.407831 Wrote port 36915 to log/18/server/pop3_server.port 17:50:13.409924 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 ==123638== ==123638== Process terminating with default action of signal 4 (SIGILL) ==123638== Illegal opcode at address 0x4014520 ==123638== at 0x4014520: getparameter (tool_getparam.c:2862) ==123638== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123638== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123638== by 0x4003728: main (tool_main.c:186) === End of file valgrind866 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 34521 (log/15/server/pop3_server.port) RUN: POP3 server is PID 122944 port 34521 * pid pop3 => 122944 122944 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/15/valgrind859 ../src/curl -q --output log/15/curl859.out --include --trace-ascii log/15/trace859 --trace-time pop3://127.0.0.1:34521 -u user:secret -X STAT -I > log/15/stdout859 2> log/15/stderr859 859: 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 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/15/valgrind859 ../src/curl -q --output log/15/curl859.out --include --trace-ascii log/15/trace859 --trace-time pop3://127.0.0.1:34521 -u user:secret -X STAT -I > log/15/stdout859 2> log/15/stderr859 === End of file commands.log === Start of file pop3_server.log 17:50:13.411243 POP3 server listens on port IPv4/34521 17:50:13.411338 logged pid 122944 in log/15/server/pop3_server.pid 17:50:13.411367 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.256956 Running IPv4 version 17:50:13.257052 Listening on port 34521 17:50:13.257093 Wrote pid 123009 to log/15/server/pop3_sockfilt.pid 17:50:13.257124 Wrote port 34521 to log/15/server/pop3_server.port 17:50:13.257320 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 ==123392== ==123392== Process terminating with default action of signal 4 (SIGILL) ==123392== Illegal opcode at address 0x4014520 ==123392== at 0x4014520: getparameter (tool_getparam.c:2862) ==123392== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123392== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123392== by 0x4003728: main (tool_main.c:186) === End of file valgrind859 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/19/valgrind874 ../src/curl -q --output log/19/curl874.out --include --trace-ascii log/19/trace874 --trace-time pop3://127.0.0.1:41113/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/19/stdout874 2> log/19/stderr874 874: 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 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/19/valgrind874 ../src/curl -q --output log/19/curl874.out --include --trace-ascii log/19/trace874 --trace-time pop3://127.0.0.1:41113/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/19/stdout874 2> log/19/stderr874 === End of file commands.log === Start of file pop3_server.log 17:50:14.590129 ====> Client connect 17:50:14.590364 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:14.596882 < "CAPA" 17:50:14.596961 > "-ERR Unrecognized command[CR][LF]" 17:50:14.597241 < "RETR verifiedserver" 17:50:14.597274 return proof we are we 17:50:14.597298 > "+OK Mail transfer starts[CR][LF]" 17:50:14.597320 > "WE ROOLZ: 102884[CR][LF]" 17:50:14.597341 > ".[CR][LF]" 17:50:14.650271 < "QUIT" 17:50:14.650339 > "+OK curl POP3 server signing off[CR][LF]" 17:50:14.660110 MAIN sockfilt said DISC 17:50:14.660177 ====> Client disconnected 17:50:14.660265 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:14.432862 ====> Client connect 17:50:14.436568 Received DATA (on stdin) 17:50:14.436587 > 164 bytes data, server => client 17:50:14.436599 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:14.436610 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:14.436620 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:14.439631 < 6 bytes data, client => server 17:50:14.439668 'CAPA\r\n' 17:50:14.443160 Received DATA (on stdin) 17:50:14.443182 > 27 bytes data, server => client 17:50:14.443194 '-ERR Unrecognized command\r\n' 17:50:14.443318 < 21 bytes data, client => server 17:50:14.443332 'RETR verifiedserver\r\n' 17:50:14.443528 Received DATA (on stdin) 17:50:14.443541 > 26 bytes data, server => client 17:50:14.443551 '+OK Mail transfer starts\r\n' 17:50:14.443572 Received DATA (on stdin) 17:50:14.443582 > 18 bytes data, server => client 17:50:14.443592 'WE ROOLZ: 102884\r\n' 17:50:14.443605 Received DATA (on stdin) 17:50:14.443614 > 3 bytes data, server => client 17:50:14.443624 '.\r\n' 17:50:14.496214 < 6 bytes data, client => server 17:50:14.496262 'QUIT\r\n' 17:50:14.496529 Received DATA (on stdin) 17:50:14.496541 > 34 bytes data, server => client 17:50:14.496552 '+OK curl POP3 server signing off\r\n' 17:50:14.506193 ====> Client disconnect 17:50:14.506453 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 ==123852== ==123852== Process terminating with default action of signal 4 (SIGILL) ==123852== Illegal opcode at address 0x4014520 ==123852== at 0x4014520: getparameter (tool_getparam.c:2862) ==123852== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123852== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123852== by 0x4003728: main (tool_main.c:186) === End of file valgrind874 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 38795 (log/9/server/pop3_server.port) RUN: POP3 server is PID 123005 port 38795 * pid pop3 => 123005 123005 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:38795 -u user:secret -X 'TOP 862 0' > log/9/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/4/valgrind865 ../src/curl -q --output log/4/curl865.out --include --trace-ascii log/4/trace865 --trace-time pop3://127.0.0.1:44677/865 -u user:secret > log/4/stdout865 2> log/4/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/1/valgrind868 ../src/curl -q --output log/1/curl868.out --include --trace-ascii log/1/trace868 --trace-time pop3://127.0.0.1:41491/868 -u testuser:testpass > log/1/stdout868 2> log/1/stderr868 CMD (33792): ../libtool --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/valgrind870 ../src/curl -q --output log/5/curl870.out --include --trace-ascii log/5/trace870 --trace-time pop3://127.0.0.1:41909/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout870 2> log/5/stderr870 out862 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:38795 -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 17:50:13.451577 POP3 server listens on port IPv4/38795 17:50:13.451684 logged pid 123005 in log/9/server/pop3_server.pid 17:50:13.451718 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.297297 Running IPv4 version 17:50:13.297393 Listening on port 38795 17:50:13.297434 Wrote pid 123044 to log/9/server/pop3_sockfilt.pid 17:50:13.297465 Wrote port 38795 to log/9/server/pop3_server.port 17:50:13.297649 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 ==123446== ==123446== Process terminating with default action of signal 4 (SIGILL) ==123446== Illegal opcode at address 0x4014520 ==123446== at 0x4014520: getparameter (tool_getparam.c:2862) ==123446== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123446== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123446== by 0x4003728: main (tool_main.c:186) === End of file valgrind862 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 44677 (log/4/server/pop3_server.port) RUN: POP3 server is PID 123085 port 44677 * pid pop3 => 123085 123085 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/4/valgrind865 ../src/curl -q --output log/4/curl865.out --include --trace-ascii log/4/trace865 --trace-time pop3://127.0.0.1:44677/865 -u user:secret > log/4/stdout865 2> log/4/stderr865 865: 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 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/4/valgrind865 ../src/curl -q --output log/4/curl865.out --include --trace-ascii log/4/trace865 --trace-time pop3://127.0.0.1:44677/865 -u user:secret > log/4/stdout865 2> log/4/stderr865 === End of file commands.log === Start of file pop3_server.log 17:50:13.583523 POP3 server listens on port IPv4/44677 17:50:13.583679 logged pid 123085 in log/4/server/pop3_server.pid 17:50:13.583717 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.424036 Running IPv4 version 17:50:13.424125 Listening on port 44677 17:50:13.424180 Wrote pid 123118 to log/4/server/pop3_sockfilt.pid 17:50:13.424209 Wrote port 44677 to log/4/server/pop3_server.port 17:50:13.426836 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 ==123622== ==123622== Process terminating with default action of signal 4 (SIGILL) ==123622== Illegal opcode at address 0x4014520 ==123622== at 0x4014520: getparameter (tool_getparam.c:2862) ==123622== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123622== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123622== by 0x4003728: main (tool_main.c:186) === End of file valgrind865 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 41491 (log/1/server/pop3_server.port) RUN: POP3 server is PID 123139 port 41491 * pid pop3 => 123139 123139 test 0868...[POP3 NTLM 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/valgrind868 ../src/curl -q --output log/1/curl868.out --include --trace-ascii log/1/trace868 --trace-time pop3://127.0.0.1:41491/868 -u testuser:testpass > log/1/stdout868 2> log/1/stderr868 868: 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 868 === Start of file commands.log ../libtool --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/valgrind868 ../src/curl -q --output log/1/curl868.out --include --trace-ascii log/1/trace868 --trace-time pop3://127.0.0.1:41491/868 -u testuser:testpass > log/1/stdout868 2> log/1/stderr868 === End of file commands.log === Start of file pop3_server.log 17:50:13.710197 POP3 server listens on port IPv4/41491 17:50:13.710354 logged pid 123139 in log/1/server/pop3_server.pid 17:50:13.710398 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.550411 Running IPv4 version 17:50:13.550533 Listening on port 41491 17:50:13.550584 Wrote pid 123150 to log/1/server/pop3_sockfilt.pid 17:50:13.550618 Wrote port 41491 to log/1/server/pop3_server.port 17:50:13.556187 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= +OK Login successful Testnum 868 === End of file server.cmd === Start of file valgrind868 ==123858== ==123858== Process terminating with default action of signal 4 (SIGILL) ==123858== Illegal opcode at address 0x4014520 ==123858== at 0x4014520: getparameter (tool_getparam.c:2862) ==123858== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123858== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123858== by 0x4003728: main (tool_main.c:186) === End of file valgrind868 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 41909 (log/5/server/pop3_server.port) RUN: POP3 server is PID 123160 port 41909 * pid pop3 => 123160 123160 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/5/valgrind870 ../src/curl -q --output log/5/curl870.out --include --trace-ascii log/5/trace870 --trace-time pop3://127.0.0.1:41909/870 -u user --oauth2-bearer mF_9.B5fCMD (33792): ../libtool --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/valgrind875 ../src/curl -q --output log/2/curl875.out --include --trace-ascii log/2/trace875 --trace-time pop3://127.0.0.1:35299/%0d%0a/875 > log/2/stdout875 2> log/2/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/7/valgrind872 ../src/curl -q --output log/7/curl872.out --include --trace-ascii log/7/trace872 --trace-time pop3://127.0.0.1:43881/872 -u user:secret --sasl-ir > log/7/stdout872 2> log/7/stderr872 -4.1JqM > log/5/stdout870 2> log/5/stderr870 870: 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 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/5/valgrind870 ../src/curl -q --output log/5/curl870.out --include --trace-ascii log/5/trace870 --trace-time pop3://127.0.0.1:41909/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout870 2> log/5/stderr870 === End of file commands.log === Start of file pop3_server.log 17:50:13.808347 POP3 server listens on port IPv4/41909 17:50:13.808445 logged pid 123160 in log/5/server/pop3_server.pid 17:50:13.808475 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.654083 Running IPv4 version 17:50:13.654186 Listening on port 41909 17:50:13.654229 Wrote pid 123165 to log/5/server/pop3_sockfilt.pid 17:50:13.654259 Wrote port 41909 to log/5/server/pop3_server.port 17:50:13.654428 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 ==123942== ==123942== Process terminating with default action of signal 4 (SIGILL) ==123942== Illegal opcode at address 0x4014520 ==123942== at 0x4014520: getparameter (tool_getparam.c:2862) ==123942== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123942== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123942== by 0x4003728: main (tool_main.c:186) === End of file valgrind870 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/2/valgrind875 ../src/curl -q --output log/2/curl875.out --include --trace-ascii log/2/trace875 --trace-time pop3://127.0.0.1:35299/%0d%0a/875 > log/2/stdout875 2> log/2/stderr875 curl returned 132, when expecting 3 875: exit FAILED == Contents of files in the log/2/ 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/2/valgrind875 ../src/curl -q --output log/2/curl875.out --include --trace-ascii log/2/trace875 --trace-time pop3://127.0.0.1:35299/%0d%0a/875 > log/2/stdout875 2> log/2/stderr875 === End of file commands.log === Start of file pop3_server.log 17:50:14.836853 ====> Client connect 17:50:14.837091 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:14.844854 < "CAPA" 17:50:14.844924 > "-ERR Unrecognized command[CR][LF]" 17:50:14.853749 < "RETR verifiedserver" 17:50:14.853804 return proof we are we 17:50:14.853837 > "+OK Mail transfer starts[CR][LF]" 17:50:14.853856 > "WE ROOLZ: 122815[CR][LF]" 17:50:14.853878 > ".[CR][LF]" 17:50:14.900382 < "QUIT" 17:50:14.900459 > "+OK curl POP3 server signing off[CR][LF]" 17:50:14.901777 MAIN sockfilt said DISC 17:50:14.901812 ====> Client disconnected 17:50:14.901904 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:14.682862 ====> Client connect 17:50:14.683294 Received DATA (on stdin) 17:50:14.683310 > 164 bytes data, server => client 17:50:14.683321 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:14.683332 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:14.683341 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:14.686268 < 6 bytes data, client => server 17:50:14.686292 'CAPA\r\n' 17:50:14.696192 Received DATA (on stdin) 17:50:14.696231 > 27 bytes data, server => client 17:50:14.696243 '-ERR Unrecognized command\r\n' 17:50:14.699699 < 21 bytes data, client => server 17:50:14.699738 'RETR verifiedserver\r\n' 17:50:14.700061 Received DATA (on stdin) 17:50:14.700073 > 26 bytes data, server => client 17:50:14.700082 '+OK Mail transfer starts\r\n' 17:50:14.700102 Received DATA (on stdin) 17:50:14.700111 > 18 bytes data, server => client 17:50:14.700121 'WE ROOLZ: 122815\r\n' 17:50:14.700132 Received DATA (on stdin) 17:50:14.700141 > 3 bytes data, server => client 17:50:14.700150 '.\r\n' 17:50:14.746338 < 6 bytes data, client => server 17:50:14.746377 'QUIT\r\n' 17:50:14.746650 Received DATA (on stdin) 17:50:14.746665 > 34 bytes data, server => client 17:50:14.746677 '+OK curl POP3 server signing off\r\n' 17:50:14.747899 ====> Client disconnect 17:50:14.748102 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 ==124092== ==124092== Process terminating with default action of signal 4 (SIGILL) ==124092== Illegal opcode at address 0x4014520 ==124092== at 0x4014520: getparameter (tool_getparam.c:2862) ==124092== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124092== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124092== by 0x4003728: main (tool_main.c:186) === End of file valgrind875 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 43881 (log/7/server/pop3_server.port) RUN: POP3 server is PID 123182 port 43881 * pid pop3 => 123182 123182 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/7/valgrind872 ../src/curl -q --output log/7/curl872.out --include --trace-ascii log/7/trace872 --trace-time pop3://127.0.0.1:43881/872 -u user:secret --sasl-ir > log/7/stdout872 2> log/7/stderr872 872: 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 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/7/valgrind872 ../src/curl -q --output log/7/curl872.out --include --trace-ascii log/7/trace872 --trace-time pop3://127.0.0.1:43881/872 -u user:secret --sasl-ir > log/7/stdout872 2> log/7/stderr872 === End of file commands.log === Start of file pop3_server.log 17:50:13.923530 POP3 server listens on port IPv4/43881 17:50:13.923680 logged pid 123182 in log/7/server/pop3_server.pid 17:50:13.923717 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.760888 Running IPv4 version 17:50:13.761020 Listening on port 43881 17:50:13.761081 Wrote pid 123190 to log/7/server/pop3_sockfilt.pid 17:50:13.761118 Wrote port 43881 to log/7/server/pop3_server.port 17:50:13.766191 Received PING (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 ==124087== ==124087== Process terminating with default action of signal 4 (SIGILL) ==124087== Illegal opcode at address 0x4014520 ==124087== at 0x4014520: getparameter (tool_getparam.c:2862) ==124087== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124087== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124087== by 0x4003728: main (tool_main.c:18CMD (33792): ../libtool --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/valgrind873 ../src/curl -q --output log/17/curl873.out --include --trace-ascii log/17/trace873 --trace-time pop3://127.0.0.1:40309/873 -u testuser:testpass --sasl-ir > log/17/stdout873 2> log/17/stderr873 CMD (33792): ../libtool --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/valgrind876 ../src/curl -q --output log/16/curl876.out --include --trace-ascii log/16/trace876 --trace-time pop3://127.0.0.1:42355/876 -u user:secret > log/16/stdout876 2> log/16/stderr876 CMD (33792): ../libtool --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/valgrind871 ../src/curl -q --output log/3/curl871.out --include --trace-ascii log/3/trace871 --trace-time pop3://127.0.0.1:34047/871 -u user:secret --sasl-ir > log/3/stdout871 2> log/3/stderr871 6) === End of file valgrind872 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 40309 (log/17/server/pop3_server.port) RUN: POP3 server is PID 123194 port 40309 * pid pop3 => 123194 123194 test 0873...[POP3 NTLM 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/valgrind873 ../src/curl -q --output log/17/curl873.out --include --trace-ascii log/17/trace873 --trace-time pop3://127.0.0.1:40309/873 -u testuser:testpass --sasl-ir > log/17/stdout873 2> log/17/stderr873 873: 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 873 === Start of file commands.log ../libtool --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/valgrind873 ../src/curl -q --output log/17/curl873.out --include --trace-ascii log/17/trace873 --trace-time pop3://127.0.0.1:40309/873 -u testuser:testpass --sasl-ir > log/17/stdout873 2> log/17/stderr873 === End of file commands.log === Start of file pop3_server.log 17:50:13.985102 POP3 server listens on port IPv4/40309 17:50:13.985206 logged pid 123194 in log/17/server/pop3_server.pid 17:50:13.985239 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.830807 Running IPv4 version 17:50:13.830914 Listening on port 40309 17:50:13.830958 Wrote pid 123205 to log/17/server/pop3_sockfilt.pid 17:50:13.830989 Wrote port 40309 to log/17/server/pop3_server.port 17:50:13.831176 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= +OK Login successful Testnum 873 === End of file server.cmd === Start of file valgrind873 ==124146== ==124146== Process terminating with default action of signal 4 (SIGILL) ==124146== Illegal opcode at address 0x4014520 ==124146== at 0x4014520: getparameter (tool_getparam.c:2862) ==124146== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124146== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124146== by 0x4003728: main (tool_main.c:186) === End of file valgrind873 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/16/valgrind876 ../src/curl -q --output log/16/curl876.out --include --trace-ascii log/16/trace876 --trace-time pop3://127.0.0.1:42355/876 -u user:secret > log/16/stdout876 2> log/16/stderr876 876: 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 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/16/valgrind876 ../src/curl -q --output log/16/curl876.out --include --trace-ascii log/16/trace876 --trace-time pop3://127.0.0.1:42355/876 -u user:secret > log/16/stdout876 2> log/16/stderr876 === End of file commands.log === Start of file pop3_server.log 17:50:15.016468 ====> Client connect 17:50:15.016684 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:15.016995 < "CAPA" 17:50:15.017041 > "-ERR Unrecognized command[CR][LF]" 17:50:15.017215 < "RETR verifiedserver" 17:50:15.017249 return proof we are we 17:50:15.017270 > "+OK Mail transfer starts[CR][LF]" 17:50:15.017292 > "WE ROOLZ: 122794[CR][LF]" 17:50:15.017310 > ".[CR][LF]" 17:50:15.073632 < "QUIT" 17:50:15.073698 > "+OK curl POP3 server signing off[CR][LF]" 17:50:15.075014 MAIN sockfilt said DISC 17:50:15.075048 ====> Client disconnected 17:50:15.075142 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:14.862506 ====> Client connect 17:50:14.862881 Received DATA (on stdin) 17:50:14.862896 > 164 bytes data, server => client 17:50:14.862908 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:14.862919 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:14.862929 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:14.863012 < 6 bytes data, client => server 17:50:14.863024 'CAPA\r\n' 17:50:14.863227 Received DATA (on stdin) 17:50:14.863239 > 27 bytes data, server => client 17:50:14.863249 '-ERR Unrecognized command\r\n' 17:50:14.863305 < 21 bytes data, client => server 17:50:14.863316 'RETR verifiedserver\r\n' 17:50:14.863491 Received DATA (on stdin) 17:50:14.863502 > 26 bytes data, server => client 17:50:14.863513 '+OK Mail transfer starts\r\n' 17:50:14.863533 Received DATA (on stdin) 17:50:14.863542 > 18 bytes data, server => client 17:50:14.863552 'WE ROOLZ: 122794\r\n' 17:50:14.863565 Received DATA (on stdin) 17:50:14.863574 > 3 bytes data, server => client 17:50:14.863584 '.\r\n' 17:50:14.916200 < 6 bytes data, client => server 17:50:14.916239 'QUIT\r\n' 17:50:14.919888 Received DATA (on stdin) 17:50:14.919905 > 34 bytes data, server => client 17:50:14.919916 '+OK curl POP3 server signing off\r\n' 17:50:14.921132 ====> Client disconnect 17:50:14.921324 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 ==124268== ==124268== Process terminating with default action of signal 4 (SIGILL) ==124268== Illegal opcode at address 0x4014520 ==124268== at 0x4014520: getparameter (tool_getparam.c:2862) ==124268== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124268== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124268== by 0x4003728: main (tool_main.c:186) === End of file valgrind876 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 34047 (log/3/server/pop3_server.port) RUN: POP3 server is PID 123162 port 34047 * pid pop3 => 123162 123162 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/3/valgrind871 ../src/curl -q --output log/3/curl871.out --include --trace-ascii log/3/trace871 --trace-time pop3://127.0.0.1:34047/871 -u user:secret --sasl-ir > log/3/stdout871 2> log/3/stderr871 871: 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 871 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/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/valgrind877 ../src/curl -q --output log/22/curl877.out --include --trace-ascii log/22/trace877 --trace-time pop3://127.0.0.1:35229/877 -u testuser:testpass > log/22/stdout877 2> log/22/stderr877 CMD (33792): ../libtool --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/valgrind883 ../src/curl -q --output log/10/curl883.out --include --trace-ascii log/10/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:33087/883' > log/10/stdout883 2> log/10/stderr883 tdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind871 ../src/curl -q --output log/3/curl871.out --include --trace-ascii log/3/trace871 --trace-time pop3://127.0.0.1:34047/871 -u user:secret --sasl-ir > log/3/stdout871 2> log/3/stderr871 === End of file commands.log === Start of file pop3_server.log 17:50:13.825157 POP3 server listens on port IPv4/34047 17:50:13.825293 logged pid 123162 in log/3/server/pop3_server.pid 17:50:13.825327 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:13.670734 Running IPv4 version 17:50:13.670830 Listening on port 34047 17:50:13.670884 Wrote pid 123168 to log/3/server/pop3_sockfilt.pid 17:50:13.670922 Wrote port 34047 to log/3/server/pop3_server.port 17:50:13.671224 Received PING (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 ==123952== ==123952== Process terminating with default action of signal 4 (SIGILL) ==123952== Illegal opcode at address 0x4014520 ==123952== at 0x4014520: getparameter (tool_getparam.c:2862) ==123952== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==123952== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==123952== by 0x4003728: main (tool_main.c:186) === End of file valgrind871 test 0877...[POP3 NTLM 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/valgrind877 ../src/curl -q --output log/22/curl877.out --include --trace-ascii log/22/trace877 --trace-time pop3://127.0.0.1:35229/877 -u testuser:testpass > log/22/stdout877 2> log/22/stderr877 877: 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 877 === Start of file commands.log ../libtool --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/valgrind877 ../src/curl -q --output log/22/curl877.out --include --trace-ascii log/22/trace877 --trace-time pop3://127.0.0.1:35229/877 -u testuser:testpass > log/22/stdout877 2> log/22/stderr877 === End of file commands.log === Start of file pop3_server.log 17:50:15.085991 ====> Client connect 17:50:15.086186 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:15.090354 < "CAPA" 17:50:15.090424 > "-ERR Unrecognized command[CR][LF]" 17:50:15.090622 < "RETR verifiedserver" 17:50:15.090656 return proof we are we 17:50:15.090682 > "+OK Mail transfer starts[CR][LF]" 17:50:15.090707 > "WE ROOLZ: 122824[CR][LF]" 17:50:15.090729 > ".[CR][LF]" 17:50:15.137681 < "QUIT" 17:50:15.137742 > "+OK curl POP3 server signing off[CR][LF]" 17:50:15.140149 MAIN sockfilt said DISC 17:50:15.140202 ====> Client disconnected 17:50:15.140303 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:14.932038 ====> Client connect 17:50:14.932383 Received DATA (on stdin) 17:50:14.932399 > 164 bytes data, server => client 17:50:14.932411 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:14.932422 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:14.932433 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:14.936267 < 6 bytes data, client => server 17:50:14.936303 'CAPA\r\n' 17:50:14.936616 Received DATA (on stdin) 17:50:14.936629 > 27 bytes data, server => client 17:50:14.936641 '-ERR Unrecognized command\r\n' 17:50:14.936702 < 21 bytes data, client => server 17:50:14.936715 'RETR verifiedserver\r\n' 17:50:14.936913 Received DATA (on stdin) 17:50:14.936926 > 26 bytes data, server => client 17:50:14.936936 '+OK Mail transfer starts\r\n' 17:50:14.936960 Received DATA (on stdin) 17:50:14.936970 > 18 bytes data, server => client 17:50:14.936981 'WE ROOLZ: 122824\r\n' 17:50:14.936993 Received DATA (on stdin) 17:50:14.937003 > 3 bytes data, server => client 17:50:14.937013 '.\r\n' 17:50:14.983291 < 6 bytes data, client => server 17:50:14.983326 'QUIT\r\n' 17:50:14.983928 Received DATA (on stdin) 17:50:14.983941 > 34 bytes data, server => client 17:50:14.983952 '+OK curl POP3 server signing off\r\n' 17:50:14.984925 ====> Client disconnect 17:50:14.986491 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * -ERR AUTH exchange cancelled by client Testnum 877 === End of file server.cmd === Start of file valgrind877 ==124327== ==124327== Process terminating with default action of signal 4 (SIGILL) ==124327== Illegal opcode at address 0x4014520 ==124327== at 0x4014520: getparameter (tool_getparam.c:2862) ==124327== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124327== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124327== by 0x4003728: main (tool_main.c:186) === End of file valgrind877 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/10/valgrind883 ../src/curl -q --output log/10/curl883.out --include --trace-ascii log/10/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:33087/883' > log/10/stdout883 2> log/10/stderr883 883: 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 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/10/valgrind883 ../src/curl -q --output log/10/curl883.out --include --trace-ascii log/10/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:33087/883' > log/10/stdout883 2> log/10/stderr883 === End of file commands.log === Start of file pop3_server.log 17:50:15.846707 ====> Client connect 17:50:15.846936 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:15.850424 < "CAPA" 17:50:15.850488 > "-ERR Unrecognized command[CR][LF]" 17:50:15.850651 < "RETR verifiedserver" 17:50:15.850680 return proof we are we 17:50:15.850698 > "+OK Mail transfer starts[CR][LF]" 17:50:15.850718 > "WE ROOLZ: 122857[CR][LF]" 17:50:15.850735 > ".[CR][LF]" 17:50:15.903615 < "QUIT" 17:50:15.903694 > "+OK curl POP3 server signing off[CR][LF]" 17:50:15.905136 MAIN sockfilt said DISC 17:50:15.905179 ====> Client disconnected 17:50:15.905284 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:15.682862 ====> Client connect 17:50:15.696180 Received DATA (on stdin) 17:50:15.696223 > 164 bytes data, server => client 17:50:15.696237 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:15.696247 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:15.696256 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:15.696386 < 6 bytes data, client => server 17:50:15.696396 'CAPA\r\n' 17:50:15.696674 Received DATA (on stdin) 17:50:15.696685 > 27 bytes data, server => client 17:50:15.696695 '-ERR Unrecognized command\r\n' 17:50:15.696747 < 21 bytes data, client => server 17:50:15.696757 'RETR verifiedserver\r\n' 17:50:15.696915 Received DATA (on stdin) 17:50:15.696925 > 26 bytes data, server => client 17:50:15.696934 '+OK Mail transfer starts\r\n' 17:50:15.696952 Received DATA (on stdin) 17:50:15.696961 > 18 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/20/valgrind879 ../src/curl -q --output log/20/curl879.out --include --trace-ascii log/20/trace879 --trace-time pop3://127.0.0.1:45369/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/23/valgrind884 ../src/curl -q --output log/23/curl884.out --include --trace-ascii log/23/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:41163/884' > log/23/stdout884 2> log/23/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/24/valgrind885 ../src/curl -q --output log/24/curl885.out --include --trace-ascii log/24/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:38159/885' --sasl-ir > log/24/stdout885 2> log/24/stderr885 17:50:15.696970 'WE ROOLZ: 122857\r\n' 17:50:15.696982 Received DATA (on stdin) 17:50:15.696990 > 3 bytes data, server => client 17:50:15.696998 '.\r\n' 17:50:15.749568 < 6 bytes data, client => server 17:50:15.749615 'QUIT\r\n' 17:50:15.749886 Received DATA (on stdin) 17:50:15.749898 > 34 bytes data, server => client 17:50:15.749907 '+OK curl POP3 server signing off\r\n' 17:50:15.751237 ====> Client disconnect 17:50:15.751476 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 ==124536== ==124536== Process terminating with default action of signal 4 (SIGILL) ==124536== Illegal opcode at address 0x4014520 ==124536== at 0x4014520: getparameter (tool_getparam.c:2862) ==124536== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124536== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124536== by 0x4003728: main (tool_main.c:186) === End of file valgrind883 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/23/valgrind884 ../src/curl -q --output log/23/curl884.out --include --trace-ascii log/23/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:41163/884' > log/23/stdout884 2> log/23/stderr884 884: 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 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/23/valgrind884 ../src/curl -q --output log/23/curl884.out --include --trace-ascii log/23/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:41163/884' > log/23/stdout884 2> log/23/stderr884 === End of file commands.log === Start of file pop3_server.log 17:50:15.963317 ====> Client connect 17:50:15.963584 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:15.967010 < "CAPA" 17:50:15.967077 > "-ERR Unrecognized command[CR][LF]" 17:50:15.967789 < "RETR verifiedserver" 17:50:15.967822 return proof we are we 17:50:15.967847 > "+OK Mail transfer starts[CR][LF]" 17:50:15.967867 > "WE ROOLZ: 122873[CR][LF]" 17:50:15.967888 > ".[CR][LF]" 17:50:16.010514 < "QUIT" 17:50:16.010587 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.011867 MAIN sockfilt said DISC 17:50:16.011903 ====> Client disconnected 17:50:16.012006 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.806197 ====> Client connect 17:50:16.809795 Received DATA (on stdin) 17:50:16.809821 > 164 bytes data, server => client 17:50:16.809834 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.809845 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.809855 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.812949 < 6 bytes data, client => server 17:50:16.812984 'CAPA\r\n' 17:50:16.813267 Received DATA (on stdin) 17:50:16.813280 > 27 bytes data, server => client 17:50:16.813291 '-ERR Unrecognized command\r\n' 17:50:16.813349 < 21 bytes data, client => server 17:50:16.813361 'RETR verifiedserver\r\n' 17:50:16.814069 Received DATA (on stdin) 17:50:16.814081 > 26 bytes data, server => client 17:50:16.814091 '+OK Mail transfer starts\r\n' 17:50:16.814113 Received DATA (on stdin) 17:50:16.814122 > 18 bytes data, server => client 17:50:16.814132 'WE ROOLZ: 122873\r\n' 17:50:16.814144 Received DATA (on stdin) 17:50:16.814153 > 3 bytes data, server => client 17:50:16.814163 '.\r\n' 17:50:16.856435 < 6 bytes data, client => server 17:50:16.856482 'QUIT\r\n' 17:50:16.856776 Received DATA (on stdin) 17:50:16.856789 > 34 bytes data, server => client 17:50:16.856801 '+OK curl POP3 server signing off\r\n' 17:50:16.857984 ====> Client disconnect 17:50:16.858197 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 ==124601== ==124601== Process terminating with default action of signal 4 (SIGILL) ==124601== Illegal opcode at address 0x4014520 ==124601== at 0x4014520: getparameter (tool_getparam.c:2862) ==124601== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124601== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124601== by 0x4003728: main (tool_main.c:186) === End of file valgrind884 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:45369/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:45369/879 -u user:secret > log/20/stdout879 2> log/20/stderr879 === End of file commands.log === Start of file pop3_server.log 17:50:15.356725 ====> Client connect 17:50:15.357058 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:15.360489 < "CAPA" 17:50:15.360558 > "-ERR Unrecognized command[CR][LF]" 17:50:15.360749 < "RETR verifiedserver" 17:50:15.360787 return proof we are we 17:50:15.360814 > "+OK Mail transfer starts[CR][LF]" 17:50:15.360839 > "WE ROOLZ: 122834[CR][LF]" 17:50:15.360860 > ".[CR][LF]" 17:50:15.410365 < "QUIT" 17:50:15.410428 > "+OK curl POP3 server signing off[CR][LF]" 17:50:15.420058 MAIN sockfilt said DISC 17:50:15.420177 ====> Client disconnected 17:50:15.420277 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:15.200978 ====> Client connect 17:50:15.206189 Received DATA (on stdin) 17:50:15.206237 > 164 bytes data, server => client 17:50:15.206260 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:15.206272 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:15.206283 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:15.206437 < 6 bytes data, client => server 17:50:15.206454 'CAPA\r\n' 17:50:15.206748 Received DATA (on stdin) 17:50:15.206761 > 27 bytes data, server => client 17:50:15.206772 '-ERR Unrecognized command\r\n' 17:50:15.206831 < 21 bytes data, client => server 17:50:15.206844 'RETR verifiedserver\r\n' 17:50:15.207044 Received DATA (on stdin) 17:50:15.207057 > 26 bytes data, server => client 17:50:15.207068 '+OK Mail transfer starts\r\n' 17:50:15.207092 Received DATA (on stdin) 17:50:15.207103 > 18 bytes data, server => client 17:50:15.207113 'WE ROOLZ: 122834\r\n' 17:50:15.207127 Received DATA (on stdin) 17:50:15.207137 > 3 bytes data, server => client 17:50:15.207147 '.\r\n' 17:50:15.256332 < 6 bytes data, client => server 17:50:15.256373 'QUIT\r\n' 17:50:15.256614 Received DATA (on stdin) 17:50:15.256626 > 34 bytes data, server => client 17:50:15.256636 '+OK curl POP3 server signing 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/8/valgrind880 ../src/curl -q --output log/8/curl880.out --include --trace-ascii log/8/trace880 --trace-time pop3://127.0.0.1:39465/880 -u user:secret > log/8/stdout880 2> log/8/stderr880 f\r\n' 17:50:15.262854 ====> Client disconnect 17:50:15.266481 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 ==124421== ==124421== Process terminating with default action of signal 4 (SIGILL) ==124421== Illegal opcode at address 0x4014520 ==124421== at 0x4014520: getparameter (tool_getparam.c:2862) ==124421== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124421== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124421== by 0x4003728: main (tool_main.c:186) === End of file valgrind879 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/24/valgrind885 ../src/curl -q --output log/24/curl885.out --include --trace-ascii log/24/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:38159/885' --sasl-ir > log/24/stdout885 2> log/24/stderr885 885: 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 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/24/valgrind885 ../src/curl -q --output log/24/curl885.out --include --trace-ascii log/24/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:38159/885' --sasl-ir > log/24/stdout885 2> log/24/stderr885 === End of file commands.log === Start of file pop3_server.log 17:50:16.196716 ====> Client connect 17:50:16.196976 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:16.203599 < "CAPA" 17:50:16.203679 > "-ERR Unrecognized command[CR][LF]" 17:50:16.203926 < "RETR verifiedserver" 17:50:16.203957 return proof we are we 17:50:16.203978 > "+OK Mail transfer starts[CR][LF]" 17:50:16.203999 > "WE ROOLZ: 122870[CR][LF]" 17:50:16.204018 > ".[CR][LF]" 17:50:16.251499 < "QUIT" 17:50:16.251561 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.257938 MAIN sockfilt said DISC 17:50:16.258004 ====> Client disconnected 17:50:16.258094 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:17.036183 ====> Client connect 17:50:17.046185 Received DATA (on stdin) 17:50:17.046237 > 164 bytes data, server => client 17:50:17.046251 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:17.046261 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:17.046272 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:17.047549 < 6 bytes data, client => server 17:50:17.047577 'CAPA\r\n' 17:50:17.049874 Received DATA (on stdin) 17:50:17.049899 > 27 bytes data, server => client 17:50:17.049910 '-ERR Unrecognized command\r\n' 17:50:17.050016 < 21 bytes data, client => server 17:50:17.050027 'RETR verifiedserver\r\n' 17:50:17.050198 Received DATA (on stdin) 17:50:17.050208 > 26 bytes data, server => client 17:50:17.050217 '+OK Mail transfer starts\r\n' 17:50:17.050236 Received DATA (on stdin) 17:50:17.050246 > 18 bytes data, server => client 17:50:17.050254 'WE ROOLZ: 122870\r\n' 17:50:17.050266 Received DATA (on stdin) 17:50:17.050275 > 3 bytes data, server => client 17:50:17.050283 '.\r\n' 17:50:17.097473 < 6 bytes data, client => server 17:50:17.097514 'QUIT\r\n' 17:50:17.097749 Received DATA (on stdin) 17:50:17.097762 > 34 bytes data, server => client 17:50:17.097773 '+OK curl POP3 server signing off\r\n' 17:50:17.104014 ====> Client disconnect 17:50:17.104289 Received ACKD (on stdin) === 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 ==124751== ==124751== Process terminating with default action of signal 4 (SIGILL) ==124751== Illegal opcode at address 0x4014520 ==124751== at 0x4014520: getparameter (tool_getparam.c:2862) ==124751== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124751== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124751== by 0x4003728: main (tool_main.c:186) === End of file valgrind885 test 0880...[POP3 NTLM 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/8/valgrind880 ../src/curl -q --output log/8/curl880.out --include --trace-ascii log/8/trace880 --trace-time pop3://127.0.0.1:39465/880 -u user:secret > log/8/stdout880 2> log/8/stderr880 880: 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 880 === Start of file commands.log ../libtool --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/valgrind880 ../src/curl -q --output log/8/curl880.out --include --trace-ascii log/8/trace880 --trace-time pop3://127.0.0.1:39465/880 -u user:secret > log/8/stdout880 2> log/8/stderr880 === End of file commands.log === Start of file pop3_server.log 17:50:15.826832 ====> Client connect 17:50:15.827046 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:15.843658 < "CAPA" 17:50:15.843733 > "-ERR Unrecognized command[CR][LF]" 17:50:15.843977 < "RETR verifiedserver" 17:50:15.844009 return proof we are we 17:50:15.844033 > "+OK Mail transfer starts[CR][LF]" 17:50:15.844058 > "WE ROOLZ: 122869[CR][LF]" 17:50:15.844077 > ".[CR][LF]" 17:50:15.893712 < "QUIT" 17:50:15.893784 > "+OK curl POP3 server signing off[CR][LF]" 17:50:15.895144 MAIN sockfilt said DISC 17:50:15.895185 ====> Client disconnected 17:50:15.895280 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.672858 ====> Client connect 17:50:16.673242 Received DATA (on stdin) 17:50:16.673256 > 164 bytes data, server => client 17:50:16.673268 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.673278 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.673288 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.689528 < 6 bytes data, client => server 17:50:16.689574 'CAPA\r\n' 17:50:16.689923 Received DATA (on stdin) 17:50:16.689940 > 27 bytes data, server => client 17:50:16.689951 '-ERR Unrecognized command\r\n' 17:50:16.690059 < 21 bytes data, client => server 17:50:16.690073 'RETR verifiedserver\r\n' 17:50:16.690260 Received DATA (on stdin) 17:50:16.690272 > 26 bytes data, server => client 17:50:16.690282 '+OK Mail transfer starts\r\n' 17:50:16.690303 Received DATA (on stdin) 17:50:16.690313 > 18 bytes data, server => client 17:50:16.690322 'WE ROOLZ: 122869\r\n' 17:50:16.690334 Received DATA (on stdin) 17:50:16.690344 > 3 bytes data, server => client 17:50:16.690353 '.\r\n' 17:50:16.739668 < 6 bytes data, client => server 17:50:16.739709 'QUIT\r\n' 17:50:16.739973 Received DATA (on stdin) 17:50:16.739986 > 34 bytes data, server => client 17:50:16.739996 '+OK curl POP3 server signing off\r\n' 17:50:16.741259 ====> Client disconnect 17:50:16.741469 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTH NTLM" + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * -ERR AUTHCMD (33792): ../libtool --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/valgrind891 ../src/curl -q --output log/18/curl891.out --include --trace-ascii log/18/trace891 --trace-time pop3://127.0.0.1:36915/891 -u user:secret > log/18/stdout891 2> log/18/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/14/valgrind886 ../src/curl -q --output log/14/curl886.out --include --trace-ascii log/14/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:37265/886' --sasl-ir > log/14/stdout886 2> log/14/stderr886 exchange cancelled by client REPLY "AUTH PLAIN" + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 880 === End of file server.cmd === Start of file valgrind880 ==124540== ==124540== Process terminating with default action of signal 4 (SIGILL) ==124540== Illegal opcode at address 0x4014520 ==124540== at 0x4014520: getparameter (tool_getparam.c:2862) ==124540== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124540== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124540== by 0x4003728: main (tool_main.c:186) === End of file valgrind880 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/18/valgrind891 ../src/curl -q --output log/18/curl891.out --include --trace-ascii log/18/trace891 --trace-time pop3://127.0.0.1:36915/891 -u user:secret > log/18/stdout891 2> log/18/stderr891 891: 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 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/18/valgrind891 ../src/curl -q --output log/18/curl891.out --include --trace-ascii log/18/trace891 --trace-time pop3://127.0.0.1:36915/891 -u user:secret > log/18/stdout891 2> log/18/stderr891 === End of file commands.log === Start of file pop3_server.log 17:50:16.676792 ====> Client connect 17:50:16.676994 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:16.680176 < "CAPA" 17:50:16.680231 > "-ERR Unrecognized command[CR][LF]" 17:50:16.683469 < "RETR verifiedserver" 17:50:16.683511 return proof we are we 17:50:16.683540 > "+OK Mail transfer starts[CR][LF]" 17:50:16.683564 > "WE ROOLZ: 123087[CR][LF]" 17:50:16.683582 > ".[CR][LF]" 17:50:16.733517 < "QUIT" 17:50:16.733575 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.734687 MAIN sockfilt said DISC 17:50:16.734732 ====> Client disconnected 17:50:16.734809 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.522851 ====> Client connect 17:50:16.523193 Received DATA (on stdin) 17:50:16.523209 > 164 bytes data, server => client 17:50:16.523221 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.523231 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.523241 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.526177 < 6 bytes data, client => server 17:50:16.526194 'CAPA\r\n' 17:50:16.526418 Received DATA (on stdin) 17:50:16.526431 > 27 bytes data, server => client 17:50:16.526441 '-ERR Unrecognized command\r\n' 17:50:16.529508 < 21 bytes data, client => server 17:50:16.529529 'RETR verifiedserver\r\n' 17:50:16.529765 Received DATA (on stdin) 17:50:16.529778 > 26 bytes data, server => client 17:50:16.529789 '+OK Mail transfer starts\r\n' 17:50:16.529813 Received DATA (on stdin) 17:50:16.529823 > 18 bytes data, server => client 17:50:16.529833 'WE ROOLZ: 123087\r\n' 17:50:16.529845 Received DATA (on stdin) 17:50:16.529855 > 3 bytes data, server => client 17:50:16.529864 '.\r\n' 17:50:16.579525 < 6 bytes data, client => server 17:50:16.579556 'QUIT\r\n' 17:50:16.579759 Received DATA (on stdin) 17:50:16.579771 > 34 bytes data, server => client 17:50:16.579781 '+OK curl POP3 server signing off\r\n' 17:50:16.580802 ====> Client disconnect 17:50:16.580996 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 ==125038== ==125038== Process terminating with default action of signal 4 (SIGILL) ==125038== Illegal opcode at address 0x4014520 ==125038== at 0x4014520: getparameter (tool_getparam.c:2862) ==125038== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125038== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125038== by 0x4003728: main (tool_main.c:186) === 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/14/valgrind886 ../src/curl -q --output log/14/curl886.out --include --trace-ascii log/14/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:37265/886' --sasl-ir > log/14/stdout886 2> log/14/stderr886 886: 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 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/14/valgrind886 ../src/curl -q --output log/14/curl886.out --include --trace-ascii log/14/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:37265/886' --sasl-ir > log/14/stdout886 2> log/14/stderr886 === End of file commands.log === Start of file pop3_server.log 17:50:16.189385 ====> Client connect 17:50:16.189598 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:16.189938 < "CAPA" 17:50:16.189989 > "-ERR Unrecognized command[CR][LF]" 17:50:16.190170 < "RETR verifiedserver" 17:50:16.190207 return proof we are we 17:50:16.190232 > "+OK Mail transfer starts[CR][LF]" 17:50:16.190255 > "WE ROOLZ: 122937[CR][LF]" 17:50:16.190275 > ".[CR][LF]" 17:50:16.237067 < "QUIT" 17:50:16.237134 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.238414 MAIN sockfilt said DISC 17:50:16.238452 ====> Client disconnected 17:50:16.238545 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.035426 ====> Client connect 17:50:16.035805 Received DATA (on stdin) 17:50:16.035823 > 164 bytes data, server => client 17:50:16.035835 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.035846 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.035856 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.035945 < 6 bytes data, client => server 17:50:16.035962 'CAPA\r\n' 17:50:16.036191 Received DATA (on stdin) 17:50:16.036203 > 27 bytes data, server => client 17:50:16.036212 '-ERR Unrecognized command\r\n' 17:50:16.036265 < 21 bytes data, client => server 17:50:16.036275 'RETR verifiedserver\r\n' 17:50:16.036461 Received DATA (on stdin) 17:50:16.036474 > 26 bytes data, server => client 17:50:16.036484 '+OK Mail transfer starts\r\n' 17:50:16.036505 Received DATA (on stdin) 17:50:16.036515 > 18 bytes data, server => client 17:50:16.036524 'WE ROOLZ: 122937\r\n' 17:50:16.036537 Received DATA (on stdin) 17:50:16.036546 > 3 bytes data, server => client 17:50:16.036555 '.\r\n' 17:50:16.083010 < 6 bytes data, client => server 17:50:16.083050 'QUIT\r\n' 17:50:16.083329 Received DATA (on stdin) 17:50:16.083343 > 34 bytes data, server => client 17:50:16.083354 '+OK curl POP3 server signing off\r\n' 17:50:16.084530 ====> Client disconnect 17:50:16.084743 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 ==124738== ==124738== Process terminating with default action of signal 4 (SIGILL) ==124738== Illegal opcode at address 0x4014520 ==124738== at 0x4014520: getparameter (tool_getparam.c:2862) ==124738== 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/valgrind895 ../src/curl -q --output log/9/curl895.out --include --trace-ascii log/9/trace895 --trace-time 'imap://127.0.0.1:42615/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/9/stdout895 2> log/9/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/6/valgrind887 ../src/curl -q --output log/6/curl887.out --include --trace-ascii log/6/trace887 --trace-time pop3://127.0.0.1:46355/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/6/stdout887 2> log/6/stderr887 3728: UnknownInlinedFun (tool_getparam.c:3045) ==124738== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124738== by 0x4003728: main (tool_main.c:186) === End of file valgrind886 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/9/valgrind895 ../src/curl -q --output log/9/curl895.out --include --trace-ascii log/9/trace895 --trace-time 'imap://127.0.0.1:42615/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/9/stdout895 2> log/9/stderr895 895: 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 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/9/valgrind895 ../src/curl -q --output log/9/curl895.out --include --trace-ascii log/9/trace895 --trace-time 'imap://127.0.0.1:42615/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/9/stdout895 2> log/9/stderr895 === End of file commands.log === Start of file imap_server.log 17:50:17.002697 ====> Client connect 17:50:17.002871 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:17.003157 < "A001 CAPABILITY" 17:50:17.003194 > "A001 BAD Command[CR][LF]" 17:50:17.003373 < "A002 LIST "verifiedserver" *" 17:50:17.003400 LIST_imap got "verifiedserver" * 17:50:17.003427 > "* LIST () "/" "WE ROOLZ: 120283"[CR][LF]" 17:50:17.003445 > "A002 OK LIST Completed[CR][LF]" 17:50:17.003458 return proof we are we 17:50:17.050370 < "A003 LOGOUT" 17:50:17.050436 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:17.050457 > "A003 OK LOGOUT completed[CR][LF]" 17:50:17.051677 MAIN sockfilt said DISC 17:50:17.051713 ====> Client disconnected 17:50:17.051802 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:16.848751 ====> Client connect 17:50:16.849067 Received DATA (on stdin) 17:50:16.849081 > 164 bytes data, server => client 17:50:16.849093 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.849103 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.849113 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:16.849192 < 17 bytes data, client => server 17:50:16.849204 'A001 CAPABILITY\r\n' 17:50:16.849376 Received DATA (on stdin) 17:50:16.849388 > 18 bytes data, server => client 17:50:16.849397 'A001 BAD Command\r\n' 17:50:16.849449 < 30 bytes data, client => server 17:50:16.849459 'A002 LIST "verifiedserver" *\r\n' 17:50:16.850262 Received DATA (on stdin) 17:50:16.850279 > 34 bytes data, server => client 17:50:16.850290 '* LIST () "/" "WE ROOLZ: 120283"\r\n' 17:50:16.850311 Received DATA (on stdin) 17:50:16.850320 > 24 bytes data, server => client 17:50:16.850330 'A002 OK LIST Completed\r\n' 17:50:16.896318 < 13 bytes data, client => server 17:50:16.896366 'A003 LOGOUT\r\n' 17:50:16.896641 Received DATA (on stdin) 17:50:16.896653 > 36 bytes data, server => client 17:50:16.896663 '* BYE curl IMAP server signing off\r\n' 17:50:16.896684 Received DATA (on stdin) 17:50:16.896693 > 26 bytes data, server => client 17:50:16.896703 'A003 OK LOGOUT completed\r\n' 17:50:16.897805 ====> Client disconnect 17:50:16.897984 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 ==125428== ==125428== Process terminating with default action of signal 4 (SIGILL) ==125428== Illegal opcode at address 0x4014520 ==125428== at 0x4014520: getparameter (tool_getparam.c:2862) ==125428== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125428== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125428== by 0x4003728: main (tool_main.c:186) === End of file valgrind895 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/6/valgrind887 ../src/curl -q --output log/6/curl887.out --include --trace-ascii log/6/trace887 --trace-time pop3://127.0.0.1:46355/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/6/stdout887 2> log/6/stderr887 887: 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 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/6/valgrind887 ../src/curl -q --output log/6/curl887.out --include --trace-ascii log/6/trace887 --trace-time pop3://127.0.0.1:46355/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/6/stdout887 2> log/6/stderr887 === End of file commands.log === Start of file pop3_server.log 17:50:16.533548 ====> Client connect 17:50:16.533728 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:16.534027 < "CAPA" 17:50:16.534105 > "-ERR Unrecognized command[CR][LF]" 17:50:16.534245 < "RETR verifiedserver" 17:50:16.534275 return proof we are we 17:50:16.534324 > "+OK Mail transfer starts[CR][LF]" 17:50:16.534347 > "WE ROOLZ: 123075[CR][LF]" 17:50:16.534364 > ".[CR][LF]" 17:50:16.580371 < "QUIT" 17:50:16.580436 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.581597 MAIN sockfilt said DISC 17:50:16.581633 ====> Client disconnected 17:50:16.581722 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.379530 ====> Client connect 17:50:16.379926 Received DATA (on stdin) 17:50:16.379939 > 164 bytes data, server => client 17:50:16.379950 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.379959 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.379968 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.380053 < 6 bytes data, client => server 17:50:16.380064 'CAPA\r\n' 17:50:16.380236 Received DATA (on stdin) 17:50:16.380247 > 27 bytes data, server => client 17:50:16.380287 '-ERR Unrecognized command\r\n' 17:50:16.380341 < 21 bytes data, client => server 17:50:16.380351 'RETR verifiedserver\r\n' 17:50:16.380460 Received DATA (on stdin) 17:50:16.380470 > 26 bytes data, server => client 17:50:16.380549 '+OK Mail transfer starts\r\n' 17:50:16.380568 Received DATA (on stdin) 17:50:16.380577 > 18 bytes data, server => client 17:50:16.380586 'WE ROOLZ: 123075\r\n' 17:50:16.380598 Received DATA (on stdin) 17:50:16.380607 > 3 bytes data, server => client 17:50:16.380615 '.\r\n' 17:50:16.426343 < 6 bytes data, client => server 17:50:16.426380 'QUIT\r\n' 17:50:16.426624 Received DATA (on stdin) 17:50:16.426637 > 34 bytes data, server => client 17:50:16.426648 '+OK curl POP3 server signing off\r\n' 17:50:16.427717 ====> Client disconnect 17:50:16.427908 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDYzNTUBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= +OK Login successful Testnum 887 === End of file server.cmd === Start of file valgrind887 ==124903== ==124903== Process terminating with default action of signal 4 (SIGILL) ==124903== Illegal opcode at address 0x4014520 ==124903== at 0x4014520: getparameter (tool_getparam.c:2862) ==124903== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124903== by 0x4003728: 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/19/valgrind894 ../src/curl -q --output log/19/curl894.out --include --trace-ascii log/19/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:41113/894 > log/19/stdout894 2> log/19/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/1/valgrind897 ../src/curl -q --output log/1/curl897.out --include --trace-ascii log/1/trace897 --trace-time 'imap://127.0.0.1:33991/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/1/head-897 > log/1/stdout897 2> log/1/stderr897 CMD (33792): ../libtool --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/valgrind898 ../src/curl -q --output log/5/curl898.out --include --trace-ascii log/5/trace898 --trace-time -x http://127.0.0.1:46875 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/5/stdout898 2> log/5/stderr898 (tool_operate.c:2244) ==124903== by 0x4003728: main (tool_main.c:186) === End of file valgrind887 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/19/valgrind894 ../src/curl -q --output log/19/curl894.out --include --trace-ascii log/19/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:41113/894 > log/19/stdout894 2> log/19/stderr894 curl returned 132, when expecting 3 894: exit FAILED == Contents of files in the log/19/ 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/19/valgrind894 ../src/curl -q --output log/19/curl894.out --include --trace-ascii log/19/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:41113/894 > log/19/stdout894 2> log/19/stderr894 === End of file commands.log === Start of file pop3_server.log 17:50:16.832088 ====> Client connect 17:50:16.832348 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:16.832630 < "CAPA" 17:50:16.832672 > "-ERR Unrecognized command[CR][LF]" 17:50:16.832837 < "RETR verifiedserver" 17:50:16.832863 return proof we are we 17:50:16.832885 > "+OK Mail transfer starts[CR][LF]" 17:50:16.832906 > "WE ROOLZ: 102884[CR][LF]" 17:50:16.832925 > ".[CR][LF]" 17:50:16.877806 < "QUIT" 17:50:16.877857 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.886742 MAIN sockfilt said DISC 17:50:16.886789 ====> Client disconnected 17:50:16.886855 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.678161 ====> Client connect 17:50:16.678541 Received DATA (on stdin) 17:50:16.678555 > 164 bytes data, server => client 17:50:16.678566 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.678576 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.678586 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.678676 < 6 bytes data, client => server 17:50:16.678688 'CAPA\r\n' 17:50:16.678856 Received DATA (on stdin) 17:50:16.678867 > 27 bytes data, server => client 17:50:16.678877 '-ERR Unrecognized command\r\n' 17:50:16.678929 < 21 bytes data, client => server 17:50:16.678940 'RETR verifiedserver\r\n' 17:50:16.679106 Received DATA (on stdin) 17:50:16.679117 > 26 bytes data, server => client 17:50:16.679127 '+OK Mail transfer starts\r\n' 17:50:16.679146 Received DATA (on stdin) 17:50:16.679156 > 18 bytes data, server => client 17:50:16.679166 'WE ROOLZ: 102884\r\n' 17:50:16.679178 Received DATA (on stdin) 17:50:16.679187 > 3 bytes data, server => client 17:50:16.679196 '.\r\n' 17:50:16.723818 < 6 bytes data, client => server 17:50:16.723845 'QUIT\r\n' 17:50:16.724043 Received DATA (on stdin) 17:50:16.724055 > 34 bytes data, server => client 17:50:16.724066 '+OK curl POP3 server signing off\r\n' 17:50:16.732849 ====> Client disconnect 17:50:16.733039 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 ==125197== ==125197== Process terminating with default action of signal 4 (SIGILL) ==125197== Illegal opcode at address 0x4014520 ==125197== at 0x4014520: getparameter (tool_getparam.c:2862) ==125197== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125197== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125197== by 0x4003728: main (tool_main.c:186) === End of file valgrind894 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/1/valgrind897 ../src/curl -q --output log/1/curl897.out --include --trace-ascii log/1/trace897 --trace-time 'imap://127.0.0.1:33991/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/1/head-897 > log/1/stdout897 2> log/1/stderr897 897: 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 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/1/valgrind897 ../src/curl -q --output log/1/curl897.out --include --trace-ascii log/1/trace897 --trace-time 'imap://127.0.0.1:33991/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/1/head-897 > log/1/stdout897 2> log/1/stderr897 === End of file commands.log === Start of file imap_server.log 17:50:17.014189 ====> Client connect 17:50:17.014395 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:17.017587 < "A001 CAPABILITY" 17:50:17.017649 > "A001 BAD Command[CR][LF]" 17:50:17.017845 < "A002 LIST "verifiedserver" *" 17:50:17.017876 LIST_imap got "verifiedserver" * 17:50:17.017908 > "* LIST () "/" "WE ROOLZ: 120089"[CR][LF]" 17:50:17.017929 > "A002 OK LIST Completed[CR][LF]" 17:50:17.017943 return proof we are we 17:50:17.063683 < "A003 LOGOUT" 17:50:17.063743 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:17.063770 > "A003 OK LOGOUT completed[CR][LF]" 17:50:17.065176 MAIN sockfilt said DISC 17:50:17.065220 ====> Client disconnected 17:50:17.065291 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:17.860114 ====> Client connect 17:50:17.860589 Received DATA (on stdin) 17:50:17.860622 > 164 bytes data, server => client 17:50:17.860633 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:17.860642 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:17.860651 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:17.863529 < 17 bytes data, client => server 17:50:17.863560 'A001 CAPABILITY\r\n' 17:50:17.863838 Received DATA (on stdin) 17:50:17.863852 > 18 bytes data, server => client 17:50:17.863862 'A001 BAD Command\r\n' 17:50:17.863925 < 30 bytes data, client => server 17:50:17.863939 'A002 LIST "verifiedserver" *\r\n' 17:50:17.864124 Received DATA (on stdin) 17:50:17.864136 > 34 bytes data, server => client 17:50:17.864145 '* LIST () "/" "WE ROOLZ: 120089"\r\n' 17:50:17.864165 Received DATA (on stdin) 17:50:17.864175 > 24 bytes data, server => client 17:50:17.864184 'A002 OK LIST Completed\r\n' 17:50:17.909653 < 13 bytes data, client => server 17:50:17.909703 'A003 LOGOUT\r\n' 17:50:17.909958 Received DATA (on stdin) 17:50:17.909975 > 36 bytes data, server => client 17:50:17.909985 '* BYE curl IMAP server signing off\r\n' 17:50:17.910011 Received DATA (on stdin) 17:50:17.910022 > 26 bytes data, server => client 17:50:17.910031 'A003 OK LOGOUT completed\r\n' 17:50:17.911286 ====> Client disconnect 17:50:17.911476 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 ==125429== ==125429== Process terminating with default action of signal 4 (SIGILL) ==125429== Illegal opcode at address 0x4014520 ==125429== at 0x4014520: getparameter (tool_getparam.c:2862) ==125429== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125429== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125429== by 0x4003728: main (tool_main.c:186) === End of file valgrind897 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 --suppressioCMD (33792): ../libtool --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/valgrind888 ../src/curl -q --output log/12/curl888.out --include --trace-ascii log/12/trace888 --trace-time pop3://127.0.0.1:43433/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/12/stdout888 2> log/12/stderr888 CMD (33792): ../libtool --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/valgrind890 ../src/curl -q --output log/13/curl890.out --include --trace-ascii log/13/trace890 --trace-time pop3://127.0.0.1:46487/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/13/stdout890 2> log/13/stderr890 ns=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind898 ../src/curl -q --output log/5/curl898.out --include --trace-ascii log/5/trace898 --trace-time -x http://127.0.0.1:46875 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/5/stdout898 2> log/5/stderr898 898: 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 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/5/valgrind898 ../src/curl -q --output log/5/curl898.out --include --trace-ascii log/5/trace898 --trace-time -x http://127.0.0.1:46875 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/5/stdout898 2> log/5/stderr898 === End of file commands.log === Start of file http_server.log 17:50:16.919724 ====> Client connect 17:50:16.919765 accept_connection 3 returned 4 17:50:16.919784 accept_connection 3 returned 0 17:50:16.919800 Read 93 bytes 17:50:16.919810 Process 93 bytes request 17:50:16.919826 Got request: GET /verifiedserver HTTP/1.1 17:50:16.919835 Are-we-friendly question received 17:50:16.919865 Wrote request (93 bytes) input to log/5/server.input 17:50:16.919884 Identifying ourselves as friends 17:50:16.919953 Response sent (56 bytes) and written to log/5/server.response 17:50:16.919965 special request received, no persistency 17:50:16.919974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 36696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind898 ==125468== ==125468== Process terminating with default action of signal 4 (SIGILL) ==125468== Illegal opcode at address 0x4014520 ==125468== at 0x4014520: getparameter (tool_getparam.c:2862) ==125468== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125468== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125468== by 0x4003728: main (tool_main.c:186) === End of file valgrind898 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/12/valgrind888 ../src/curl -q --output log/12/curl888.out --include --trace-ascii log/12/trace888 --trace-time pop3://127.0.0.1:43433/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/12/stdout888 2> log/12/stderr888 888: 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 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/12/valgrind888 ../src/curl -q --output log/12/curl888.out --include --trace-ascii log/12/trace888 --trace-time pop3://127.0.0.1:43433/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/12/stdout888 2> log/12/stderr888 === End of file commands.log === Start of file pop3_server.log 17:50:16.590840 ====> Client connect 17:50:16.591046 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:16.598329 < "CAPA" 17:50:16.598395 > "-ERR Unrecognized command[CR][LF]" 17:50:16.598629 < "RETR verifiedserver" 17:50:16.598668 return proof we are we 17:50:16.598709 > "+OK Mail transfer starts[CR][LF]" 17:50:16.598727 > "WE ROOLZ: 122950[CR][LF]" 17:50:16.598743 > ".[CR][LF]" 17:50:16.641020 < "QUIT" 17:50:16.641085 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.642448 MAIN sockfilt said DISC 17:50:16.642500 ====> Client disconnected 17:50:16.642598 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.436890 ====> Client connect 17:50:16.437248 Received DATA (on stdin) 17:50:16.437265 > 164 bytes data, server => client 17:50:16.437275 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.437284 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.437292 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.444579 < 6 bytes data, client => server 17:50:16.444597 'CAPA\r\n' 17:50:16.444610 Received DATA (on stdin) 17:50:16.444619 > 27 bytes data, server => client 17:50:16.444628 '-ERR Unrecognized command\r\n' 17:50:16.444696 < 21 bytes data, client => server 17:50:16.444707 'RETR verifiedserver\r\n' 17:50:16.444923 Received DATA (on stdin) 17:50:16.444935 > 26 bytes data, server => client 17:50:16.444944 '+OK Mail transfer starts\r\n' 17:50:16.444964 Received DATA (on stdin) 17:50:16.444972 > 18 bytes data, server => client 17:50:16.444981 'WE ROOLZ: 122950\r\n' 17:50:16.444991 Received DATA (on stdin) 17:50:16.445000 > 3 bytes data, server => client 17:50:16.445008 '.\r\n' 17:50:16.486993 < 6 bytes data, client => server 17:50:16.487029 'QUIT\r\n' 17:50:16.487274 Received DATA (on stdin) 17:50:16.487288 > 34 bytes data, server => client 17:50:16.487299 '+OK curl POP3 server signing off\r\n' 17:50:16.488551 ====> Client disconnect 17:50:16.488794 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 ==124939== ==124939== Process terminating with default action of signal 4 (SIGILL) ==124939== Illegal opcode at address 0x4014520 ==124939== at 0x4014520: getparameter (tool_getparam.c:2862) ==124939== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124939== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124939== by 0x4003728: main (tool_main.c:186) === End of file valgrind888 test 0890...[POP3 OAuth 2.0 (OAUTHBEARER) 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/13/valgrind890 ../src/curl -q --output log/13/curl890.out --include --trace-ascii log/13/trace890 --trace-time pop3://127.0.0.1:46487/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/13/stdout890 2> log/13/stderr890 890: 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 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/13/valgrind890 ../src/curl -q --output log/13/curl890.out --include --trace-ascii log/13/trace890 --trace-time pop3://127.0.0.1:46487/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/13/stdout890 2> log/13/stderr890 === End of file commands.log === Start of file pop3_server.log 17:50:16.656785 ====> Client connect 17:50:16.656965 > " _ _ ____ _[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/15/valgrind893 ../src/curl -q --output log/15/curl893.out --include --trace-ascii log/15/trace893 --trace-time pop3://127.0.0.1:34521/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/15/stdout893 2> log/15/stderr893 CMD (33792): ../libtool --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/valgrind892 ../src/curl -q --output log/11/curl892.out --include --trace-ascii log/11/trace892 --trace-time pop3://127.0.0.1:44715/892 -u user:secret --sasl-authzid shared-mailbox > log/11/stdout892 2> log/11/stderr892 / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:16.670242 < "CAPA" 17:50:16.670331 > "-ERR Unrecognized command[CR][LF]" 17:50:16.678236 < "RETR verifiedserver" 17:50:16.678283 return proof we are we 17:50:16.678315 > "+OK Mail transfer starts[CR][LF]" 17:50:16.678343 > "WE ROOLZ: 123004[CR][LF]" 17:50:16.678371 > ".[CR][LF]" 17:50:16.723674 < "QUIT" 17:50:16.723736 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.724864 MAIN sockfilt said DISC 17:50:16.724894 ====> Client disconnected 17:50:16.724976 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.502859 ====> Client connect 17:50:16.503162 Received DATA (on stdin) 17:50:16.503178 > 164 bytes data, server => client 17:50:16.503191 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.503201 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.503212 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.512878 < 6 bytes data, client => server 17:50:16.512918 'CAPA\r\n' 17:50:16.516534 Received DATA (on stdin) 17:50:16.516558 > 27 bytes data, server => client 17:50:16.516569 '-ERR Unrecognized command\r\n' 17:50:16.523965 < 21 bytes data, client => server 17:50:16.523991 'RETR verifiedserver\r\n' 17:50:16.524559 Received DATA (on stdin) 17:50:16.524574 > 26 bytes data, server => client 17:50:16.524585 '+OK Mail transfer starts\r\n' 17:50:16.524616 Received DATA (on stdin) 17:50:16.524628 > 18 bytes data, server => client 17:50:16.524639 'WE ROOLZ: 123004\r\n' 17:50:16.524652 Received DATA (on stdin) 17:50:16.524662 > 3 bytes data, server => client 17:50:16.524672 '.\r\n' 17:50:16.569656 < 6 bytes data, client => server 17:50:16.569697 'QUIT\r\n' 17:50:16.569919 Received DATA (on stdin) 17:50:16.569930 > 34 bytes data, server => client 17:50:16.569940 '+OK curl POP3 server signing off\r\n' 17:50:16.570991 ====> Client disconnect 17:50:16.571157 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 ==125001== ==125001== Process terminating with default action of signal 4 (SIGILL) ==125001== Illegal opcode at address 0x4014520 ==125001== at 0x4014520: getparameter (tool_getparam.c:2862) ==125001== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125001== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125001== by 0x4003728: main (tool_main.c:186) === End of file valgrind890 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/15/valgrind893 ../src/curl -q --output log/15/curl893.out --include --trace-ascii log/15/trace893 --trace-time pop3://127.0.0.1:34521/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/15/stdout893 2> log/15/stderr893 893: 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 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/15/valgrind893 ../src/curl -q --output log/15/curl893.out --include --trace-ascii log/15/trace893 --trace-time pop3://127.0.0.1:34521/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/15/stdout893 2> log/15/stderr893 === End of file commands.log === Start of file pop3_server.log 17:50:16.823386 ====> Client connect 17:50:16.823626 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:16.826849 < "CAPA" 17:50:16.826918 > "-ERR Unrecognized command[CR][LF]" 17:50:16.827153 < "RETR verifiedserver" 17:50:16.827194 return proof we are we 17:50:16.827222 > "+OK Mail transfer starts[CR][LF]" 17:50:16.827245 > "WE ROOLZ: 122944[CR][LF]" 17:50:16.827262 > ".[CR][LF]" 17:50:16.875533 < "QUIT" 17:50:16.875596 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.884745 MAIN sockfilt said DISC 17:50:16.884806 ====> Client disconnected 17:50:16.884896 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.666458 ====> Client connect 17:50:16.671307 Received DATA (on stdin) 17:50:16.671340 > 164 bytes data, server => client 17:50:16.671353 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.671363 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.671373 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.671505 < 6 bytes data, client => server 17:50:16.671519 'CAPA\r\n' 17:50:16.673107 Received DATA (on stdin) 17:50:16.673120 > 27 bytes data, server => client 17:50:16.673130 '-ERR Unrecognized command\r\n' 17:50:16.673212 < 21 bytes data, client => server 17:50:16.673225 'RETR verifiedserver\r\n' 17:50:16.673445 Received DATA (on stdin) 17:50:16.673457 > 26 bytes data, server => client 17:50:16.673467 '+OK Mail transfer starts\r\n' 17:50:16.673489 Received DATA (on stdin) 17:50:16.673498 > 18 bytes data, server => client 17:50:16.673507 'WE ROOLZ: 122944\r\n' 17:50:16.673519 Received DATA (on stdin) 17:50:16.673528 > 3 bytes data, server => client 17:50:16.673537 '.\r\n' 17:50:16.721510 < 6 bytes data, client => server 17:50:16.721540 'QUIT\r\n' 17:50:16.721788 Received DATA (on stdin) 17:50:16.721803 > 34 bytes data, server => client 17:50:16.721813 '+OK curl POP3 server signing off\r\n' 17:50:16.730836 ====> Client disconnect 17:50:16.731096 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 ==125244== ==125244== Process terminating with default action of signal 4 (SIGILL) ==125244== Illegal opcode at address 0x4014520 ==125244== at 0x4014520: getparameter (tool_getparam.c:2862) ==125244== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125244== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125244== by 0x4003728: main (tool_main.c:186) === End of file valgrind893 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/11/valgrind892 ../src/curl -q --output log/11/curl892.out --include --trace-ascii log/11/trace892 --trace-time pop3://127.0.0.1:44715/892 -u user:secret --sasl-authzid shared-mailbox > log/11/stdout892 2> log/11/stderr892 892: 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 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/11/valgrind892 ../src/curl -q --output log/11/curl892.out --include --trace-ascii log/11/trace892 --trace-time pop3://127.0.0.1:44715/892 -u user:secret --sasl-authzid shared-mailbox > log/11/stdout892 2> log/11/stderr892 === End of file commands.log === Start of file pop3_server.log 17:50:16.737222 ====> Client connect 17:50:16.737456 > " _ _ ____ _[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/2/valgrind899 ../src/curl -q --output log/2/curl899.out --include --trace-ascii log/2/trace899 --trace-time http://first:secret@127.0.0.1:38779/899 -L > log/2/stdout899 2> log/2/stderr899 CMD (33792): ../libtool --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/valgrind889 ../src/curl -q --output log/21/curl889.out --include --trace-ascii log/21/trace889 --trace-time pop3://127.0.0.1:39273/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/21/stdout889 2> log/21/stderr889 _| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:16.737874 < "CAPA" 17:50:16.737945 > "-ERR Unrecognized command[CR][LF]" 17:50:16.738165 < "RETR verifiedserver" 17:50:16.738205 return proof we are we 17:50:16.738236 > "+OK Mail transfer starts[CR][LF]" 17:50:16.738265 > "WE ROOLZ: 122951[CR][LF]" 17:50:16.738287 > ".[CR][LF]" 17:50:16.787026 < "QUIT" 17:50:16.787091 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.788378 MAIN sockfilt said DISC 17:50:16.788423 ====> Client disconnected 17:50:16.788508 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.583277 ====> Client connect 17:50:16.583559 Received DATA (on stdin) 17:50:16.583578 > 164 bytes data, server => client 17:50:16.583651 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.583663 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.583673 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.583822 < 6 bytes data, client => server 17:50:16.583851 'CAPA\r\n' 17:50:16.584143 Received DATA (on stdin) 17:50:16.584158 > 27 bytes data, server => client 17:50:16.584170 '-ERR Unrecognized command\r\n' 17:50:16.584234 < 21 bytes data, client => server 17:50:16.584251 'RETR verifiedserver\r\n' 17:50:16.584473 Received DATA (on stdin) 17:50:16.584486 > 26 bytes data, server => client 17:50:16.584497 '+OK Mail transfer starts\r\n' 17:50:16.584522 Received DATA (on stdin) 17:50:16.584535 > 18 bytes data, server => client 17:50:16.584546 'WE ROOLZ: 122951\r\n' 17:50:16.584560 Received DATA (on stdin) 17:50:16.584571 > 3 bytes data, server => client 17:50:16.584581 '.\r\n' 17:50:16.632989 < 6 bytes data, client => server 17:50:16.633031 'QUIT\r\n' 17:50:16.633279 Received DATA (on stdin) 17:50:16.633293 > 34 bytes data, server => client 17:50:16.633303 '+OK curl POP3 server signing off\r\n' 17:50:16.634492 ====> Client disconnect 17:50:16.634693 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 ==125111== ==125111== Process terminating with default action of signal 4 (SIGILL) ==125111== Illegal opcode at address 0x4014520 ==125111== at 0x4014520: getparameter (tool_getparam.c:2862) ==125111== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125111== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125111== by 0x4003728: main (tool_main.c:186) === End of file valgrind892 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/2/valgrind899 ../src/curl -q --output log/2/curl899.out --include --trace-ascii log/2/trace899 --trace-time http://first:secret@127.0.0.1:38779/899 -L > log/2/stdout899 2> log/2/stderr899 899: 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 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/2/valgrind899 ../src/curl -q --output log/2/curl899.out --include --trace-ascii log/2/trace899 --trace-time http://first:secret@127.0.0.1:38779/899 -L > log/2/stdout899 2> log/2/stderr899 === End of file commands.log === Start of file http_server.log 17:50:16.930681 ====> Client connect 17:50:16.930721 accept_connection 3 returned 4 17:50:16.930741 accept_connection 3 returned 0 17:50:16.930757 Read 93 bytes 17:50:16.930767 Process 93 bytes request 17:50:16.930781 Got request: GET /verifiedserver HTTP/1.1 17:50:16.930791 Are-we-friendly question received 17:50:16.930819 Wrote request (93 bytes) input to log/2/server.input 17:50:16.930837 Identifying ourselves as friends 17:50:16.930917 Response sent (56 bytes) and written to log/2/server.response 17:50:16.930929 special request received, no persistency 17:50:16.930937 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 47260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind899 ==125466== ==125466== Process terminating with default action of signal 4 (SIGILL) ==125466== Illegal opcode at address 0x4014520 ==125466== at 0x4014520: getparameter (tool_getparam.c:2862) ==125466== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125466== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125466== by 0x4003728: main (tool_main.c:186) === End of file valgrind899 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/21/valgrind889 ../src/curl -q --output log/21/curl889.out --include --trace-ascii log/21/trace889 --trace-time pop3://127.0.0.1:39273/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/21/stdout889 2> log/21/stderr889 889: 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 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/21/valgrind889 ../src/curl -q --output log/21/curl889.out --include --trace-ascii log/21/trace889 --trace-time pop3://127.0.0.1:39273/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/21/stdout889 2> log/21/stderr889 === End of file commands.log === Start of file pop3_server.log 17:50:16.656698 ====> Client connect 17:50:16.656919 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:16.660348 < "CAPA" 17:50:16.660398 > "-ERR Unrecognized command[CR][LF]" 17:50:16.660571 < "RETR verifiedserver" 17:50:16.660601 return proof we are we 17:50:16.660621 > "+OK Mail transfer starts[CR][LF]" 17:50:16.660643 > "WE ROOLZ: 123102[CR][LF]" 17:50:16.660660 > ".[CR][LF]" 17:50:16.710247 < "QUIT" 17:50:16.710311 > "+OK curl POP3 server signing off[CR][LF]" 17:50:16.711426 MAIN sockfilt said DISC 17:50:16.711465 ====> Client disconnected 17:50:16.711549 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:16.497458 ====> Client connect 17:50:16.506184 Received DATA (on stdin) 17:50:16.506217 > 164 bytes data, server => client 17:50:16.506229 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.506239 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.506248 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:16.506361 < 6 bytes data, client => server 17:50:16.506375 'CAPA\r\n' 17:50:16.506585 Received DATA (on stdin) 17:50:16.506597 > 27 bytes data, server => client 17:50:16.506607 '-ERR Unrecognized command\r\n' 17:50:16.506662 < 21 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/4/valgrind896 ../src/curl -q --output log/4/curl896.out --include --trace-ascii log/4/trace896 --trace-time 'imap://127.0.0.1:35313/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/4/stdout896 2> log/4/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/22/valgrind904 ../src/curl -q --output log/22/curl904.out --include --trace-ascii log/22/trace904 --trace-time smtp://127.0.0.1:40615/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/22/stdout904 2> log/22/stderr904 client => server 17:50:16.506673 'RETR verifiedserver\r\n' 17:50:16.506842 Received DATA (on stdin) 17:50:16.506853 > 26 bytes data, server => client 17:50:16.506862 '+OK Mail transfer starts\r\n' 17:50:16.506882 Received DATA (on stdin) 17:50:16.506892 > 18 bytes data, server => client 17:50:16.506901 'WE ROOLZ: 123102\r\n' 17:50:16.506914 Received DATA (on stdin) 17:50:16.506922 > 3 bytes data, server => client 17:50:16.506931 '.\r\n' 17:50:16.556221 < 6 bytes data, client => server 17:50:16.556258 'QUIT\r\n' 17:50:16.556494 Received DATA (on stdin) 17:50:16.556505 > 34 bytes data, server => client 17:50:16.556515 '+OK curl POP3 server signing off\r\n' 17:50:16.557540 ====> Client disconnect 17:50:16.557732 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzkyNzMBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== -ERR Authentication failed Testnum 889 === End of file server.cmd === Start of file valgrind889 ==124979== ==124979== Process terminating with default action of signal 4 (SIGILL) ==124979== Illegal opcode at address 0x4014520 ==124979== at 0x4014520: getparameter (tool_getparam.c:2862) ==124979== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==124979== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==124979== by 0x4003728: main (tool_main.c:186) === End of file valgrind889 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/4/valgrind896 ../src/curl -q --output log/4/curl896.out --include --trace-ascii log/4/trace896 --trace-time 'imap://127.0.0.1:35313/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/4/stdout896 2> log/4/stderr896 curl returned 132, when expecting 3 896: exit FAILED == Contents of files in the log/4/ 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/4/valgrind896 ../src/curl -q --output log/4/curl896.out --include --trace-ascii log/4/trace896 --trace-time 'imap://127.0.0.1:35313/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/4/stdout896 2> log/4/stderr896 === End of file commands.log === Start of file imap_server.log 17:50:17.026696 ====> Client connect 17:50:17.026905 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:17.030525 < "A001 CAPABILITY" 17:50:17.030587 > "A001 BAD Command[CR][LF]" 17:50:17.030790 < "A002 LIST "verifiedserver" *" 17:50:17.030824 LIST_imap got "verifiedserver" * 17:50:17.030857 > "* LIST () "/" "WE ROOLZ: 120342"[CR][LF]" 17:50:17.030878 > "A002 OK LIST Completed[CR][LF]" 17:50:17.030894 return proof we are we 17:50:17.077094 < "A003 LOGOUT" 17:50:17.077166 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:17.077190 > "A003 OK LOGOUT completed[CR][LF]" 17:50:17.078435 MAIN sockfilt said DISC 17:50:17.078472 ====> Client disconnected 17:50:17.078526 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:16.871425 ====> Client connect 17:50:16.876216 Received DATA (on stdin) 17:50:16.876258 > 164 bytes data, server => client 17:50:16.876272 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:16.876283 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:16.876293 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:16.876458 < 17 bytes data, client => server 17:50:16.876474 'A001 CAPABILITY\r\n' 17:50:16.876777 Received DATA (on stdin) 17:50:16.876790 > 18 bytes data, server => client 17:50:16.876800 'A001 BAD Command\r\n' 17:50:16.876866 < 30 bytes data, client => server 17:50:16.876881 'A002 LIST "verifiedserver" *\r\n' 17:50:16.877079 Received DATA (on stdin) 17:50:16.877091 > 34 bytes data, server => client 17:50:16.877102 '* LIST () "/" "WE ROOLZ: 120342"\r\n' 17:50:16.877124 Received DATA (on stdin) 17:50:16.877134 > 24 bytes data, server => client 17:50:16.877145 'A002 OK LIST Completed\r\n' 17:50:16.923069 < 13 bytes data, client => server 17:50:16.923107 'A003 LOGOUT\r\n' 17:50:16.923375 Received DATA (on stdin) 17:50:16.923386 > 36 bytes data, server => client 17:50:16.923395 '* BYE curl IMAP server signing off\r\n' 17:50:16.923417 Received DATA (on stdin) 17:50:16.923425 > 26 bytes data, server => client 17:50:16.923434 'A003 OK LOGOUT completed\r\n' 17:50:16.924563 ====> Client disconnect 17:50:16.924704 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 ==125446== ==125446== Process terminating with default action of signal 4 (SIGILL) ==125446== Illegal opcode at address 0x4014520 ==125446== at 0x4014520: getparameter (tool_getparam.c:2862) ==125446== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125446== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125446== by 0x4003728: main (tool_main.c:186) === End of file valgrind896 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/22/valgrind904 ../src/curl -q --output log/22/curl904.out --include --trace-ascii log/22/trace904 --trace-time smtp://127.0.0.1:40615/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/22/stdout904 2> log/22/stderr904 904: 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 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/22/valgrind904 ../src/curl -q --output log/22/curl904.out --include --trace-ascii log/22/trace904 --trace-time smtp://127.0.0.1:40615/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/22/stdout904 2> log/22/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 17:50:17.671984 ====> Client connect 17:50:17.672202 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:17.672556 < "EHLO verifiedserver" 17:50:17.672606 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:17.672803 < "HELP" 17:50:17.672889 > "214 WE ROOLZ: 110701[CR][LF]" 17:50:17.672914 return proof we are we 17:50:17.673148 < "QUIT" 17:50:17.673183 > "221 curl ESMTP server signing off[CR][LF]" 17:50:17.674674 MAIN sockfilt said DISC 17:50:17.674714 ====> Client disconnected 17:50:17.674787 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:17.518017 ====> Client connect 17:50:17.518406 Received DATA (on stdin) 17:50:17.518423 > 146 bytes data, server => client 17:50:17.518438 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:17.518448 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:17.518457 '220 \___|\___/|_| \_\_____|\r\n' 17: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/23/valgrind906 ../src/curl -q --output log/23/curl906.out --include --trace-ascii log/23/trace906 --trace-time smtp://127.0.0.1:41181/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/23/stdout906 2> log/23/stderr906 CMD (33792): ../libtool --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:41177/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/3/stdout903 2> log/3/stderr903 0:17.518550 < 21 bytes data, client => server 17:50:17.518567 'EHLO verifiedserver\r\n' 17:50:17.518798 Received DATA (on stdin) 17:50:17.518812 > 53 bytes data, server => client 17:50:17.518823 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:17.518882 < 6 bytes data, client => server 17:50:17.518897 'HELP\r\n' 17:50:17.519009 Received DATA (on stdin) 17:50:17.519025 > 22 bytes data, server => client 17:50:17.519100 '214 WE ROOLZ: 110701\r\n' 17:50:17.519234 < 6 bytes data, client => server 17:50:17.519250 'QUIT\r\n' 17:50:17.519369 Received DATA (on stdin) 17:50:17.519382 > 35 bytes data, server => client 17:50:17.519392 '221 curl ESMTP server signing off\r\n' 17:50:17.520314 ====> Client disconnect 17:50:17.520984 Received ACKD (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 ==125744== ==125744== Process terminating with default action of signal 4 (SIGILL) ==125744== Illegal opcode at address 0x4014520 ==125744== at 0x4014520: getparameter (tool_getparam.c:2862) ==125744== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125744== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125744== by 0x4003728: main (tool_main.c:186) === End of file valgrind904 test 0906...[SMTP NTLM 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/23/valgrind906 ../src/curl -q --output log/23/curl906.out --include --trace-ascii log/23/trace906 --trace-time smtp://127.0.0.1:41181/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/23/stdout906 2> log/23/stderr906 906: 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 906 === Start of file commands.log ../libtool --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/valgrind906 ../src/curl -q --output log/23/curl906.out --include --trace-ascii log/23/trace906 --trace-time smtp://127.0.0.1:41181/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/23/stdout906 2> log/23/stderr906 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 906 === End of file server.cmd === Start of file smtp_server.log 17:50:18.116862 ====> Client connect 17:50:18.117059 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:18.117446 < "EHLO verifiedserver" 17:50:18.120058 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:18.120325 < "HELP" 17:50:18.120371 > "214 WE ROOLZ: 110732[CR][LF]" 17:50:18.120388 return proof we are we 17:50:18.120630 < "QUIT" 17:50:18.120667 > "221 curl ESMTP server signing off[CR][LF]" 17:50:18.121972 MAIN sockfilt said DISC 17:50:18.122006 ====> Client disconnected 17:50:18.122096 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:17.962917 ====> Client connect 17:50:17.963270 Received DATA (on stdin) 17:50:17.963291 > 146 bytes data, server => client 17:50:17.963304 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:17.963315 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:17.963324 '220 \___|\___/|_| \_\_____|\r\n' 17:50:17.963431 < 21 bytes data, client => server 17:50:17.963453 'EHLO verifiedserver\r\n' 17:50:17.966279 Received DATA (on stdin) 17:50:17.966295 > 53 bytes data, server => client 17:50:17.966306 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:17.966381 < 6 bytes data, client => server 17:50:17.966392 'HELP\r\n' 17:50:17.966570 Received DATA (on stdin) 17:50:17.966581 > 22 bytes data, server => client 17:50:17.966591 '214 WE ROOLZ: 110732\r\n' 17:50:17.966706 < 6 bytes data, client => server 17:50:17.966720 'QUIT\r\n' 17:50:17.966852 Received DATA (on stdin) 17:50:17.966863 > 35 bytes data, server => client 17:50:17.966873 '221 curl ESMTP server signing off\r\n' 17:50:17.968090 ====> Client disconnect 17:50:17.968288 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-906 mail body === End of file stdin-for-906 === Start of file valgrind906 ==125841== ==125841== Process terminating with default action of signal 4 (SIGILL) ==125841== Illegal opcode at address 0x4014520 ==125841== at 0x4014520: getparameter (tool_getparam.c:2862) ==125841== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125841== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125841== by 0x4003728: main (tool_main.c:186) === End of file valgrind906 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 41177 (log/3/server/smtp_server.port) RUN: SMTP server is PID 125707 port 41177 * pid smtp => 125707 125707 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:41177/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:41177/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 17:50:17.457605 SMTP server listens on port IPv4/41177 17:50:17.457739 logged pid 125707 in log/3/server/smtp_server.pid 17:50:17.457779 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:17.303210 Running IPv4 version 17:50:17.303331 Listening on port 41177 17:50:17.303379 Wrote pid 125711 to log/3/server/smtp_sockfilt.pid 17:50:17.303412 Wrote port 41177 to log/3/server/smtp_server.port 17:50:17.303636 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 ==125973== ==125973== Process terminating with default action of signal 4 (SIGILL) ==125973== Illegal opcode at address 0x401CMD (33792): ../libtool --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/valgrind902 ../src/curl -q --output log/16/curl902.out --include --trace-ascii log/16/trace902 --trace-time smtp://127.0.0.1:42695/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/16/stdout902 2> log/16/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/17/valgrind901 ../src/curl -q --output log/17/curl901.out --include --trace-ascii log/17/trace901 --trace-time smtp://127.0.0.1:39599/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/17/stdout901 2> log/17/stderr901 CMD (33792): ../libtool --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/valgrind900 ../src/curl -q --output log/7/curl900.out --include --trace-ascii log/7/trace900 --trace-time smtp://127.0.0.1:44215/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/7/mail900 > log/7/stdout900 2> log/7/stderr900 4520 ==125973== at 0x4014520: getparameter (tool_getparam.c:2862) ==125973== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125973== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125973== by 0x4003728: main (tool_main.c:186) === End of file valgrind903 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 42695 (log/16/server/smtp_server.port) RUN: SMTP server is PID 125705 port 42695 * pid smtp => 125705 125705 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/16/valgrind902 ../src/curl -q --output log/16/curl902.out --include --trace-ascii log/16/trace902 --trace-time smtp://127.0.0.1:42695/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/16/stdout902 2> log/16/stderr902 902: 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 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/16/valgrind902 ../src/curl -q --output log/16/curl902.out --include --trace-ascii log/16/trace902 --trace-time smtp://127.0.0.1:42695/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/16/stdout902 2> log/16/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 17:50:17.420263 SMTP server listens on port IPv4/42695 17:50:17.420370 logged pid 125705 in log/16/server/smtp_server.pid 17:50:17.420401 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:17.265985 Running IPv4 version 17:50:17.266084 Listening on port 42695 17:50:17.266133 Wrote pid 125709 to log/16/server/smtp_sockfilt.pid 17:50:17.266183 Wrote port 42695 to log/16/server/smtp_server.port 17:50:17.266340 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 ==125961== ==125961== Process terminating with default action of signal 4 (SIGILL) ==125961== Illegal opcode at address 0x4014520 ==125961== at 0x4014520: getparameter (tool_getparam.c:2862) ==125961== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125961== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125961== by 0x4003728: main (tool_main.c:186) === End of file valgrind902 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 39599 (log/17/server/smtp_server.port) RUN: SMTP server is PID 125701 port 39599 * pid smtp => 125701 125701 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/17/valgrind901 ../src/curl -q --output log/17/curl901.out --include --trace-ascii log/17/trace901 --trace-time smtp://127.0.0.1:39599/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/17/stdout901 2> log/17/stderr901 901: 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 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/17/valgrind901 ../src/curl -q --output log/17/curl901.out --include --trace-ascii log/17/trace901 --trace-time smtp://127.0.0.1:39599/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/17/stdout901 2> log/17/stderr901 === End of file commands.log === Start of file server.cmd Testnum 901 === End of file server.cmd === Start of file smtp_server.log 17:50:17.417187 SMTP server listens on port IPv4/39599 17:50:17.417311 logged pid 125701 in log/17/server/smtp_server.pid 17:50:17.417349 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:17.260954 Running IPv4 version 17:50:17.261061 Listening on port 39599 17:50:17.261109 Wrote pid 125708 to log/17/server/smtp_sockfilt.pid 17:50:17.261143 Wrote port 39599 to log/17/server/smtp_server.port 17:50:17.263233 Received PING (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 ==125932== ==125932== Process terminating with default action of signal 4 (SIGILL) ==125932== Illegal opcode at address 0x4014520 ==125932== at 0x4014520: getparameter (tool_getparam.c:2862) ==125932== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125932== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125932== by 0x4003728: main (tool_main.c:186) === End of file valgrind901 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/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44215 (log/7/server/smtp_server.port) RUN: SMTP server is PID 125702 port 44215 * pid smtp => 125702 125702 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/7/valgrind900 ../src/curl -q --output log/7/curl900.out --include --trace-ascii log/7/trace900 --trace-time smtp://127.0.0.1:44215/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/7/mail900 > log/7/stdout900 2> log/7/stderr900 900: 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 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/7/valgrind900 ../src/curl -q --output log/7/curl900.out --include --trace-ascii log/7/trace900 --trace-time smtp://127.0.0.1:44215/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/7/mail900 > log/7/stdout900 2> log/7/stderr900 === End of file commands.log === Start of file mail900 From: different To: another body 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file mail900 === Start of file server.cmd Testnum 900 === End of file server.cmd === Start of file smtp_server.log 17:50:17.460324 SMTP server listens on port IPv4/44215 17:50:17.460471 logged pid 125702 in log/7/server/smtp_server.pid 17:50:17.460513 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:17.303707 Running IPv4 version 17:50:17.303802 Listening on port 44215 17:50:17.303849 Wrote pid 125713 to log/7/server/smtp_sockfilt.pid 17:50:17.303886 Wrote port 44215 to log/7/server/smtp_server.port 17:50:17.306363 Received PING (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/8/valgrind909 ../src/curl -q --output log/8/curl909.out --include --trace-ascii log/8/trace909 --trace-time smtp://127.0.0.1:45515/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/8/test909.eml > log/8/stdout909 2> log/8/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/10/valgrind905 ../src/curl -q --output log/10/curl905.out --include --trace-ascii log/10/trace905 --trace-time smtp://127.0.0.1:45769/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/10/stdout905 2> log/10/stderr905 CMD (33792): ../libtool --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/valgrind908 ../src/curl -q --output log/24/curl908.out --include --trace-ascii log/24/trace908 --trace-time smtp://127.0.0.1:41015/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/24/stdout908 2> log/24/stderr908 le smtp_sockfilt.log === Start of file valgrind900 ==125940== ==125940== Process terminating with default action of signal 4 (SIGILL) ==125940== Illegal opcode at address 0x4014520 ==125940== at 0x4014520: getparameter (tool_getparam.c:2862) ==125940== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125940== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125940== by 0x4003728: main (tool_main.c:186) === End of file valgrind900 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/8/valgrind909 ../src/curl -q --output log/8/curl909.out --include --trace-ascii log/8/trace909 --trace-time smtp://127.0.0.1:45515/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/8/test909.eml > log/8/stdout909 2> log/8/stderr909 909: 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 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/8/valgrind909 ../src/curl -q --output log/8/curl909.out --include --trace-ascii log/8/trace909 --trace-time smtp://127.0.0.1:45515/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/8/test909.eml > log/8/stdout909 2> log/8/stderr909 === End of file commands.log === Start of file server.cmd Testnum 909 === End of file server.cmd === Start of file smtp_server.log 17:50:18.250235 ====> Client connect 17:50:18.250559 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:18.250901 < "EHLO verifiedserver" 17:50:18.250942 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:18.251088 < "HELP" 17:50:18.251117 > "214 WE ROOLZ: 110752[CR][LF]" 17:50:18.251129 return proof we are we 17:50:18.251335 < "QUIT" 17:50:18.251360 > "221 curl ESMTP server signing off[CR][LF]" 17:50:18.252458 MAIN sockfilt said DISC 17:50:18.252486 ====> Client disconnected 17:50:18.252547 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:18.096184 ====> Client connect 17:50:18.096762 Received DATA (on stdin) 17:50:18.096782 > 146 bytes data, server => client 17:50:18.096792 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:18.096801 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:18.096809 '220 \___|\___/|_| \_\_____|\r\n' 17:50:18.096926 < 21 bytes data, client => server 17:50:18.096937 'EHLO verifiedserver\r\n' 17:50:18.097124 Received DATA (on stdin) 17:50:18.097134 > 53 bytes data, server => client 17:50:18.097143 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:18.097192 < 6 bytes data, client => server 17:50:18.097201 'HELP\r\n' 17:50:18.097307 Received DATA (on stdin) 17:50:18.097316 > 22 bytes data, server => client 17:50:18.097325 '214 WE ROOLZ: 110752\r\n' 17:50:18.097420 < 6 bytes data, client => server 17:50:18.097430 'QUIT\r\n' 17:50:18.097543 Received DATA (on stdin) 17:50:18.097553 > 35 bytes data, server => client 17:50:18.097562 '221 curl ESMTP server signing off\r\n' 17:50:18.098588 ====> Client disconnect 17:50:18.098725 Received ACKD (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 ==125892== ==125892== Process terminating with default action of signal 4 (SIGILL) ==125892== Illegal opcode at address 0x4014520 ==125892== at 0x4014520: getparameter (tool_getparam.c:2862) ==125892== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==125892== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==125892== by 0x4003728: main (tool_main.c:186) === End of file valgrind909 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 45769 (log/10/server/smtp_server.port) RUN: SMTP server is PID 125760 port 45769 * pid smtp => 125760 125760 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/10/valgrind905 ../src/curl -q --output log/10/curl905.out --include --trace-ascii log/10/trace905 --trace-time smtp://127.0.0.1:45769/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/10/stdout905 2> log/10/stderr905 905: 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 905 === Start of file commands.log ../libtool --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/valgrind905 ../src/curl -q --output log/10/curl905.out --include --trace-ascii log/10/trace905 --trace-time smtp://127.0.0.1:45769/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/10/stdout905 2> log/10/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 17:50:17.913491 SMTP server listens on port IPv4/45769 17:50:17.913631 logged pid 125760 in log/10/server/smtp_server.pid 17:50:17.913664 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:17.748567 Running IPv4 version 17:50:17.748678 Listening on port 45769 17:50:17.748735 Wrote pid 125776 to log/10/server/smtp_sockfilt.pid 17:50:17.748775 Wrote port 45769 to log/10/server/smtp_server.port 17:50:17.756192 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 ==126205== ==126205== Process terminating with default action of signal 4 (SIGILL) ==126205== Illegal opcode at address 0x4014520 ==126205== at 0x4014520: getparameter (tool_getparam.c:2862) ==126205== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126205== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126205== by 0x4003728: main (tool_main.c:186) === End of file valgrind905 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 41015 (log/24/server/smtp_server.port) RUN: SMTP server is PID 125811 port 41015 * pid smtp => 125811 125811 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/24/valgrind908 ../src/curl -q --output log/24/curl908.out --include --trace-ascii log/24/trace908 --trace-time smtp://127.0.0.1:41015/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/24/stdout908 2> log/24/stderr908 908: protocol FAILED! There was no content at all in the file log/24/server.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/20/valgrind910 ../src/curl -q --output log/20/curl910.out --include --trace-ascii log/20/trace910 --trace-time smtp://127.0.0.1:43883/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout910 2> log/20/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/11/valgrind921 ../src/curl -q --output log/11/curl921.out --include --trace-ascii log/11/trace921 --trace-time smtp://127.0.0.1:35641/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/11/stdout921 2> log/11/stderr921 ut. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ 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/24/valgrind908 ../src/curl -q --output log/24/curl908.out --include --trace-ascii log/24/trace908 --trace-time smtp://127.0.0.1:41015/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/24/stdout908 2> log/24/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 17:50:18.149153 SMTP server listens on port IPv4/41015 17:50:18.149277 logged pid 125811 in log/24/server/smtp_server.pid 17:50:18.149311 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:18.994197 Running IPv4 version 17:50:18.994300 Listening on port 41015 17:50:18.994350 Wrote pid 125843 to log/24/server/smtp_sockfilt.pid 17:50:18.994382 Wrote port 41015 to log/24/server/smtp_server.port 17:50:18.995215 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 ==126256== ==126256== Process terminating with default action of signal 4 (SIGILL) ==126256== Illegal opcode at address 0x4014520 ==126256== at 0x4014520: getparameter (tool_getparam.c:2862) ==126256== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126256== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126256== by 0x4003728: main (tool_main.c:186) === End of file valgrind908 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 43883 (log/20/server/smtp_server.port) RUN: SMTP server is PID 125839 port 43883 * pid smtp => 125839 125839 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/20/valgrind910 ../src/curl -q --output log/20/curl910.out --include --trace-ascii log/20/trace910 --trace-time smtp://127.0.0.1:43883/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout910 2> log/20/stderr910 910: 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 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/20/valgrind910 ../src/curl -q --output log/20/curl910.out --include --trace-ascii log/20/trace910 --trace-time smtp://127.0.0.1:43883/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout910 2> log/20/stderr910 === End of file commands.log === Start of file server.cmd Testnum 910 === End of file server.cmd === Start of file smtp_server.log 17:50:18.240088 SMTP server listens on port IPv4/43883 17:50:18.240266 logged pid 125839 in log/20/server/smtp_server.pid 17:50:18.240312 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:18.080841 Running IPv4 version 17:50:18.080961 Listening on port 43883 17:50:18.081012 Wrote pid 125881 to log/20/server/smtp_sockfilt.pid 17:50:18.081045 Wrote port 43883 to log/20/server/smtp_server.port 17:50:18.086021 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 ==126290== ==126290== Process terminating with default action of signal 4 (SIGILL) ==126290== Illegal opcode at address 0x4014520 ==126290== at 0x4014520: getparameter (tool_getparam.c:2862) ==126290== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126290== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126290== by 0x4003728: main (tool_main.c:186) === End of file valgrind910 test 0921...[SMTP NTLM 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/11/valgrind921 ../src/curl -q --output log/11/curl921.out --include --trace-ascii log/11/trace921 --trace-time smtp://127.0.0.1:35641/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/11/stdout921 2> log/11/stderr921 921: 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 921 === Start of file commands.log ../libtool --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/valgrind921 ../src/curl -q --output log/11/curl921.out --include --trace-ascii log/11/trace921 --trace-time smtp://127.0.0.1:35641/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/11/stdout921 2> log/11/stderr921 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 921 === End of file server.cmd === Start of file smtp_server.log 17:50:19.238791 ====> Client connect 17:50:19.238966 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:19.239276 < "EHLO verifiedserver" 17:50:19.239323 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:19.239495 < "HELP" 17:50:19.239528 > "214 WE ROOLZ: 110729[CR][LF]" 17:50:19.239544 return proof we are we 17:50:19.239771 < "QUIT" 17:50:19.239806 > "221 curl ESMTP server signing off[CR][LF]" 17:50:19.240087 MAIN sockfilt said DISC 17:50:19.240120 ====> Client disconnected 17:50:19.240183 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:19.084843 ====> Client connect 17:50:19.085163 Received DATA (on stdin) 17:50:19.085179 > 146 bytes data, server => client 17:50:19.085191 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:19.085201 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:19.085211 '220 \___|\___/|_| \_\_____|\r\n' 17:50:19.085292 < 21 bytes data, client => server 17:50:19.085306 'EHLO verifiedserver\r\n' 17:50:19.085510 Received DATA (on stdin) 17:50:19.085522 > 53 bytes data, server => client 17:50:19.085533 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:19.085588 < 6 bytes data, client => server 17:50:19.085599 'HELP\r\n' 17:50:19.085725 Received DATA (on stdin) 17:50:19.085737 > 22 bytes data, server => client 17:50:19.085747 '214 WE ROOLZ: 110729\r\n' 17:50:19.085862 < 6 bytes data, client => server 17:50:19.085877 'QUIT\r\n' 17:50: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/valgrind911 ../src/curl -q --output log/18/curl911.out --include --trace-ascii log/18/trace911 --trace-time smtp://127.0.0.1:43171/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout911 2> log/18/stderr911 CMD (33792): ../libtool --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/valgrind915 ../src/curl -q --output log/19/curl915.out --include --trace-ascii log/19/trace915 --trace-time smtp://127.0.0.1:40777/915 --mail-rcpt recipient@example.com -T - log/19/stdout915 2> log/19/stderr915 CMD (33792): ../libtool --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/valgrind914 ../src/curl -q --output log/6/curl914.out --include --trace-ascii log/6/trace914 --trace-time smtp://127.0.0.1:33421/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/6/test914.eml > log/6/stdout914 2> log/6/stderr914 .085990 Received DATA (on stdin) 17:50:19.086001 > 35 bytes data, server => client 17:50:19.086012 '221 curl ESMTP server signing off\r\n' 17:50:19.086214 ====> Client disconnect 17:50:19.086367 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-921 mail body === End of file stdin-for-921 === Start of file valgrind921 ==126359== ==126359== Process terminating with default action of signal 4 (SIGILL) ==126359== Illegal opcode at address 0x4014520 ==126359== at 0x4014520: getparameter (tool_getparam.c:2862) ==126359== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126359== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126359== by 0x4003728: main (tool_main.c:186) === End of file valgrind921 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 43171 (log/18/server/smtp_server.port) RUN: SMTP server is PID 126048 port 43171 * pid smtp => 126048 126048 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/18/valgrind911 ../src/curl -q --output log/18/curl911.out --include --trace-ascii log/18/trace911 --trace-time smtp://127.0.0.1:43171/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout911 2> log/18/stderr911 911: 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 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/18/valgrind911 ../src/curl -q --output log/18/curl911.out --include --trace-ascii log/18/trace911 --trace-time smtp://127.0.0.1:43171/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout911 2> log/18/stderr911 === End of file commands.log === Start of file server.cmd Testnum 911 === End of file server.cmd === Start of file smtp_server.log 17:50:18.567474 SMTP server listens on port IPv4/43171 17:50:18.567586 logged pid 126048 in log/18/server/smtp_server.pid 17:50:18.567621 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:18.413240 Running IPv4 version 17:50:18.413335 Listening on port 43171 17:50:18.413378 Wrote pid 126141 to log/18/server/smtp_sockfilt.pid 17:50:18.413407 Wrote port 43171 to log/18/server/smtp_server.port 17:50:18.413555 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind911 ==126453== ==126453== Process terminating with default action of signal 4 (SIGILL) ==126453== Illegal opcode at address 0x4014520 ==126453== at 0x4014520: getparameter (tool_getparam.c:2862) ==126453== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126453== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126453== by 0x4003728: main (tool_main.c:186) === End of file valgrind911 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 40777 (log/19/server/smtp_server.port) RUN: SMTP server is PID 126194 port 40777 * pid smtp => 126194 126194 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/19/valgrind915 ../src/curl -q --output log/19/curl915.out --include --trace-ascii log/19/trace915 --trace-time smtp://127.0.0.1:40777/915 --mail-rcpt recipient@example.com -T - log/19/stdout915 2> log/19/stderr915 915: 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 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/19/valgrind915 ../src/curl -q --output log/19/curl915.out --include --trace-ascii log/19/trace915 --trace-time smtp://127.0.0.1:40777/915 --mail-rcpt recipient@example.com -T - log/19/stdout915 2> log/19/stderr915 === End of file commands.log === Start of file server.cmd Testnum 915 === End of file server.cmd === Start of file smtp_server.log 17:50:18.860354 SMTP server listens on port IPv4/40777 17:50:18.860496 logged pid 126194 in log/19/server/smtp_server.pid 17:50:18.860531 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:18.703723 Running IPv4 version 17:50:18.703831 Listening on port 40777 17:50:18.703881 Wrote pid 126199 to log/19/server/smtp_sockfilt.pid 17:50:18.703914 Wrote port 40777 to log/19/server/smtp_server.port 17:50:18.706373 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 ==126616== ==126616== Process terminating with default action of signal 4 (SIGILL) ==126616== Illegal opcode at address 0x4014520 ==126616== at 0x4014520: getparameter (tool_getparam.c:2862) ==126616== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126616== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126616== by 0x4003728: main (tool_main.c:186) === End of file valgrind915 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 33421 (log/6/server/smtp_server.port) RUN: SMTP server is PID 126190 port 33421 * pid smtp => 126190 126190 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/6/valgrind914 ../src/curl -q --output log/6/curl914.out --include --trace-ascii log/6/trace914 --trace-time smtp://127.0.0.1:33421/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/6/test914.eml > log/6/stdout914 2> log/6/stderr914 914: 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 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/6/valgrind914 ../src/curl -q --output log/6/curl914.out --include --trace-ascii log/6/trace914 --trace-time smtp://127.0.0.1:33421/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/6/test914.eml > log/6/stdout914 2> log/6/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 17:50:18.903444 SMTP server listens on port IPv4/33421 17:50:18.903583 logged pid 126190 in log/6/server/smtp_server.pid 17:50:18.903618 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:18.743646 Running IPv4 version 17:50:18.743741 LiCMD (33792): ../libtool --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/valgrind925 ../src/curl -q --output log/22/curl925.out --include --trace-ascii log/22/trace925 --trace-time smtp://127.0.0.1:40615/925 --mail-rcpt user@example.net > log/22/stdout925 2> log/22/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/14/valgrind912 ../src/curl -q --output log/14/curl912.out --include --trace-ascii log/14/trace912 --trace-time smtp://127.0.0.1:37041/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/14/test912.eml > log/14/stdout912 2> log/14/stderr912 CMD (33792): ../libtool --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/valgrind913 ../src/curl -q --output log/9/curl913.out --include --trace-ascii log/9/trace913 --trace-time smtp://127.0.0.1:33219/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/9/test913.eml > log/9/stdout913 2> log/9/stderr913 stening on port 33421 17:50:18.743784 Wrote pid 126204 to log/6/server/smtp_sockfilt.pid 17:50:18.743818 Wrote port 33421 to log/6/server/smtp_server.port 17:50:18.743841 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 ==126605== ==126605== Process terminating with default action of signal 4 (SIGILL) ==126605== Illegal opcode at address 0x4014520 ==126605== at 0x4014520: getparameter (tool_getparam.c:2862) ==126605== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126605== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126605== by 0x4003728: main (tool_main.c:186) === End of file valgrind914 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/22/valgrind925 ../src/curl -q --output log/22/curl925.out --include --trace-ascii log/22/trace925 --trace-time smtp://127.0.0.1:40615/925 --mail-rcpt user@example.net > log/22/stdout925 2> log/22/stderr925 925: 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 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/22/valgrind925 ../src/curl -q --output log/22/curl925.out --include --trace-ascii log/22/trace925 --trace-time smtp://127.0.0.1:40615/925 --mail-rcpt user@example.net > log/22/stdout925 2> log/22/stderr925 === End of file commands.log === Start of file server.cmd Testnum 925 === End of file server.cmd === Start of file smtp_server.log 17:50:19.842525 ====> Client connect 17:50:19.842707 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:19.843034 < "EHLO verifiedserver" 17:50:19.843082 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:19.843284 < "HELP" 17:50:19.843335 > "214 WE ROOLZ: 110701[CR][LF]" 17:50:19.843355 return proof we are we 17:50:19.843623 < "QUIT" 17:50:19.843658 > "221 curl ESMTP server signing off[CR][LF]" 17:50:19.844871 MAIN sockfilt said DISC 17:50:19.844902 ====> Client disconnected 17:50:19.844975 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:19.688575 ====> Client connect 17:50:19.688912 Received DATA (on stdin) 17:50:19.688930 > 146 bytes data, server => client 17:50:19.688944 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:19.688955 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:19.688964 '220 \___|\___/|_| \_\_____|\r\n' 17:50:19.689046 < 21 bytes data, client => server 17:50:19.689061 'EHLO verifiedserver\r\n' 17:50:19.689274 Received DATA (on stdin) 17:50:19.689288 > 53 bytes data, server => client 17:50:19.689300 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:19.689360 < 6 bytes data, client => server 17:50:19.689374 'HELP\r\n' 17:50:19.689538 Received DATA (on stdin) 17:50:19.689551 > 22 bytes data, server => client 17:50:19.689565 '214 WE ROOLZ: 110701\r\n' 17:50:19.689679 < 6 bytes data, client => server 17:50:19.689695 'QUIT\r\n' 17:50:19.689847 Received DATA (on stdin) 17:50:19.689861 > 35 bytes data, server => client 17:50:19.689872 '221 curl ESMTP server signing off\r\n' 17:50:19.691000 ====> Client disconnect 17:50:19.691158 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind925 ==126669== ==126669== Process terminating with default action of signal 4 (SIGILL) ==126669== Illegal opcode at address 0x4014520 ==126669== at 0x4014520: getparameter (tool_getparam.c:2862) ==126669== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126669== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126669== by 0x4003728: main (tool_main.c:186) === End of file valgrind925 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 37041 (log/14/server/smtp_server.port) RUN: SMTP server is PID 126067 port 37041 * pid smtp => 126067 126067 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/14/valgrind912 ../src/curl -q --output log/14/curl912.out --include --trace-ascii log/14/trace912 --trace-time smtp://127.0.0.1:37041/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/14/test912.eml > log/14/stdout912 2> log/14/stderr912 912: 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 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/14/valgrind912 ../src/curl -q --output log/14/curl912.out --include --trace-ascii log/14/trace912 --trace-time smtp://127.0.0.1:37041/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/14/test912.eml > log/14/stdout912 2> log/14/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 17:50:18.576792 SMTP server listens on port IPv4/37041 17:50:18.576923 logged pid 126067 in log/14/server/smtp_server.pid 17:50:18.576960 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:18.419540 Running IPv4 version 17:50:18.419649 Listening on port 37041 17:50:18.419697 Wrote pid 126144 to log/14/server/smtp_sockfilt.pid 17:50:18.419728 Wrote port 37041 to log/14/server/smtp_server.port 17:50:18.419751 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 ==126458== ==126458== Process terminating with default action of signal 4 (SIGILL) ==126458== Illegal opcode at address 0x4014520 ==126458== at 0x4014520: getparameter (tool_getparam.c:2862) ==126458== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126458== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126458== by 0x4003728: main (tool_main.c:186) === 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 33219 (log/9/server/smtp_server.port) RUN: SMTP server is PID 126179 port 33219 * pid smtp => 126179 126179 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/9/valgrind913 ../src/curl -q --output log/9/curl913.out --include --trace-ascii log/9/trace913 --trace-time smtp://127.0.0.1:33219/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/9/test913.eml > log/9/stdout913 2> log/9/stderr913 913: 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 913 ===CMD (33792): ../libtool --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/valgrind918 ../src/curl -q --output log/12/curl918.out --include --trace-ascii log/12/trace918 --trace-time smtp://127.0.0.1:41059/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/12/stdout918 2> log/12/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/1/valgrind916 ../src/curl -q --output log/1/curl916.out --include --trace-ascii log/1/trace916 --trace-time smtp://127.0.0.1:37191/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/1/stdout916 2> log/1/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/5/valgrind917 ../src/curl -q --output log/5/curl917.out --include --trace-ascii log/5/trace917 --trace-time smtp://127.0.0.1:41899/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/5/stdout917 2> log/5/stderr917 Start of file commands.log ../libtool --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/valgrind913 ../src/curl -q --output log/9/curl913.out --include --trace-ascii log/9/trace913 --trace-time smtp://127.0.0.1:33219/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/9/test913.eml > log/9/stdout913 2> log/9/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 17:50:18.795091 SMTP server listens on port IPv4/33219 17:50:18.795204 logged pid 126179 in log/9/server/smtp_server.pid 17:50:18.795239 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:18.640774 Running IPv4 version 17:50:18.640884 Listening on port 33219 17:50:18.640931 Wrote pid 126193 to log/9/server/smtp_sockfilt.pid 17:50:18.640962 Wrote port 33219 to log/9/server/smtp_server.port 17:50:18.641156 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 ==126535== ==126535== Process terminating with default action of signal 4 (SIGILL) ==126535== Illegal opcode at address 0x4014520 ==126535== at 0x4014520: getparameter (tool_getparam.c:2862) ==126535== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126535== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126535== by 0x4003728: main (tool_main.c:186) === End of file valgrind913 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 41059 (log/12/server/smtp_server.port) RUN: SMTP server is PID 126230 port 41059 * pid smtp => 126230 126230 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/12/valgrind918 ../src/curl -q --output log/12/curl918.out --include --trace-ascii log/12/trace918 --trace-time smtp://127.0.0.1:41059/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/12/stdout918 2> log/12/stderr918 918: 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 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/12/valgrind918 ../src/curl -q --output log/12/curl918.out --include --trace-ascii log/12/trace918 --trace-time smtp://127.0.0.1:41059/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/12/stdout918 2> log/12/stderr918 === End of file commands.log === Start of file server.cmd Testnum 918 === End of file server.cmd === Start of file smtp_server.log 17:50:19.073441 SMTP server listens on port IPv4/41059 17:50:19.073575 logged pid 126230 in log/12/server/smtp_server.pid 17:50:19.073609 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:19.911458 Running IPv4 version 17:50:19.911555 Listening on port 41059 17:50:19.911606 Wrote pid 126261 to log/12/server/smtp_sockfilt.pid 17:50:19.911642 Wrote port 41059 to log/12/server/smtp_server.port 17:50:19.919173 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 ==126811== ==126811== Process terminating with default action of signal 4 (SIGILL) ==126811== Illegal opcode at address 0x4014520 ==126811== at 0x4014520: getparameter (tool_getparam.c:2862) ==126811== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126811== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126811== by 0x4003728: main (tool_main.c:186) === End of file valgrind918 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 37191 (log/1/server/smtp_server.port) RUN: SMTP server is PID 126197 port 37191 * pid smtp => 126197 126197 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/1/valgrind916 ../src/curl -q --output log/1/curl916.out --include --trace-ascii log/1/trace916 --trace-time smtp://127.0.0.1:37191/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/1/stdout916 2> log/1/stderr916 916: 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 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/1/valgrind916 ../src/curl -q --output log/1/curl916.out --include --trace-ascii log/1/trace916 --trace-time smtp://127.0.0.1:37191/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/1/stdout916 2> log/1/stderr916 === End of file commands.log === Start of file server.cmd Testnum 916 === End of file server.cmd === Start of file smtp_server.log 17:50:18.954716 SMTP server listens on port IPv4/37191 17:50:18.954824 logged pid 126197 in log/1/server/smtp_server.pid 17:50:18.954857 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:18.800411 Running IPv4 version 17:50:18.800512 Listening on port 37191 17:50:18.800561 Wrote pid 126221 to log/1/server/smtp_sockfilt.pid 17:50:18.800592 Wrote port 37191 to log/1/server/smtp_server.port 17:50:18.800791 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 ==126651== ==126651== Process terminating with default action of signal 4 (SIGILL) ==126651== Illegal opcode at address 0x4014520 ==126651== at 0x4014520: getparameter (tool_getparam.c:2862) ==126651== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126651== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126651== by 0x4003728: main (tool_main.c:186) === End of file valgrind916 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 41899 (log/5/server/smtp_server.port) RUN: SMTP server is PID 126218 port 41899 * pid smtp => 126218 126218 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/5/valgrind917 ../src/curl -q --output log/5/curl917.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/3/valgrind927 ../src/curl -q --output log/3/curl927.out --include --trace-ascii log/3/trace927 --trace-time smtp://127.0.0.1:41177/927 --mail-rcpt Friends -X EXPN > log/3/stdout927 2> log/3/stderr927 CMD (33792): ../libtool --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/valgrind919 ../src/curl -q --output log/13/curl919.out --include --trace-ascii log/13/trace919 --trace-time smtp://127.0.0.1:35689/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/13/stdout919 2> log/13/stderr919 -trace-ascii log/5/trace917 --trace-time smtp://127.0.0.1:41899/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/5/stdout917 2> log/5/stderr917 917: 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 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/5/valgrind917 ../src/curl -q --output log/5/curl917.out --include --trace-ascii log/5/trace917 --trace-time smtp://127.0.0.1:41899/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/5/stdout917 2> log/5/stderr917 === End of file commands.log === Start of file server.cmd Testnum 917 === End of file server.cmd === Start of file smtp_server.log 17:50:19.026590 SMTP server listens on port IPv4/41899 17:50:19.026717 logged pid 126218 in log/5/server/smtp_server.pid 17:50:19.026750 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:19.867496 Running IPv4 version 17:50:19.867596 Listening on port 41899 17:50:19.867634 Wrote pid 126239 to log/5/server/smtp_sockfilt.pid 17:50:19.867663 Wrote port 41899 to log/5/server/smtp_server.port 17:50:19.872627 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 ==126757== ==126757== Process terminating with default action of signal 4 (SIGILL) ==126757== Illegal opcode at address 0x4014520 ==126757== at 0x4014520: getparameter (tool_getparam.c:2862) ==126757== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126757== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126757== by 0x4003728: main (tool_main.c:186) === End of file valgrind917 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/3/valgrind927 ../src/curl -q --output log/3/curl927.out --include --trace-ascii log/3/trace927 --trace-time smtp://127.0.0.1:41177/927 --mail-rcpt Friends -X EXPN > log/3/stdout927 2> log/3/stderr927 927: 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 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/3/valgrind927 ../src/curl -q --output log/3/curl927.out --include --trace-ascii log/3/trace927 --trace-time smtp://127.0.0.1:41177/927 --mail-rcpt Friends -X EXPN > log/3/stdout927 2> log/3/stderr927 === End of file commands.log === Start of file server.cmd Testnum 927 === End of file server.cmd === Start of file smtp_server.log 17:50:20.160649 ====> Client connect 17:50:20.160845 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:20.161151 < "EHLO verifiedserver" 17:50:20.161195 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:20.161357 < "HELP" 17:50:20.161393 > "214 WE ROOLZ: 125707[CR][LF]" 17:50:20.161409 return proof we are we 17:50:20.161625 < "QUIT" 17:50:20.161653 > "221 curl ESMTP server signing off[CR][LF]" 17:50:20.162715 MAIN sockfilt said DISC 17:50:20.162750 ====> Client disconnected 17:50:20.162817 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:20.006717 ====> Client connect 17:50:20.007041 Received DATA (on stdin) 17:50:20.007055 > 146 bytes data, server => client 17:50:20.007067 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:20.007077 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:20.007087 '220 \___|\___/|_| \_\_____|\r\n' 17:50:20.007163 < 21 bytes data, client => server 17:50:20.007179 'EHLO verifiedserver\r\n' 17:50:20.007380 Received DATA (on stdin) 17:50:20.007391 > 53 bytes data, server => client 17:50:20.007402 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:20.007454 < 6 bytes data, client => server 17:50:20.007465 'HELP\r\n' 17:50:20.007588 Received DATA (on stdin) 17:50:20.007599 > 22 bytes data, server => client 17:50:20.007609 '214 WE ROOLZ: 125707\r\n' 17:50:20.007723 < 6 bytes data, client => server 17:50:20.007735 'QUIT\r\n' 17:50:20.007834 Received DATA (on stdin) 17:50:20.007844 > 35 bytes data, server => client 17:50:20.007854 '221 curl ESMTP server signing off\r\n' 17:50:20.008840 ====> Client disconnect 17:50:20.008999 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind927 ==127022== ==127022== Process terminating with default action of signal 4 (SIGILL) ==127022== Illegal opcode at address 0x4014520 ==127022== at 0x4014520: getparameter (tool_getparam.c:2862) ==127022== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127022== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127022== by 0x4003728: main (tool_main.c:186) === End of file valgrind927 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 35689 (log/13/server/smtp_server.port) RUN: SMTP server is PID 126286 port 35689 * pid smtp => 126286 126286 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/13/valgrind919 ../src/curl -q --output log/13/curl919.out --include --trace-ascii log/13/trace919 --trace-time smtp://127.0.0.1:35689/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/13/stdout919 2> log/13/stderr919 919: 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 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/13/valgrind919 ../src/curl -q --output log/13/curl919.out --include --trace-ascii log/13/trace919 --trace-time smtp://127.0.0.1:35689/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/13/stdout919 2> log/13/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 17:50:19.230357 SMTP server listens on port IPv4/35689 17:50:19.230492 logged pid 126286 in log/13/server/smtp_server.pid 17:50:19.230531 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:19.070984 Running IPv4 version 17:50:19.071078 Listening on port 35689 17:50:19.071133 Wrote pid 126343 to log/13/server/smtp_sockfilt.pid 17:50:19.071170 Wrote port 35689 to log/13/server/smtp_server.port 17:50:19.076387CMD (33792): ../libtool --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:38357/924 --mail-rcpt smith > log/4/stdout924 2> log/4/stderr924 CMD (33792): ../libtool --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/valgrind931 ../src/curl -q --output log/8/curl931.out --include --trace-ascii log/8/trace931 --trace-time smtp://127.0.0.1:45515/%0d%0a/931 > log/8/stdout931 2> log/8/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/17/valgrind929 ../src/curl -q --output log/17/curl929.out --include --trace-ascii log/17/trace929 --trace-time smtp://127.0.0.1:39599/929 -X NOOP -I > log/17/stdout929 2> log/17/stderr929 Received PING (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 ==127013== ==127013== Process terminating with default action of signal 4 (SIGILL) ==127013== Illegal opcode at address 0x4014520 ==127013== at 0x4014520: getparameter (tool_getparam.c:2862) ==127013== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127013== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127013== by 0x4003728: main (tool_main.c:186) === End of file valgrind919 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 38357 (log/4/server/smtp_server.port) RUN: SMTP server is PID 126447 port 38357 * pid smtp => 126447 126447 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:38357/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:38357/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 17:50:19.511661 SMTP server listens on port IPv4/38357 17:50:19.511777 logged pid 126447 in log/4/server/smtp_server.pid 17:50:19.511811 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:19.357334 Running IPv4 version 17:50:19.357442 Listening on port 38357 17:50:19.357489 Wrote pid 126454 to log/4/server/smtp_sockfilt.pid 17:50:19.357554 Wrote port 38357 to log/4/server/smtp_server.port 17:50:19.357734 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind924 ==127444== ==127444== Process terminating with default action of signal 4 (SIGILL) ==127444== Illegal opcode at address 0x4014520 ==127444== at 0x4014520: getparameter (tool_getparam.c:2862) ==127444== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127444== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127444== by 0x4003728: main (tool_main.c:186) === End of file valgrind924 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/8/valgrind931 ../src/curl -q --output log/8/curl931.out --include --trace-ascii log/8/trace931 --trace-time smtp://127.0.0.1:45515/%0d%0a/931 > log/8/stdout931 2> log/8/stderr931 curl returned 132, when expecting 3 931: exit FAILED == Contents of files in the log/8/ 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/8/valgrind931 ../src/curl -q --output log/8/curl931.out --include --trace-ascii log/8/trace931 --trace-time smtp://127.0.0.1:45515/%0d%0a/931 > log/8/stdout931 2> log/8/stderr931 === End of file commands.log === Start of file server.cmd Testnum 931 === End of file server.cmd === Start of file smtp_server.log 17:50:20.480212 ====> Client connect 17:50:20.480404 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:20.486992 < "EHLO verifiedserver" 17:50:20.487059 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:20.487320 < "HELP" 17:50:20.487363 > "214 WE ROOLZ: 110752[CR][LF]" 17:50:20.487378 return proof we are we 17:50:20.487636 < "QUIT" 17:50:20.487675 > "221 curl ESMTP server signing off[CR][LF]" 17:50:20.488876 MAIN sockfilt said DISC 17:50:20.488907 ====> Client disconnected 17:50:20.488979 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:20.326218 ====> Client connect 17:50:20.326611 Received DATA (on stdin) 17:50:20.326629 > 146 bytes data, server => client 17:50:20.326641 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:20.326652 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:20.326662 '220 \___|\___/|_| \_\_____|\r\n' 17:50:20.332879 < 21 bytes data, client => server 17:50:20.332927 'EHLO verifiedserver\r\n' 17:50:20.333250 Received DATA (on stdin) 17:50:20.333264 > 53 bytes data, server => client 17:50:20.333275 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:20.333385 < 6 bytes data, client => server 17:50:20.333396 'HELP\r\n' 17:50:20.333560 Received DATA (on stdin) 17:50:20.333571 > 22 bytes data, server => client 17:50:20.333579 '214 WE ROOLZ: 110752\r\n' 17:50:20.333720 < 6 bytes data, client => server 17:50:20.333732 'QUIT\r\n' 17:50:20.333856 Received DATA (on stdin) 17:50:20.333865 > 35 bytes data, server => client 17:50:20.333875 '221 curl ESMTP server signing off\r\n' 17:50:20.335003 ====> Client disconnect 17:50:20.335158 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind931 ==127495== ==127495== Process terminating with default action of signal 4 (SIGILL) ==127495== Illegal opcode at address 0x4014520 ==127495== at 0x4014520: getparameter (tool_getparam.c:2862) ==127495== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127495== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127495== by 0x4003728: main (tool_main.c:186) === End of file valgrind931 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/17/valgrind929 ../src/curl -q --output log/17/curl929.out --include --trace-ascii log/17/trace929 --trace-time smtp://127.0.0.1:39599/929 -X NOOP -I > log/17/stdout929 2> log/17/stderr929 929: 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 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/17/valgrind929 ../src/curl -q --output log/17/curl929.out --include --trace-ascii log/17/trace929 --trace-time smtp://127.0.0.1:39599/929 -X NOOP -I > log/17/stdout929 2> log/17/stderr929 === End of file commands.log === Start of file server.cmd Testnum 929 === End of file server.cmd === Start of file smtp_server.log 17:50:20.234588 ====> Client connect 17:50:20.234812 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:20.244120 < "EHLO verifiedserver" 17:50:20.244206 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:20.244807 < "HELP" 17:50:20.244846 > "214 WE ROOLZ: 125701[CR][LF]" 17:50:20.244867 return proof we are we 17:50:20.245117 < "QUIT" 17:50:20.245152 > "221 curl ESMTP server signing off[CR][LF]" 17: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/7/valgrind930 ../src/curl -q --output log/7/curl930.out --include --trace-ascii log/7/trace930 --trace-time smtp://127.0.0.1:44215/930 -X RSET -I > log/7/stdout930 2> log/7/stderr930 CMD (33792): ../libtool --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/valgrind926 ../src/curl -q --output log/23/curl926.out --include --trace-ascii log/23/trace926 --trace-time smtp://127.0.0.1:41181/926 --mail-rcpt recipient > log/23/stdout926 2> log/23/stderr926 0:20.246357 MAIN sockfilt said DISC 17:50:20.246395 ====> Client disconnected 17:50:20.246483 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:20.080632 ====> Client connect 17:50:20.081019 Received DATA (on stdin) 17:50:20.081037 > 146 bytes data, server => client 17:50:20.081050 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:20.081061 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:20.081071 '220 \___|\___/|_| \_\_____|\r\n' 17:50:20.089790 < 21 bytes data, client => server 17:50:20.089827 'EHLO verifiedserver\r\n' 17:50:20.090406 Received DATA (on stdin) 17:50:20.090422 > 53 bytes data, server => client 17:50:20.090434 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:20.090875 < 6 bytes data, client => server 17:50:20.090894 'HELP\r\n' 17:50:20.091053 Received DATA (on stdin) 17:50:20.091066 > 22 bytes data, server => client 17:50:20.091077 '214 WE ROOLZ: 125701\r\n' 17:50:20.091200 < 6 bytes data, client => server 17:50:20.091217 'QUIT\r\n' 17:50:20.091342 Received DATA (on stdin) 17:50:20.091355 > 35 bytes data, server => client 17:50:20.091366 '221 curl ESMTP server signing off\r\n' 17:50:20.092478 ====> Client disconnect 17:50:20.092680 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind929 ==127138== ==127138== Process terminating with default action of signal 4 (SIGILL) ==127138== Illegal opcode at address 0x4014520 ==127138== at 0x4014520: getparameter (tool_getparam.c:2862) ==127138== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127138== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127138== by 0x4003728: main (tool_main.c:186) === 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/7/valgrind930 ../src/curl -q --output log/7/curl930.out --include --trace-ascii log/7/trace930 --trace-time smtp://127.0.0.1:44215/930 -X RSET -I > log/7/stdout930 2> log/7/stderr930 930: 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 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/7/valgrind930 ../src/curl -q --output log/7/curl930.out --include --trace-ascii log/7/trace930 --trace-time smtp://127.0.0.1:44215/930 -X RSET -I > log/7/stdout930 2> log/7/stderr930 === End of file commands.log === Start of file server.cmd Testnum 930 === End of file server.cmd === Start of file smtp_server.log 17:50:20.433481 ====> Client connect 17:50:20.433688 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:20.434045 < "EHLO verifiedserver" 17:50:20.434095 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:20.434266 < "HELP" 17:50:20.434300 > "214 WE ROOLZ: 125702[CR][LF]" 17:50:20.434314 return proof we are we 17:50:20.434556 < "QUIT" 17:50:20.434585 > "221 curl ESMTP server signing off[CR][LF]" 17:50:20.435852 MAIN sockfilt said DISC 17:50:20.435882 ====> Client disconnected 17:50:20.435958 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:20.279532 ====> Client connect 17:50:20.279887 Received DATA (on stdin) 17:50:20.279903 > 146 bytes data, server => client 17:50:20.279915 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:20.279930 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:20.279939 '220 \___|\___/|_| \_\_____|\r\n' 17:50:20.280060 < 21 bytes data, client => server 17:50:20.280071 'EHLO verifiedserver\r\n' 17:50:20.280279 Received DATA (on stdin) 17:50:20.280290 > 53 bytes data, server => client 17:50:20.280301 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:20.280359 < 6 bytes data, client => server 17:50:20.280369 'HELP\r\n' 17:50:20.280494 Received DATA (on stdin) 17:50:20.280504 > 22 bytes data, server => client 17:50:20.280514 '214 WE ROOLZ: 125702\r\n' 17:50:20.280628 < 6 bytes data, client => server 17:50:20.280640 'QUIT\r\n' 17:50:20.280766 Received DATA (on stdin) 17:50:20.280776 > 35 bytes data, server => client 17:50:20.280786 '221 curl ESMTP server signing off\r\n' 17:50:20.281977 ====> Client disconnect 17:50:20.282137 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind930 ==127422== ==127422== Process terminating with default action of signal 4 (SIGILL) ==127422== Illegal opcode at address 0x4014520 ==127422== at 0x4014520: getparameter (tool_getparam.c:2862) ==127422== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127422== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127422== by 0x4003728: main (tool_main.c:186) === End of file valgrind930 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/23/valgrind926 ../src/curl -q --output log/23/curl926.out --include --trace-ascii log/23/trace926 --trace-time smtp://127.0.0.1:41181/926 --mail-rcpt recipient > log/23/stdout926 2> log/23/stderr926 926: 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 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/23/valgrind926 ../src/curl -q --output log/23/curl926.out --include --trace-ascii log/23/trace926 --trace-time smtp://127.0.0.1:41181/926 --mail-rcpt recipient > log/23/stdout926 2> log/23/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 17:50:20.057937 ====> Client connect 17:50:20.058094 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:20.060517 < "EHLO verifiedserver" 17:50:20.060578 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:20.060752 < "HELP" 17:50:20.060789 > "214 WE ROOLZ: 110732[CR][LF]" 17:50:20.060804 return proof we are we 17:50:20.061046 < "QUIT" 17:50:20.061102 > "221 curl ESMTP server signing off[CR][LF]" 17:50:20.061374 MAIN sockfilt said DISC 17:50:20.061399 ====> Client disconnected 17:50:20.061619 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:19.904011 ====> Client connect 17:50:19.904286 Received DATA (on stdin) 17:50:19.904299 > 146 bytes data, server => client 17:50:19.904310 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:19.904320 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:19.904328 '220 \___|\___/|_| \_\_____|\r\n' 17:50:19.906489 < 21 bytes data, client => server 17:50:19.906509 'EHLO verifiedserver\r\n' 17:50:19.906763 Received DATA (on stdin) 17:50:19.906775 > 53 bytes data, server => client 17:50:19.906793 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:19.906844 < 6 bytes data, client => server 17:50:19.906862 'HELP\r\n' 17:50:19.906981 Received DATA (on stdin) 17:50:19.906991 > 22 bytes data, server => client 17:50:19.907012 '214 WE ROOLZ: 110732\r\n' 17:50:19.907118 < 6 bytes data, client => server 17:50:19.907129 'QUIT\r\n' 17:50:19.907237 Received DATA (on stdin) 17:50:19.907247 > 35 bytes data, server => client 17:50:CMD (33792): ../libtool --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/valgrind920 ../src/curl -q --output log/15/curl920.out --include --trace-ascii log/15/trace920 --trace-time smtp://127.0.0.1:36851/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/15/stdout920 2> log/15/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/2/valgrind922 ../src/curl -q --output log/2/curl922.out --include --trace-ascii log/2/trace922 --trace-time smtp://127.0.0.1:43413/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/2/stdout922 2> log/2/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/10/valgrind932 ../src/curl -q --output log/10/curl932.out --include --trace-ascii log/10/trace932 --trace-time smtp://127.0.0.1:45769/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/10/stdout932 2> log/10/stderr932 19.907280 '221 curl ESMTP server signing off\r\n' 17:50:19.907385 ====> Client disconnect 17:50:19.907606 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind926 ==126901== ==126901== Process terminating with default action of signal 4 (SIGILL) ==126901== Illegal opcode at address 0x4014520 ==126901== at 0x4014520: getparameter (tool_getparam.c:2862) ==126901== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==126901== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==126901== by 0x4003728: main (tool_main.c:186) === End of file valgrind926 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 36851 (log/15/server/smtp_server.port) RUN: SMTP server is PID 126298 port 36851 * pid smtp => 126298 126298 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/15/valgrind920 ../src/curl -q --output log/15/curl920.out --include --trace-ascii log/15/trace920 --trace-time smtp://127.0.0.1:36851/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/15/stdout920 2> log/15/stderr920 920: 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 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/15/valgrind920 ../src/curl -q --output log/15/curl920.out --include --trace-ascii log/15/trace920 --trace-time smtp://127.0.0.1:36851/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/15/stdout920 2> log/15/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 17:50:19.213700 SMTP server listens on port IPv4/36851 17:50:19.213836 logged pid 126298 in log/15/server/smtp_server.pid 17:50:19.213869 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:19.057489 Running IPv4 version 17:50:19.057586 Listening on port 36851 17:50:19.057629 Wrote pid 126329 to log/15/server/smtp_sockfilt.pid 17:50:19.057661 Wrote port 36851 to log/15/server/smtp_server.port 17:50:19.059729 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 ==127024== ==127024== Process terminating with default action of signal 4 (SIGILL) ==127024== Illegal opcode at address 0x4014520 ==127024== at 0x4014520: getparameter (tool_getparam.c:2862) ==127024== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127024== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127024== by 0x4003728: main (tool_main.c:186) === End of file valgrind920 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 43413 (log/2/server/smtp_server.port) RUN: SMTP server is PID 126352 port 43413 * pid smtp => 126352 126352 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/2/valgrind922 ../src/curl -q --output log/2/curl922.out --include --trace-ascii log/2/trace922 --trace-time smtp://127.0.0.1:43413/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/2/stdout922 2> log/2/stderr922 922: 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 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/2/valgrind922 ../src/curl -q --output log/2/curl922.out --include --trace-ascii log/2/trace922 --trace-time smtp://127.0.0.1:43413/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/2/stdout922 2> log/2/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 17:50:19.330682 SMTP server listens on port IPv4/43413 17:50:19.330845 logged pid 126352 in log/2/server/smtp_server.pid 17:50:19.330886 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:19.167463 Running IPv4 version 17:50:19.167575 Listening on port 43413 17:50:19.167621 Wrote pid 126393 to log/2/server/smtp_sockfilt.pid 17:50:19.167662 Wrote port 43413 to log/2/server/smtp_server.port 17:50:19.176674 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 ==127121== ==127121== Process terminating with default action of signal 4 (SIGILL) ==127121== Illegal opcode at address 0x4014520 ==127121== at 0x4014520: getparameter (tool_getparam.c:2862) ==127121== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127121== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127121== by 0x4003728: main (tool_main.c:186) === End of file valgrind922 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/10/valgrind932 ../src/curl -q --output log/10/curl932.out --include --trace-ascii log/10/trace932 --trace-time smtp://127.0.0.1:45769/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/10/stdout932 2> log/10/stderr932 932: 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 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/10/valgrind932 ../src/curl -q --output log/10/curl932.out --include --trace-ascii log/10/trace932 --trace-time smtp://127.0.0.1:45769/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/10/stdout932 2> log/10/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 17:50:20.490123 ====> Client connect 17:50:20.490306 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:20.490696 < "EHLO verifiedserver" 17:50:20.490742 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:20.49CMD (33792): ../libtool --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/valgrind933 ../src/curl -q --output log/24/curl933.out --include --trace-ascii log/24/trace933 --trace-time smtp://127.0.0.1:41015/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/24/stdout933 2> log/24/stderr933 CMD (33792): ../libtool --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/valgrind928 ../src/curl -q --output log/16/curl928.out --include --trace-ascii log/16/trace928 --trace-time smtp://127.0.0.1:42695/928 > log/16/stdout928 2> log/16/stderr928 0903 < "HELP" 17:50:20.490936 > "214 WE ROOLZ: 125760[CR][LF]" 17:50:20.490951 return proof we are we 17:50:20.491154 < "QUIT" 17:50:20.491184 > "221 curl ESMTP server signing off[CR][LF]" 17:50:20.492518 MAIN sockfilt said DISC 17:50:20.492551 ====> Client disconnected 17:50:20.492623 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:20.336181 ====> Client connect 17:50:20.336500 Received DATA (on stdin) 17:50:20.336514 > 146 bytes data, server => client 17:50:20.336525 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:20.336536 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:20.336544 '220 \___|\___/|_| \_\_____|\r\n' 17:50:20.336712 < 21 bytes data, client => server 17:50:20.336723 'EHLO verifiedserver\r\n' 17:50:20.336925 Received DATA (on stdin) 17:50:20.336936 > 53 bytes data, server => client 17:50:20.336947 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:20.336999 < 6 bytes data, client => server 17:50:20.337009 'HELP\r\n' 17:50:20.337131 Received DATA (on stdin) 17:50:20.337141 > 22 bytes data, server => client 17:50:20.337150 '214 WE ROOLZ: 125760\r\n' 17:50:20.337245 < 6 bytes data, client => server 17:50:20.337256 'QUIT\r\n' 17:50:20.337364 Received DATA (on stdin) 17:50:20.337373 > 35 bytes data, server => client 17:50:20.337382 '221 curl ESMTP server signing off\r\n' 17:50:20.338642 ====> Client disconnect 17:50:20.338806 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind932 ==127492== ==127492== Process terminating with default action of signal 4 (SIGILL) ==127492== Illegal opcode at address 0x4014520 ==127492== at 0x4014520: getparameter (tool_getparam.c:2862) ==127492== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127492== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127492== by 0x4003728: main (tool_main.c:186) === End of file valgrind932 test 0933...[SMTP NTLM 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/24/valgrind933 ../src/curl -q --output log/24/curl933.out --include --trace-ascii log/24/trace933 --trace-time smtp://127.0.0.1:41015/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/24/stdout933 2> log/24/stderr933 933: 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 933 === Start of file commands.log ../libtool --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/valgrind933 ../src/curl -q --output log/24/curl933.out --include --trace-ascii log/24/trace933 --trace-time smtp://127.0.0.1:41015/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/24/stdout933 2> log/24/stderr933 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 Rubbish REPLY * 501 AUTH exchange cancelled by client Testnum 933 === End of file server.cmd === Start of file smtp_server.log 17:50:20.731113 ====> Client connect 17:50:20.731299 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:20.733908 < "EHLO verifiedserver" 17:50:20.733965 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:20.736897 < "HELP" 17:50:20.736950 > "214 WE ROOLZ: 125811[CR][LF]" 17:50:20.736966 return proof we are we 17:50:20.737239 < "QUIT" 17:50:20.737269 > "221 curl ESMTP server signing off[CR][LF]" 17:50:20.738469 MAIN sockfilt said DISC 17:50:20.738499 ====> Client disconnected 17:50:20.738576 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:21.577168 ====> Client connect 17:50:21.577493 Received DATA (on stdin) 17:50:21.577506 > 146 bytes data, server => client 17:50:21.577518 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:21.577528 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:21.577538 '220 \___|\___/|_| \_\_____|\r\n' 17:50:21.579881 < 21 bytes data, client => server 17:50:21.579897 'EHLO verifiedserver\r\n' 17:50:21.580149 Received DATA (on stdin) 17:50:21.580160 > 53 bytes data, server => client 17:50:21.580170 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:21.582915 < 6 bytes data, client => server 17:50:21.582941 'HELP\r\n' 17:50:21.583148 Received DATA (on stdin) 17:50:21.583159 > 22 bytes data, server => client 17:50:21.583169 '214 WE ROOLZ: 125811\r\n' 17:50:21.583338 < 6 bytes data, client => server 17:50:21.583349 'QUIT\r\n' 17:50:21.583449 Received DATA (on stdin) 17:50:21.583459 > 35 bytes data, server => client 17:50:21.583469 '221 curl ESMTP server signing off\r\n' 17:50:21.584597 ====> Client disconnect 17:50:21.584755 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind933 ==127686== ==127686== Process terminating with default action of signal 4 (SIGILL) ==127686== Illegal opcode at address 0x4014520 ==127686== at 0x4014520: getparameter (tool_getparam.c:2862) ==127686== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127686== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127686== by 0x4003728: main (tool_main.c:186) === End of file valgrind933 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/16/valgrind928 ../src/curl -q --output log/16/curl928.out --include --trace-ascii log/16/trace928 --trace-time smtp://127.0.0.1:42695/928 > log/16/stdout928 2> log/16/stderr928 928: 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 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/16/valgrind928 ../src/curl -q --output log/16/curl928.out --include --trace-ascii log/16/trace928 --trace-time smtp://127.0.0.1:42695/928 > log/16/stdout928 2> log/16/stderr928 === End of file commands.log === Start of file server.cmd Testnum 928 === End of file server.cmd === Start of file smtp_server.log 17:50:20.220142 ====> Client connect 17:50:20.220343 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:20.223715 < "EHLO verifiedserver" 17:50:20.223777 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:20.223929 < "HELP" 17:50:20.223959 > "214 WE ROOLZ: 125705[CR][LF]" 17:50:20.223973 return proof we are we 17:50:20.224192 < "QUIT" 17:50:20.224218 > "221 curl ESMTP server signing off[CR][LF]" 17:50:20.225485 MAIN sockfilt said DISC 17:50:20.225519 ====> Client disconnected 17:50:20.225593 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:20.066182 ====> Client connect 17:50:20.069511 Received DATA (on stdin) 17:50:20.069544 > 146 bytes data, server => client 17:50:20.069555 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:20.069564 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:20.069573 '220 \___|\___/|_| \_\_____|\r\n' 17:50:20.069695 < 21 bytes data, client => server 17:50:20.069706 'EHLO verifiedserver\r\n' 17:50:20.069962 Received DATA (on stdin) 17:50:20.069973 > 53 bytes data, server => client 17:50:20.069982 '250 ESMCMD (33792): ../libtool --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/valgrind923 ../src/curl -q --output log/21/curl923.out --include --trace-ascii log/21/trace923 --trace-time smtp://127.0.0.1:37253/923 --mail-rcpt recipient > log/21/stdout923 2> log/21/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/11/valgrind936 ../src/curl -q --output log/11/curl936.out --include --trace-ascii log/11/trace936 --trace-time smtp://127.0.0.1:35641/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/11/stdout936 2> log/11/stderr936 CMD (33792): ../libtool --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/valgrind939 ../src/curl -q --output log/18/curl939.out --include --trace-ascii log/18/trace939 --trace-time smtp://127.0.0.1:43171/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/18/stdout939 2> log/18/stderr939 TP pingpong test server Hello verifiedserver\r\n' 17:50:20.070032 < 6 bytes data, client => server 17:50:20.070042 'HELP\r\n' 17:50:20.070151 Received DATA (on stdin) 17:50:20.070160 > 22 bytes data, server => client 17:50:20.070169 '214 WE ROOLZ: 125705\r\n' 17:50:20.070290 < 6 bytes data, client => server 17:50:20.070302 'QUIT\r\n' 17:50:20.070398 Received DATA (on stdin) 17:50:20.070408 > 35 bytes data, server => client 17:50:20.070417 '221 curl ESMTP server signing off\r\n' 17:50:20.071151 ====> Client disconnect 17:50:20.071774 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind928 ==127096== ==127096== Process terminating with default action of signal 4 (SIGILL) ==127096== Illegal opcode at address 0x4014520 ==127096== at 0x4014520: getparameter (tool_getparam.c:2862) ==127096== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127096== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127096== by 0x4003728: main (tool_main.c:186) === End of file valgrind928 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 37253 (log/21/server/smtp_server.port) RUN: SMTP server is PID 126376 port 37253 * pid smtp => 126376 126376 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/21/valgrind923 ../src/curl -q --output log/21/curl923.out --include --trace-ascii log/21/trace923 --trace-time smtp://127.0.0.1:37253/923 --mail-rcpt recipient > log/21/stdout923 2> log/21/stderr923 923: 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 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/21/valgrind923 ../src/curl -q --output log/21/curl923.out --include --trace-ascii log/21/trace923 --trace-time smtp://127.0.0.1:37253/923 --mail-rcpt recipient > log/21/stdout923 2> log/21/stderr923 === End of file commands.log === Start of file server.cmd Testnum 923 === End of file server.cmd === Start of file smtp_server.log 17:50:19.340483 SMTP server listens on port IPv4/37253 17:50:19.340578 logged pid 126376 in log/21/server/smtp_server.pid 17:50:19.340603 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:19.186274 Running IPv4 version 17:50:19.186368 Listening on port 37253 17:50:19.186412 Wrote pid 126407 to log/21/server/smtp_sockfilt.pid 17:50:19.186440 Wrote port 37253 to log/21/server/smtp_server.port 17:50:19.186574 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind923 ==127236== ==127236== Process terminating with default action of signal 4 (SIGILL) ==127236== Illegal opcode at address 0x4014520 ==127236== at 0x4014520: getparameter (tool_getparam.c:2862) ==127236== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127236== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127236== by 0x4003728: main (tool_main.c:186) === End of file valgrind923 test 0936...[SMTP NTLM 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/11/valgrind936 ../src/curl -q --output log/11/curl936.out --include --trace-ascii log/11/trace936 --trace-time smtp://127.0.0.1:35641/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/11/stdout936 2> log/11/stderr936 936: 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 936 === Start of file commands.log ../libtool --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/valgrind936 ../src/curl -q --output log/11/curl936.out --include --trace-ascii log/11/trace936 --trace-time smtp://127.0.0.1:35641/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/11/stdout936 2> log/11/stderr936 === End of file commands.log === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTH NTLM" 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 Rubbish REPLY * 501 AUTH exchange cancelled by client REPLY "AUTH PLAIN" 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 936 === End of file server.cmd === Start of file smtp_server.log 17:50:21.442584 ====> Client connect 17:50:21.442765 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:21.448845 < "EHLO verifiedserver" 17:50:21.448919 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:21.453532 < "HELP" 17:50:21.453599 > "214 WE ROOLZ: 110729[CR][LF]" 17:50:21.453616 return proof we are we 17:50:21.453938 < "QUIT" 17:50:21.453976 > "221 curl ESMTP server signing off[CR][LF]" 17:50:21.455376 MAIN sockfilt said DISC 17:50:21.455412 ====> Client disconnected 17:50:21.455500 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:21.288608 ====> Client connect 17:50:21.288968 Received DATA (on stdin) 17:50:21.288986 > 146 bytes data, server => client 17:50:21.288998 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:21.289009 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:21.289018 '220 \___|\___/|_| \_\_____|\r\n' 17:50:21.293290 < 21 bytes data, client => server 17:50:21.293326 'EHLO verifiedserver\r\n' 17:50:21.295118 Received DATA (on stdin) 17:50:21.295136 > 53 bytes data, server => client 17:50:21.295148 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:21.296240 < 6 bytes data, client => server 17:50:21.296274 'HELP\r\n' 17:50:21.299804 Received DATA (on stdin) 17:50:21.299823 > 22 bytes data, server => client 17:50:21.299834 '214 WE ROOLZ: 110729\r\n' 17:50:21.300017 < 6 bytes data, client => server 17:50:21.300034 'QUIT\r\n' 17:50:21.300165 Received DATA (on stdin) 17:50:21.300178 > 35 bytes data, server => client 17:50:21.300189 '221 curl ESMTP server signing off\r\n' 17:50:21.301501 ====> Client disconnect 17:50:21.301694 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-936 mail body === End of file stdin-for-936 === Start of file valgrind936 ==127820== ==127820== Process terminating with default action of signal 4 (SIGILL) ==127820== Illegal opcode at address 0x4014520 ==127820== at 0x4014520: getparameter (tool_getparam.c:2862) ==127820== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127820== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127820== by 0x4003728: main (tool_main.c:186) === End of file valgrind936 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/18/valgrind939 ../src/curl -q --output log/18/curl939.out --include --trace-ascii log/18/trace939 --trace-time smtp://127.0.0.1:43171/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/18/stdout939 2> log/18/stderr939 939: protocol FAILED! There was no content at all in the 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/valgrind940 ../src/curl -q --output log/19/curl940.out --include --trace-ascii log/19/trace940 --trace-time smtp://127.0.0.1:40777/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/19/stdout940 2> log/19/stderr940 CMD (33792): ../libtool --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/valgrind935 ../src/curl -q --output log/20/curl935.out --include --trace-ascii log/20/trace935 --trace-time smtp://127.0.0.1:43883/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/20/stdout935 2> log/20/stderr935 ile log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ 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/18/valgrind939 ../src/curl -q --output log/18/curl939.out --include --trace-ascii log/18/trace939 --trace-time smtp://127.0.0.1:43171/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/18/stdout939 2> log/18/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 17:50:21.782708 ====> Client connect 17:50:21.783148 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:21.787171 < "EHLO verifiedserver" 17:50:21.787242 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:21.787441 < "HELP" 17:50:21.787474 > "214 WE ROOLZ: 126048[CR][LF]" 17:50:21.787489 return proof we are we 17:50:21.787694 < "QUIT" 17:50:21.787724 > "221 curl ESMTP server signing off[CR][LF]" 17:50:21.788939 MAIN sockfilt said DISC 17:50:21.788977 ====> Client disconnected 17:50:21.789051 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:21.622850 ====> Client connect 17:50:21.632934 Received DATA (on stdin) 17:50:21.632972 > 146 bytes data, server => client 17:50:21.632984 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:21.632995 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:21.633004 '220 \___|\___/|_| \_\_____|\r\n' 17:50:21.633135 < 21 bytes data, client => server 17:50:21.633147 'EHLO verifiedserver\r\n' 17:50:21.633439 Received DATA (on stdin) 17:50:21.633453 > 53 bytes data, server => client 17:50:21.633464 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:21.633526 < 6 bytes data, client => server 17:50:21.633541 'HELP\r\n' 17:50:21.633667 Received DATA (on stdin) 17:50:21.633678 > 22 bytes data, server => client 17:50:21.633688 '214 WE ROOLZ: 126048\r\n' 17:50:21.633791 < 6 bytes data, client => server 17:50:21.633803 'QUIT\r\n' 17:50:21.633906 Received DATA (on stdin) 17:50:21.633917 > 35 bytes data, server => client 17:50:21.633927 '221 curl ESMTP server signing off\r\n' 17:50:21.635058 ====> Client disconnect 17:50:21.635245 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 ==127963== ==127963== Process terminating with default action of signal 4 (SIGILL) ==127963== Illegal opcode at address 0x4014520 ==127963== at 0x4014520: getparameter (tool_getparam.c:2862) ==127963== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127963== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127963== by 0x4003728: main (tool_main.c:186) === End of file valgrind939 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/19/valgrind940 ../src/curl -q --output log/19/curl940.out --include --trace-ascii log/19/trace940 --trace-time smtp://127.0.0.1:40777/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/19/stdout940 2> log/19/stderr940 940: 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 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/19/valgrind940 ../src/curl -q --output log/19/curl940.out --include --trace-ascii log/19/trace940 --trace-time smtp://127.0.0.1:40777/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/19/stdout940 2> log/19/stderr940 === End of file commands.log === Start of file server.cmd Testnum 940 === End of file server.cmd === Start of file smtp_server.log 17:50:21.855784 ====> Client connect 17:50:21.855985 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:21.860457 < "EHLO verifiedserver" 17:50:21.860534 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:21.860746 < "HELP" 17:50:21.860787 > "214 WE ROOLZ: 126194[CR][LF]" 17:50:21.860806 return proof we are we 17:50:21.861071 < "QUIT" 17:50:21.861109 > "221 curl ESMTP server signing off[CR][LF]" 17:50:21.862440 MAIN sockfilt said DISC 17:50:21.862477 ====> Client disconnected 17:50:21.862557 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:21.701844 ====> Client connect 17:50:21.706193 Received DATA (on stdin) 17:50:21.706233 > 146 bytes data, server => client 17:50:21.706247 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:21.706258 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:21.706268 '220 \___|\___/|_| \_\_____|\r\n' 17:50:21.706397 < 21 bytes data, client => server 17:50:21.706416 'EHLO verifiedserver\r\n' 17:50:21.706727 Received DATA (on stdin) 17:50:21.706741 > 53 bytes data, server => client 17:50:21.706753 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:21.706821 < 6 bytes data, client => server 17:50:21.706837 'HELP\r\n' 17:50:21.706991 Received DATA (on stdin) 17:50:21.707004 > 22 bytes data, server => client 17:50:21.707015 '214 WE ROOLZ: 126194\r\n' 17:50:21.707152 < 6 bytes data, client => server 17:50:21.707169 'QUIT\r\n' 17:50:21.707299 Received DATA (on stdin) 17:50:21.707314 > 35 bytes data, server => client 17:50:21.707325 '221 curl ESMTP server signing off\r\n' 17:50:21.708560 ====> Client disconnect 17:50:21.708751 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 ==127997== ==127997== Process terminating with default action of signal 4 (SIGILL) ==127997== Illegal opcode at address 0x4014520 ==127997== at 0x4014520: getparameter (tool_getparam.c:2862) ==127997== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127997== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127997== by 0x4003728: main (tool_main.c:186) === End of file valgrind940 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/20/valgrind935 ../src/curl -q --output log/20/curl935.out --include --trace-ascii log/20/trace935 --trace-time smtp://127.0.0.1:43883/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/20/stdout935 2> log/20/stderr935 935: 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 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/20/valgrind935 ../src/curl -q --output log/20/curl935.out --include --trace-ascii log/20/trace935 --trace-time smtp://127.0.0.1:43883/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/20/stdouCMD (33792): ../libtool --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/valgrind942 ../src/curl -q --output log/22/curl942.out --include --trace-ascii log/22/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:40615/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/22/stdout942 2> log/22/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/9/valgrind944 ../src/curl -q --output log/9/curl944.out --include --trace-ascii log/9/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:33219/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/9/stdout944 2> log/9/stderr944 CMD (33792): ../libtool --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/valgrind941 ../src/curl -q --output log/6/curl941.out --include --trace-ascii log/6/trace941 --trace-time smtp://127.0.0.1:33421/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/6/upload941 --crlf > log/6/stdout941 2> log/6/stderr941 t935 2> log/20/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 17:50:21.396702 ====> Client connect 17:50:21.397006 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:21.403709 < "EHLO verifiedserver" 17:50:21.403783 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:21.403993 < "HELP" 17:50:21.404035 > "214 WE ROOLZ: 125839[CR][LF]" 17:50:21.404058 return proof we are we 17:50:21.404310 < "QUIT" 17:50:21.404344 > "221 curl ESMTP server signing off[CR][LF]" 17:50:21.405785 MAIN sockfilt said DISC 17:50:21.405829 ====> Client disconnected 17:50:21.405914 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:21.237770 ====> Client connect 17:50:21.246212 Received DATA (on stdin) 17:50:21.246254 > 146 bytes data, server => client 17:50:21.246266 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:21.246276 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:21.246285 '220 \___|\___/|_| \_\_____|\r\n' 17:50:21.249621 < 21 bytes data, client => server 17:50:21.249651 'EHLO verifiedserver\r\n' 17:50:21.249980 Received DATA (on stdin) 17:50:21.249995 > 53 bytes data, server => client 17:50:21.250007 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:21.250071 < 6 bytes data, client => server 17:50:21.250087 'HELP\r\n' 17:50:21.250245 Received DATA (on stdin) 17:50:21.250259 > 22 bytes data, server => client 17:50:21.250271 '214 WE ROOLZ: 125839\r\n' 17:50:21.250393 < 6 bytes data, client => server 17:50:21.250410 'QUIT\r\n' 17:50:21.250529 Received DATA (on stdin) 17:50:21.250542 > 35 bytes data, server => client 17:50:21.250558 '221 curl ESMTP server signing off\r\n' 17:50:21.251900 ====> Client disconnect 17:50:21.252105 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 ==127801== ==127801== Process terminating with default action of signal 4 (SIGILL) ==127801== Illegal opcode at address 0x4014520 ==127801== at 0x4014520: getparameter (tool_getparam.c:2862) ==127801== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==127801== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==127801== by 0x4003728: main (tool_main.c:186) === End of file valgrind935 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/22/valgrind942 ../src/curl -q --output log/22/curl942.out --include --trace-ascii log/22/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:40615/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/22/stdout942 2> log/22/stderr942 942: 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 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/22/valgrind942 ../src/curl -q --output log/22/curl942.out --include --trace-ascii log/22/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:40615/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/22/stdout942 2> log/22/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 17:50:21.950209 ====> Client connect 17:50:21.950371 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:21.950675 < "EHLO verifiedserver" 17:50:21.950715 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:21.950866 < "HELP" 17:50:21.950895 > "214 WE ROOLZ: 110701[CR][LF]" 17:50:21.950909 return proof we are we 17:50:21.951117 < "QUIT" 17:50:21.951142 > "221 curl ESMTP server signing off[CR][LF]" 17:50:21.952298 MAIN sockfilt said DISC 17:50:21.952325 ====> Client disconnected 17:50:21.952392 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:21.796206 ====> Client connect 17:50:21.796568 Received DATA (on stdin) 17:50:21.796583 > 146 bytes data, server => client 17:50:21.796594 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:21.796604 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:21.796613 '220 \___|\___/|_| \_\_____|\r\n' 17:50:21.796707 < 21 bytes data, client => server 17:50:21.796718 'EHLO verifiedserver\r\n' 17:50:21.796898 Received DATA (on stdin) 17:50:21.796908 > 53 bytes data, server => client 17:50:21.796918 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:21.796967 < 6 bytes data, client => server 17:50:21.796977 'HELP\r\n' 17:50:21.797087 Received DATA (on stdin) 17:50:21.797097 > 22 bytes data, server => client 17:50:21.797105 '214 WE ROOLZ: 110701\r\n' 17:50:21.797199 < 6 bytes data, client => server 17:50:21.797210 'QUIT\r\n' 17:50:21.797321 Received DATA (on stdin) 17:50:21.797331 > 35 bytes data, server => client 17:50:21.797340 '221 curl ESMTP server signing off\r\n' 17:50:21.798434 ====> Client disconnect 17:50:21.798571 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 ==128054== ==128054== Process terminating with default action of signal 4 (SIGILL) ==128054== Illegal opcode at address 0x4014520 ==128054== at 0x4014520: getparameter (tool_getparam.c:2862) ==128054== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128054== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128054== by 0x4003728: main (tool_main.c:186) === End of file valgrind942 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/9/valgrind944 ../src/curl -q --output log/9/curl944.out --include --trace-ascii log/9/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:33219/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/9/stdout944 2> log/9/stderr944 944: 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 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/9/valgrind944 ../src/curl -q --output log/9/curl944.out --include --trace-ascii log/9/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:33219/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/9/stdout944 2> log/9/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 17:50:22.043479 ====> Client connect 17:50:22.043666 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.044003 < "EHLO verifiedserver" 17:50:22.044054 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.046870 < "HELP" 17:50:22.046930 > "214 WE ROOLZ: 126179[CR][LF]" 17:50:22.046952 return proof we are we 17:50:22.047275 < "QUIT" 17:50:22.047324 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.048601 MAIN sockfilt said DISC 17:50:22.048647 ====> Client disconnected 17:50:22.048740 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:21.889524 ====> Client connect 17:50:21.889861 Received DATA (on stdin) 17:50:21.889875 > 146 bytes data, server => client 17:50:21.889885 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:21.889894 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:21.889902 '220 \___|\___/|_| \_\_____|\r\n' 17:50:21.890009 < 21 bytes data, client => server 17:50:21.890021 'EHLO verifiedserver\r\n' 17:50:21.890239 Received DATA (on stdin) 17:50:21.890251 > 53 bytes data, server => client 17:50:21.890260 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:21.892853 < 6 bytes data, client => server 17:50:21.892879 'HELP\r\n' 17:50:21.893140 Received DATA (on stdin) 17:50:21.893155 > 22 bytes data, server => client 17:50:21.893165 '214 WE ROOLZ: 126179\r\n' 17:50:21.893336 < 6 bytes data, client => server 17:50:21.893353 'QUIT\r\n' 17:50:21.893511 Received DATA (on stdin) 17:50:21.893525 > 35 bytes data, server => client 17:50:21.893536 '221 curl ESMTP server signing off\r\n' 17:50:21.894717 ====> Client disconnect 17:50:21.902849 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 ==128183== ==128183== Process terminating with default action of signal 4 (SIGILL) ==128183== Illegal opcode at address 0x4014520 ==128183== at 0x4014520: getparameter (tool_getparam.c:2862) ==128183== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128183== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128183== by 0x4003728: main (tool_main.c:186) === End of file valgrind944 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/6/valgrind941 ../src/curl -q --output log/6/curl941.out --include --trace-ascii log/6/trace941 --trace-time smtp://127.0.0.1:33421/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/6/upload941 --crlf > log/6/stdout941 2> log/6/stderr941 941: 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 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/6/valgrind941 ../src/curl -q --output log/6/curl941.out --include --trace-ascii log/6/trace941 --trace-time smtp://127.0.0.1:33421/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/6/upload941 --crlf > log/6/stdout941 2> log/6/stderr941 === End of file commands.log === Start of file server.cmd Testnum 941 === End of file server.cmd === Start of file smtp_server.log 17:50:21.883539 ====> Client connect 17:50:21.883773 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:21.884112 < "EHLO verifiedserver" 17:50:21.884152 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:21.884291 < "HELP" 17:50:21.884322 > "214 WE ROOLZ: 126190[CR][LF]" 17:50:21.884338 return proof we are we 17:50:21.884524 < "QUIT" 17:50:21.884549 > "221 curl ESMTP server signing off[CR][LF]" 17:50:21.885687 MAIN sockfilt said DISC 17:50:21.885713 ====> Client disconnected 17:50:21.885778 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:21.726291 ====> Client connect 17:50:21.729974 Received DATA (on stdin) 17:50:21.729993 > 146 bytes data, server => client 17:50:21.730003 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:21.730012 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:21.730020 '220 \___|\___/|_| \_\_____|\r\n' 17:50:21.730138 < 21 bytes data, client => server 17:50:21.730148 'EHLO verifiedserver\r\n' 17:50:21.730333 Received DATA (on stdin) 17:50:21.730342 > 53 bytes data, server => client 17:50:21.730351 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:21.730398 < 6 bytes data, client => server 17:50:21.730407 'HELP\r\n' 17:50:21.730515 Received DATA (on stdin) 17:50:21.730524 > 22 bytes data, server => client 17:50:21.730532 '214 WE ROOLZ: 126190\r\n' 17:50:21.730631 < 6 bytes data, client => server 17:50:21.730641 'QUIT\r\n' 17:50:21.730726 Received DATA (on stdin) 17:50:21.730735 > 35 bytes data, server => client 17:50:21.730744 '221 curl ESMTP server signing off\r\n' 17:50:21.731816 ====> Client disconnect 17:50:21.731957 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 012345678901234567890123456789012345678901234567890CMD (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/6/stdout971 2> log/6/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/12/valgrind945 ../src/curl -q --output log/12/curl945.out --include --trace-ascii log/12/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:41059/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/12/stdout945 2> log/12/stderr945 1234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file upload941 === Start of file valgrind941 ==128029== ==128029== Process terminating with default action of signal 4 (SIGILL) ==128029== Illegal opcode at address 0x4014520 ==128029== at 0x4014520: getparameter (tool_getparam.c:2862) ==128029== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128029== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128029== by 0x4003728: main (tool_main.c:186) === 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/6/stdout971 2> log/6/stderr971 valgrind SKIPPED -r-----e--- OK (919 out of 1760, remaining: 01:24, took 0.063s, duration: 01:32) 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/12/valgrind945 ../src/curl -q --output log/12/curl945.out --include --trace-ascii log/12/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:41059/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/12/stdout945 2> log/12/stderr945 945: 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 945 === 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/23/valgrind954 ../src/curl -q --output log/23/curl954.out --include --trace-ascii log/23/trace954 --trace-time smtp://127.0.0.1:41181/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/23/stdout954 2> log/23/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/1/valgrind946 ../src/curl -q --output log/1/curl946.out --include --trace-ascii log/1/trace946 --trace-time smtp://127.0.0.1:37191/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/1/stdout946 2> log/1/stderr946 ests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind945 ../src/curl -q --output log/12/curl945.out --include --trace-ascii log/12/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:41059/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/12/stdout945 2> log/12/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 17:50:22.140083 ====> Client connect 17:50:22.140434 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.146985 < "EHLO verifiedserver" 17:50:22.147075 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.147317 < "HELP" 17:50:22.147357 > "214 WE ROOLZ: 126230[CR][LF]" 17:50:22.147377 return proof we are we 17:50:22.147631 < "QUIT" 17:50:22.147669 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.149096 MAIN sockfilt said DISC 17:50:22.149134 ====> Client disconnected 17:50:22.149219 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.982862 ====> Client connect 17:50:22.989523 Received DATA (on stdin) 17:50:22.989574 > 146 bytes data, server => client 17:50:22.989586 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.989599 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.989607 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.989762 < 21 bytes data, client => server 17:50:22.989774 'EHLO verifiedserver\r\n' 17:50:22.993267 Received DATA (on stdin) 17:50:22.993285 > 53 bytes data, server => client 17:50:22.993295 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.993395 < 6 bytes data, client => server 17:50:22.993411 'HELP\r\n' 17:50:22.993561 Received DATA (on stdin) 17:50:22.993575 > 22 bytes data, server => client 17:50:22.993586 '214 WE ROOLZ: 126230\r\n' 17:50:22.993712 < 6 bytes data, client => server 17:50:22.993730 'QUIT\r\n' 17:50:22.993857 Received DATA (on stdin) 17:50:22.993871 > 35 bytes data, server => client 17:50:22.993882 '221 curl ESMTP server signing off\r\n' 17:50:22.995213 ====> Client disconnect 17:50:22.995414 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 ==128302== ==128302== Process terminating with default action of signal 4 (SIGILL) ==128302== Illegal opcode at address 0x4014520 ==128302== at 0x4014520: getparameter (tool_getparam.c:2862) ==128302== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128302== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128302== by 0x4003728: main (tool_main.c:186) === End of file valgrind945 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/23/valgrind954 ../src/curl -q --output log/23/curl954.out --include --trace-ascii log/23/trace954 --trace-time smtp://127.0.0.1:41181/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/23/stdout954 2> log/23/stderr954 954: 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 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/23/valgrind954 ../src/curl -q --output log/23/curl954.out --include --trace-ascii log/23/trace954 --trace-time smtp://127.0.0.1:41181/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/23/stdout954 2> log/23/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 17:50:22.705373 ====> Client connect 17:50:22.705526 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.705846 < "EHLO verifiedserver" 17:50:22.705892 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.706068 < "HELP" 17:50:22.706100 > "214 WE ROOLZ: 110732[CR][LF]" 17:50:22.706116 return proof we are we 17:50:22.706331 < "QUIT" 17:50:22.706357 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.710082 MAIN sockfilt said DISC 17:50:22.710127 ====> Client disconnected 17:50:22.710202 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.551421 ====> Client connect 17:50:22.551724 Received DATA (on stdin) 17:50:22.551741 > 146 bytes data, server => client 17:50:22.551752 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.551763 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.551772 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.551874 < 21 bytes data, client => server 17:50:22.551887 'EHLO verifiedserver\r\n' 17:50:22.552077 Received DATA (on stdin) 17:50:22.552088 > 53 bytes data, server => client 17:50:22.552099 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.552155 < 6 bytes data, client => server 17:50:22.552166 'HELP\r\n' 17:50:22.552296 Received DATA (on stdin) 17:50:22.552306 > 22 bytes data, server => client 17:50:22.552316 '214 WE ROOLZ: 110732\r\n' 17:50:22.552422 < 6 bytes data, client => server 17:50:22.552435 'QUIT\r\n' 17:50:22.552538 Received DATA (on stdin) 17:50:22.552548 > 35 bytes data, server => client 17:50:22.552558 '221 curl ESMTP server signing off\r\n' 17:50:22.553690 ====> Client disconnect 17:50:22.556612 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 ==128774== ==128774== Process terminating with default action of signal 4 (SIGILL) ==128774== Illegal opcode at address 0x4014520 ==128774== at 0x4014520: getparameter (tool_getparam.c:2862) ==128774== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128774== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128774== by 0x4003728: main (tool_main.c:186) === End of file valgrind954 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/1/valgrind946 ../src/curl -q --output log/1/curl946.out --include --trace-ascii log/1/trace946 --trace-time smtp://127.0.0.1:37191/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/1/stdout946 2> log/1/stderr946 946: 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 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/1/valgrind946 ../src/curl -q --output log/1/curl946.out --include --trace-ascii log/1/trace946 --trace-time smtp://127.0.0.1:37191/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/1/stdout946 2> log/1/stderr946 === End of file commands.log === Start of file server.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/valgrind957 ../src/curl -q --output log/10/curl957.out --include --trace-ascii log/10/trace957 --trace-time smtp://127.0.0.1:45769/957 --mail-rcpt Användaren > log/10/stdout957 2> log/10/stderr957 CMD (33792): ../libtool --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/valgrind943 ../src/curl -q --output log/14/curl943.out --include --trace-ascii log/14/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:37041/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/14/stdout943 2> log/14/stderr943 md AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzcxOTEBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 235 Authenticated Testnum 946 === End of file server.cmd === Start of file smtp_server.log 17:50:22.215403 ====> Client connect 17:50:22.215610 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.215933 < "EHLO verifiedserver" 17:50:22.215989 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.216169 < "HELP" 17:50:22.216203 > "214 WE ROOLZ: 126197[CR][LF]" 17:50:22.216218 return proof we are we 17:50:22.216448 < "QUIT" 17:50:22.216480 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.217583 MAIN sockfilt said DISC 17:50:22.217618 ====> Client disconnected 17:50:22.217701 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.061449 ====> Client connect 17:50:22.061808 Received DATA (on stdin) 17:50:22.061823 > 146 bytes data, server => client 17:50:22.061836 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.061846 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.061856 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.061944 < 21 bytes data, client => server 17:50:22.061956 'EHLO verifiedserver\r\n' 17:50:22.062174 Received DATA (on stdin) 17:50:22.062188 > 53 bytes data, server => client 17:50:22.062198 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.062256 < 6 bytes data, client => server 17:50:22.062266 'HELP\r\n' 17:50:22.062397 Received DATA (on stdin) 17:50:22.062407 > 22 bytes data, server => client 17:50:22.062417 '214 WE ROOLZ: 126197\r\n' 17:50:22.062540 < 6 bytes data, client => server 17:50:22.062552 'QUIT\r\n' 17:50:22.062660 Received DATA (on stdin) 17:50:22.062670 > 35 bytes data, server => client 17:50:22.062680 '221 curl ESMTP server signing off\r\n' 17:50:22.063699 ====> Client disconnect 17:50:22.063886 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 ==128349== ==128349== Process terminating with default action of signal 4 (SIGILL) ==128349== Illegal opcode at address 0x4014520 ==128349== at 0x4014520: getparameter (tool_getparam.c:2862) ==128349== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128349== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128349== by 0x4003728: main (tool_main.c:186) === End of file valgrind946 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/10/valgrind957 ../src/curl -q --output log/10/curl957.out --include --trace-ascii log/10/trace957 --trace-time smtp://127.0.0.1:45769/957 --mail-rcpt Användaren > log/10/stdout957 2> log/10/stderr957 957: 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 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 --num-callers=16 --log-file=log/10/valgrind957 ../src/curl -q --output log/10/curl957.out --include --trace-ascii log/10/trace957 --trace-time smtp://127.0.0.1:45769/957 --mail-rcpt Användaren > log/10/stdout957 2> log/10/stderr957 === End of file commands.log === Start of file server.cmd Testnum 957 === End of file server.cmd === Start of file smtp_server.log 17:50:22.824052 ====> Client connect 17:50:22.824278 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.824668 < "EHLO verifiedserver" 17:50:22.824719 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.824915 < "HELP" 17:50:22.824950 > "214 WE ROOLZ: 125760[CR][LF]" 17:50:22.824967 return proof we are we 17:50:22.825209 < "QUIT" 17:50:22.825244 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.826446 MAIN sockfilt said DISC 17:50:22.826486 ====> Client disconnected 17:50:22.826573 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.665902 ====> Client connect 17:50:22.670489 Received DATA (on stdin) 17:50:22.670516 > 146 bytes data, server => client 17:50:22.670529 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.670540 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.670550 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.670680 < 21 bytes data, client => server 17:50:22.670699 'EHLO verifiedserver\r\n' 17:50:22.670913 Received DATA (on stdin) 17:50:22.670927 > 53 bytes data, server => client 17:50:22.670939 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.671000 < 6 bytes data, client => server 17:50:22.671014 'HELP\r\n' 17:50:22.671149 Received DATA (on stdin) 17:50:22.671160 > 22 bytes data, server => client 17:50:22.671170 '214 WE ROOLZ: 125760\r\n' 17:50:22.671303 < 6 bytes data, client => server 17:50:22.671315 'QUIT\r\n' 17:50:22.671431 Received DATA (on stdin) 17:50:22.671445 > 35 bytes data, server => client 17:50:22.671456 '221 curl ESMTP server signing off\r\n' 17:50:22.672570 ====> Client disconnect 17:50:22.672768 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind957 ==129009== ==129009== Process terminating with default action of signal 4 (SIGILL) ==129009== Illegal opcode at address 0x4014520 ==129009== at 0x4014520: getparameter (tool_getparam.c:2862) ==129009== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129009== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129009== by 0x4003728: main (tool_main.c:186) === End of file valgrind957 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/14/valgrind943 ../src/curl -q --output log/14/curl943.out --include --trace-ascii log/14/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:37041/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/14/stdout943 2> log/14/stderr943 943: 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 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/14/valgrind943 ../src/curl -q --output log/14/curl943.out --include --trace-ascii log/14/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:37041/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/14/stdout943 2> log/14/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 17:50:22.070228 ====> Client connect 17:50:22.070472 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.070869 < "EHLO verifiedserver" 17:50:22.070927 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.083616 < "HELP" 17:50:22.083701 > "214 WE ROOLZ: 126067[CR][LF]" 17:50:22.083729 return proof we are we 17:50:22.084062 < "QUIT" 17:50:CMD (33792): ../libtool --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/valgrind948 ../src/curl -q --output log/13/curl948.out --include --trace-ascii log/13/trace948 --trace-time smtp://127.0.0.1:35689/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/13/stdout948 2> log/13/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/4/valgrind949 ../src/curl -q --output log/4/curl949.out --include --trace-ascii log/4/trace949 --trace-time smtp://127.0.0.1:38357/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/4/stdout949 2> log/4/stderr949 22.084105 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.085032 MAIN sockfilt said DISC 17:50:22.085072 ====> Client disconnected 17:50:22.085162 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:21.916205 ====> Client connect 17:50:21.916679 Received DATA (on stdin) 17:50:21.916698 > 146 bytes data, server => client 17:50:21.916710 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:21.916721 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:21.916730 '220 \___|\___/|_| \_\_____|\r\n' 17:50:21.916860 < 21 bytes data, client => server 17:50:21.916876 'EHLO verifiedserver\r\n' 17:50:21.922866 Received DATA (on stdin) 17:50:21.922935 > 53 bytes data, server => client 17:50:21.922948 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:21.929538 < 6 bytes data, client => server 17:50:21.929586 'HELP\r\n' 17:50:21.929920 Received DATA (on stdin) 17:50:21.929937 > 22 bytes data, server => client 17:50:21.929948 '214 WE ROOLZ: 126067\r\n' 17:50:21.930126 < 6 bytes data, client => server 17:50:21.930142 'QUIT\r\n' 17:50:21.930289 Received DATA (on stdin) 17:50:21.930301 > 35 bytes data, server => client 17:50:21.930311 '221 curl ESMTP server signing off\r\n' 17:50:21.931150 ====> Client disconnect 17:50:21.931360 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 ==128234== ==128234== Process terminating with default action of signal 4 (SIGILL) ==128234== Illegal opcode at address 0x4014520 ==128234== at 0x4014520: getparameter (tool_getparam.c:2862) ==128234== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128234== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128234== by 0x4003728: main (tool_main.c:186) === 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/13/valgrind948 ../src/curl -q --output log/13/curl948.out --include --trace-ascii log/13/trace948 --trace-time smtp://127.0.0.1:35689/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/13/stdout948 2> log/13/stderr948 948: 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 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/13/valgrind948 ../src/curl -q --output log/13/curl948.out --include --trace-ascii log/13/trace948 --trace-time smtp://127.0.0.1:35689/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/13/stdout948 2> log/13/stderr948 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzU2ODkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 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 17:50:22.551368 ====> Client connect 17:50:22.551569 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.552271 < "EHLO verifiedserver" 17:50:22.552326 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.552506 < "HELP" 17:50:22.552539 > "214 WE ROOLZ: 126286[CR][LF]" 17:50:22.552554 return proof we are we 17:50:22.552783 < "QUIT" 17:50:22.552818 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.553861 MAIN sockfilt said DISC 17:50:22.553893 ====> Client disconnected 17:50:22.553965 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.397433 ====> Client connect 17:50:22.398094 Received DATA (on stdin) 17:50:22.398118 > 146 bytes data, server => client 17:50:22.398130 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.398141 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.398150 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.398249 < 21 bytes data, client => server 17:50:22.398269 'EHLO verifiedserver\r\n' 17:50:22.398517 Received DATA (on stdin) 17:50:22.398529 > 53 bytes data, server => client 17:50:22.398540 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.398597 < 6 bytes data, client => server 17:50:22.398610 'HELP\r\n' 17:50:22.398735 Received DATA (on stdin) 17:50:22.398746 > 22 bytes data, server => client 17:50:22.398756 '214 WE ROOLZ: 126286\r\n' 17:50:22.398874 < 6 bytes data, client => server 17:50:22.398888 'QUIT\r\n' 17:50:22.399002 Received DATA (on stdin) 17:50:22.399014 > 35 bytes data, server => client 17:50:22.399025 '221 curl ESMTP server signing off\r\n' 17:50:22.399984 ====> Client disconnect 17:50:22.400152 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 ==128565== ==128565== Process terminating with default action of signal 4 (SIGILL) ==128565== Illegal opcode at address 0x4014520 ==128565== at 0x4014520: getparameter (tool_getparam.c:2862) ==128565== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128565== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128565== by 0x4003728: main (tool_main.c:186) === End of file valgrind948 test 0949...[SMTP OAuth 2.0 (OAUTHBEARER) 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/4/valgrind949 ../src/curl -q --output log/4/curl949.out --include --trace-ascii log/4/trace949 --trace-time smtp://127.0.0.1:38357/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/4/stdout949 2> log/4/stderr949 949: 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 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/4/valgrind949 ../src/curl -q --output log/4/curl949.out --include --trace-ascii log/4/trace949 --trace-time smtp://127.0.0.1:38357/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/4/stdout949 2> log/4/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 17:50:22.553365 ====> Client connect 17:50:22.553559 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.563547 < CMD (33792): ../libtool --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/valgrind947 ../src/curl -q --output log/5/curl947.out --include --trace-ascii log/5/trace947 --trace-time smtp://127.0.0.1:41899/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/5/stdout947 2> log/5/stderr947 CMD (33792): ../libtool --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/valgrind953 ../src/curl -q --output log/7/curl953.out --include --trace-ascii log/7/trace953 --trace-time smtp://127.0.0.1:44215/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/7/stdout953 2> log/7/stderr953 "EHLO verifiedserver" 17:50:22.563626 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.566945 < "HELP" 17:50:22.566998 > "214 WE ROOLZ: 126447[CR][LF]" 17:50:22.567013 return proof we are we 17:50:22.567249 < "QUIT" 17:50:22.567282 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.568606 MAIN sockfilt said DISC 17:50:22.568643 ====> Client disconnected 17:50:22.568708 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.396213 ====> Client connect 17:50:22.406190 Received DATA (on stdin) 17:50:22.406255 > 146 bytes data, server => client 17:50:22.406267 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.406277 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.406286 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.406440 < 21 bytes data, client => server 17:50:22.406458 'EHLO verifiedserver\r\n' 17:50:22.412847 Received DATA (on stdin) 17:50:22.412879 > 53 bytes data, server => client 17:50:22.412891 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.412997 < 6 bytes data, client => server 17:50:22.413008 'HELP\r\n' 17:50:22.413195 Received DATA (on stdin) 17:50:22.413206 > 22 bytes data, server => client 17:50:22.413216 '214 WE ROOLZ: 126447\r\n' 17:50:22.413334 < 6 bytes data, client => server 17:50:22.413345 'QUIT\r\n' 17:50:22.413462 Received DATA (on stdin) 17:50:22.413472 > 35 bytes data, server => client 17:50:22.413481 '221 curl ESMTP server signing off\r\n' 17:50:22.414724 ====> Client disconnect 17:50:22.414891 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 ==128580== ==128580== Process terminating with default action of signal 4 (SIGILL) ==128580== Illegal opcode at address 0x4014520 ==128580== at 0x4014520: getparameter (tool_getparam.c:2862) ==128580== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128580== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128580== by 0x4003728: main (tool_main.c:186) === End of file valgrind949 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/5/valgrind947 ../src/curl -q --output log/5/curl947.out --include --trace-ascii log/5/trace947 --trace-time smtp://127.0.0.1:41899/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/5/stdout947 2> log/5/stderr947 947: 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 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/5/valgrind947 ../src/curl -q --output log/5/curl947.out --include --trace-ascii log/5/trace947 --trace-time smtp://127.0.0.1:41899/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/5/stdout947 2> log/5/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 17:50:22.427184 ====> Client connect 17:50:22.427387 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.427771 < "EHLO verifiedserver" 17:50:22.427827 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.428028 < "HELP" 17:50:22.428066 > "214 WE ROOLZ: 126218[CR][LF]" 17:50:22.428082 return proof we are we 17:50:22.428322 < "QUIT" 17:50:22.428354 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.430064 MAIN sockfilt said DISC 17:50:22.430100 ====> Client disconnected 17:50:22.430174 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:23.272984 ====> Client connect 17:50:23.273585 Received DATA (on stdin) 17:50:23.273604 > 146 bytes data, server => client 17:50:23.273616 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:23.273626 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:23.273635 '220 \___|\___/|_| \_\_____|\r\n' 17:50:23.273758 < 21 bytes data, client => server 17:50:23.273771 'EHLO verifiedserver\r\n' 17:50:23.274015 Received DATA (on stdin) 17:50:23.274028 > 53 bytes data, server => client 17:50:23.274039 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:23.274105 < 6 bytes data, client => server 17:50:23.274116 'HELP\r\n' 17:50:23.274261 Received DATA (on stdin) 17:50:23.274272 > 22 bytes data, server => client 17:50:23.274282 '214 WE ROOLZ: 126218\r\n' 17:50:23.274393 < 6 bytes data, client => server 17:50:23.274405 'QUIT\r\n' 17:50:23.274538 Received DATA (on stdin) 17:50:23.274549 > 35 bytes data, server => client 17:50:23.274559 '221 curl ESMTP server signing off\r\n' 17:50:23.276181 ====> Client disconnect 17:50:23.276357 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 ==128485== ==128485== Process terminating with default action of signal 4 (SIGILL) ==128485== Illegal opcode at address 0x4014520 ==128485== at 0x4014520: getparameter (tool_getparam.c:2862) ==128485== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128485== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128485== by 0x4003728: main (tool_main.c:186) === End of file valgrind947 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/7/valgrind953 ../src/curl -q --output log/7/curl953.out --include --trace-ascii log/7/trace953 --trace-time smtp://127.0.0.1:44215/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/7/stdout953 2> log/7/stderr953 953: 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 953 === Start of file commands.log ../libtool --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/valgrind953 ../src/curl -q --output log/7/curl953.out --include --trace-ascii log/7/trace953 --trace-time smtp://127.0.0.1:44215/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/7/stdout953 2> log/7/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 17:50:22.733457 ====> Client connect 17:50:22.733608 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.743527 < "EHLO verifiedserver" 17:50:22.743601 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.750335 < "HELP" 17:50:22.750404 > "214 WE ROOLZ: 125702[CR][LF]" 17:50:22.750424 return proof we are we 17:50:22.750680 < "QUIT" 17:50:22.750711 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.751965 MAIN sockfilt said DISC 17:50:22.752000 ====> CMD (33792): ../libtool --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/valgrind951 ../src/curl -q --output log/17/curl951.out --include --trace-ascii log/17/trace951 --trace-time smtp://127.0.0.1:39599/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/17/stdout951 2> log/17/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/15/valgrind955 ../src/curl -q --output log/15/curl955.out --include --trace-ascii log/15/trace955 --trace-time smtp://127.0.0.1:36851/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/15/stdout955 2> log/15/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/2/valgrind956 ../src/curl -q --output log/2/curl956.out --include --trace-ascii log/2/trace956 --trace-time smtp://127.0.0.1:43413/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/2/stdout956 2> log/2/stderr956 Client disconnected 17:50:22.752076 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.579524 ====> Client connect 17:50:22.579803 Received DATA (on stdin) 17:50:22.579818 > 146 bytes data, server => client 17:50:22.579829 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.579839 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.579847 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.582866 < 21 bytes data, client => server 17:50:22.582891 'EHLO verifiedserver\r\n' 17:50:22.596186 Received DATA (on stdin) 17:50:22.596223 > 53 bytes data, server => client 17:50:22.596234 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.596360 < 6 bytes data, client => server 17:50:22.596375 'HELP\r\n' 17:50:22.596607 Received DATA (on stdin) 17:50:22.596619 > 22 bytes data, server => client 17:50:22.596629 '214 WE ROOLZ: 125702\r\n' 17:50:22.596765 < 6 bytes data, client => server 17:50:22.596782 'QUIT\r\n' 17:50:22.596897 Received DATA (on stdin) 17:50:22.596909 > 35 bytes data, server => client 17:50:22.596918 '221 curl ESMTP server signing off\r\n' 17:50:22.598093 ====> Client disconnect 17:50:22.598270 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 ==128908== ==128908== Process terminating with default action of signal 4 (SIGILL) ==128908== Illegal opcode at address 0x4014520 ==128908== at 0x4014520: getparameter (tool_getparam.c:2862) ==128908== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128908== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128908== by 0x4003728: main (tool_main.c:186) === End of file valgrind953 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/17/valgrind951 ../src/curl -q --output log/17/curl951.out --include --trace-ascii log/17/trace951 --trace-time smtp://127.0.0.1:39599/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/17/stdout951 2> log/17/stderr951 951: 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 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/17/valgrind951 ../src/curl -q --output log/17/curl951.out --include --trace-ascii log/17/trace951 --trace-time smtp://127.0.0.1:39599/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/17/stdout951 2> log/17/stderr951 === End of file commands.log === Start of file server.cmd Testnum 951 === End of file server.cmd === Start of file smtp_server.log 17:50:22.652911 ====> Client connect 17:50:22.653061 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.657010 < "EHLO verifiedserver" 17:50:22.657074 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.657768 < "HELP" 17:50:22.657805 > "214 WE ROOLZ: 125701[CR][LF]" 17:50:22.657821 return proof we are we 17:50:22.658041 < "QUIT" 17:50:22.658070 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.659069 MAIN sockfilt said DISC 17:50:22.659100 ====> Client disconnected 17:50:22.659169 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.498975 ====> Client connect 17:50:22.499257 Received DATA (on stdin) 17:50:22.499271 > 146 bytes data, server => client 17:50:22.499283 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.499294 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.499303 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.502945 < 21 bytes data, client => server 17:50:22.502978 'EHLO verifiedserver\r\n' 17:50:22.503263 Received DATA (on stdin) 17:50:22.503276 > 53 bytes data, server => client 17:50:22.503287 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.503838 < 6 bytes data, client => server 17:50:22.503856 'HELP\r\n' 17:50:22.504003 Received DATA (on stdin) 17:50:22.504014 > 22 bytes data, server => client 17:50:22.504024 '214 WE ROOLZ: 125701\r\n' 17:50:22.504133 < 6 bytes data, client => server 17:50:22.504146 'QUIT\r\n' 17:50:22.504253 Received DATA (on stdin) 17:50:22.504265 > 35 bytes data, server => client 17:50:22.504275 '221 curl ESMTP server signing off\r\n' 17:50:22.505202 ====> Client disconnect 17:50:22.505350 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 ==128695== ==128695== Process terminating with default action of signal 4 (SIGILL) ==128695== Illegal opcode at address 0x4014520 ==128695== at 0x4014520: getparameter (tool_getparam.c:2862) ==128695== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128695== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128695== by 0x4003728: main (tool_main.c:186) === End of file valgrind951 setenv LC_ALL = C.UTF-8 test 0956...[SMTP without SMTPUTF8 support - UTF-8 based 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/2/valgrind956 ../src/curl -q --output log/2/curl956.out --include --trace-ascii log/2/trace956 --trace-time smtp://127.0.0.1:43413/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/2/stdout956 2> log/2/stderr956 956: 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 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/2/valgrind956 ../src/curl -q --output log/2/curl956.out --include --trace-ascii log/2/trace956 --trace-time smtp://127.0.0.1:43413/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/2/stdout956 2> log/2/stderr956 === End of file commands.log === Start of file server.cmd Testnum 956 === End of file server.cmd === Start of file smtp_server.log 17:50:22.828702 ====> Client connect 17:50:22.828916 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.837276 < "EHLO verifiedserver" 17:50:22.837359 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.837600 < "HELP" 17:50:22.837647 > "214 WE ROOLZ: 126352[CR][LF]" 17:50:22.837666 return proof we are we 17:50:22.837923 < "QUIT" 17:50:22.837960 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.839170 MAIN sockfilt said DISC 17:50:22.839206 ====> Client disconnected 17:50:22.839294 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.674768 ====> Client connect 17:50:22.675117 Received DATA (on stdin) 17:50:22.675133 > 146 bytes data, server => client 17:50:22.675144 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.675154 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.675163 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.683128 < 21 bytes data, client => server 17:50:22.683171 'EHLO verifiedserver\r\n' 17:50:22.683557 Received DATA (on stdin) 17:50:22.683574 > 53 bytes data, 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/8/valgrind950 ../src/curl -q --output log/8/curl950.out --include --trace-ascii log/8/trace950 --trace-time smtp://127.0.0.1:45515/950 --mail-rcpt recipient --request "vrfy" > log/8/stdout950 2> log/8/stderr950 r => client 17:50:22.683585 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.683661 < 6 bytes data, client => server 17:50:22.683675 'HELP\r\n' 17:50:22.683850 Received DATA (on stdin) 17:50:22.683863 > 22 bytes data, server => client 17:50:22.683873 '214 WE ROOLZ: 126352\r\n' 17:50:22.683999 < 6 bytes data, client => server 17:50:22.684015 'QUIT\r\n' 17:50:22.684147 Received DATA (on stdin) 17:50:22.684160 > 35 bytes data, server => client 17:50:22.684171 '221 curl ESMTP server signing off\r\n' 17:50:22.685290 ====> Client disconnect 17:50:22.685486 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 ==129022== ==129022== Process terminating with default action of signal 4 (SIGILL) ==129022== Illegal opcode at address 0x4014520 ==129022== at 0x4014520: getparameter (tool_getparam.c:2862) ==129022== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129022== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129022== by 0x4003728: main (tool_main.c:186) === End of file valgrind956 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/15/valgrind955 ../src/curl -q --output log/15/curl955.out --include --trace-ascii log/15/trace955 --trace-time smtp://127.0.0.1:36851/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/15/stdout955 2> log/15/stderr955 955: 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 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/15/valgrind955 ../src/curl -q --output log/15/curl955.out --include --trace-ascii log/15/trace955 --trace-time smtp://127.0.0.1:36851/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/15/stdout955 2> log/15/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 17:50:22.733457 ====> Client connect 17:50:22.733628 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.737163 < "EHLO verifiedserver" 17:50:22.737231 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.737466 < "HELP" 17:50:22.737499 > "214 WE ROOLZ: 126298[CR][LF]" 17:50:22.737517 return proof we are we 17:50:22.737740 < "QUIT" 17:50:22.737772 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.738885 MAIN sockfilt said DISC 17:50:22.738918 ====> Client disconnected 17:50:22.739000 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.579530 ====> Client connect 17:50:22.579812 Received DATA (on stdin) 17:50:22.579825 > 146 bytes data, server => client 17:50:22.579836 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.579846 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.579854 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.580825 < 21 bytes data, client => server 17:50:22.580844 'EHLO verifiedserver\r\n' 17:50:22.583424 Received DATA (on stdin) 17:50:22.583440 > 53 bytes data, server => client 17:50:22.583451 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.583551 < 6 bytes data, client => server 17:50:22.583564 'HELP\r\n' 17:50:22.583698 Received DATA (on stdin) 17:50:22.583710 > 22 bytes data, server => client 17:50:22.583720 '214 WE ROOLZ: 126298\r\n' 17:50:22.583831 < 6 bytes data, client => server 17:50:22.583845 'QUIT\r\n' 17:50:22.583955 Received DATA (on stdin) 17:50:22.583967 > 35 bytes data, server => client 17:50:22.583977 '221 curl ESMTP server signing off\r\n' 17:50:22.585008 ====> Client disconnect 17:50:22.585192 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 ==128838== ==128838== Process terminating with default action of signal 4 (SIGILL) ==128838== Illegal opcode at address 0x4014520 ==128838== at 0x4014520: getparameter (tool_getparam.c:2862) ==128838== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128838== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128838== by 0x4003728: main (tool_main.c:186) === End of file valgrind955 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/8/valgrind950 ../src/curl -q --output log/8/curl950.out --include --trace-ascii log/8/trace950 --trace-time smtp://127.0.0.1:45515/950 --mail-rcpt recipient --request "vrfy" > log/8/stdout950 2> log/8/stderr950 950: 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 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/8/valgrind950 ../src/curl -q --output log/8/curl950.out --include --trace-ascii log/8/trace950 --trace-time smtp://127.0.0.1:45515/950 --mail-rcpt recipient --request "vrfy" > log/8/stdout950 2> log/8/stderr950 === End of file commands.log === Start of file server.cmd Testnum 950 === End of file server.cmd === Start of file smtp_server.log 17:50:22.563494 ====> Client connect 17:50:22.565343 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.567329 < "EHLO verifiedserver" 17:50:22.567386 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.567593 < "HELP" 17:50:22.567636 > "214 WE ROOLZ: 110752[CR][LF]" 17:50:22.567656 return proof we are we 17:50:22.567925 < "QUIT" 17:50:22.567959 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.569536 MAIN sockfilt said DISC 17:50:22.569574 ====> Client disconnected 17:50:22.569651 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.409534 ====> Client connect 17:50:22.411557 Received DATA (on stdin) 17:50:22.411579 > 146 bytes data, server => client 17:50:22.411592 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.411603 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.411613 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.413315 < 21 bytes data, client => server 17:50:22.413338 'EHLO verifiedserver\r\n' 17:50:22.413581 Received DATA (on stdin) 17:50:22.413596 > 53 bytes data, server => client 17:50:22.413608 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.413672 < 6 bytes data, client => server 17:50:22.413688 'HELP\r\n' 17:50:22.413842 Received DATA (on stdin) 17:50:22.413856 > 22 bytes data, server => client 17:50:22.413867 '214 WE ROOLZ: 110752\r\n' 17:50:22.413986 < 6 bytes data, client => server 17:50:22.414004 'QUIT\r\n' 17:50:22.414146 Received DATA (on stdin) 17:50:22.414158 > 35 bytes data, server => client 17:50:22.414169 '221 curl ESMTP server signing off\r\n' 17:50:22.415388 ====> Client disconnect 17:50:22.415844 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind950 ==128584== ==128584== PCMD (33792): ../libtool --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/valgrind952 ../src/curl -q --output log/3/curl952.out --include --trace-ascii log/3/trace952 --trace-time smtp://127.0.0.1:41177/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout952 2> log/3/stderr952 CMD (33792): ../libtool --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/valgrind958 ../src/curl -q --output log/24/curl958.out --include --trace-ascii log/24/trace958 --trace-time smtp://127.0.0.1:41015/958 --mail-rcpt Användaren@example.com > log/24/stdout958 2> log/24/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/16/valgrind962 ../src/curl -q --output log/16/curl962.out --include --trace-ascii log/16/trace962 --trace-time smtp://127.0.0.1:42695/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/16/stdout962 2> log/16/stderr962 rocess terminating with default action of signal 4 (SIGILL) ==128584== Illegal opcode at address 0x4014520 ==128584== at 0x4014520: getparameter (tool_getparam.c:2862) ==128584== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128584== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128584== by 0x4003728: main (tool_main.c:186) === End of file valgrind950 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/3/valgrind952 ../src/curl -q --output log/3/curl952.out --include --trace-ascii log/3/trace952 --trace-time smtp://127.0.0.1:41177/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout952 2> log/3/stderr952 952: 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 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/3/valgrind952 ../src/curl -q --output log/3/curl952.out --include --trace-ascii log/3/trace952 --trace-time smtp://127.0.0.1:41177/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout952 2> log/3/stderr952 === End of file commands.log === Start of file server.cmd Testnum 952 === End of file server.cmd === Start of file smtp_server.log 17:50:22.669868 ====> Client connect 17:50:22.670166 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:22.670489 < "EHLO verifiedserver" 17:50:22.670544 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:22.670760 < "HELP" 17:50:22.670800 > "214 WE ROOLZ: 125707[CR][LF]" 17:50:22.670819 return proof we are we 17:50:22.671085 < "QUIT" 17:50:22.671121 > "221 curl ESMTP server signing off[CR][LF]" 17:50:22.672168 MAIN sockfilt said DISC 17:50:22.672200 ====> Client disconnected 17:50:22.672264 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:22.515935 ====> Client connect 17:50:22.516370 Received DATA (on stdin) 17:50:22.516387 > 146 bytes data, server => client 17:50:22.516399 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:22.516407 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:22.516416 '220 \___|\___/|_| \_\_____|\r\n' 17:50:22.516515 < 21 bytes data, client => server 17:50:22.516528 'EHLO verifiedserver\r\n' 17:50:22.516737 Received DATA (on stdin) 17:50:22.516751 > 53 bytes data, server => client 17:50:22.516763 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:22.516828 < 6 bytes data, client => server 17:50:22.516844 'HELP\r\n' 17:50:22.517003 Received DATA (on stdin) 17:50:22.517016 > 22 bytes data, server => client 17:50:22.517027 '214 WE ROOLZ: 125707\r\n' 17:50:22.517162 < 6 bytes data, client => server 17:50:22.517178 'QUIT\r\n' 17:50:22.517307 Received DATA (on stdin) 17:50:22.517320 > 35 bytes data, server => client 17:50:22.517331 '221 curl ESMTP server signing off\r\n' 17:50:22.518296 ====> Client disconnect 17:50:22.518453 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 ==128755== ==128755== Process terminating with default action of signal 4 (SIGILL) ==128755== Illegal opcode at address 0x4014520 ==128755== at 0x4014520: getparameter (tool_getparam.c:2862) ==128755== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==128755== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==128755== by 0x4003728: main (tool_main.c:186) === End of file valgrind952 setenv LC_ALL = C.UTF-8 test 0958...[SMTP external VRFY without SMTPUTF8 - 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/24/valgrind958 ../src/curl -q --output log/24/curl958.out --include --trace-ascii log/24/trace958 --trace-time smtp://127.0.0.1:41015/958 --mail-rcpt Användaren@example.com > log/24/stdout958 2> log/24/stderr958 958: 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 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/24/valgrind958 ../src/curl -q --output log/24/curl958.out --include --trace-ascii log/24/trace958 --trace-time smtp://127.0.0.1:41015/958 --mail-rcpt Användaren@example.com > log/24/stdout958 2> log/24/stderr958 === End of file commands.log === Start of file server.cmd Testnum 958 === End of file server.cmd === Start of file smtp_server.log 17:50:23.116380 ====> Client connect 17:50:23.116558 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:23.116873 < "EHLO verifiedserver" 17:50:23.116914 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:23.117077 < "HELP" 17:50:23.117107 > "214 WE ROOLZ: 125811[CR][LF]" 17:50:23.117122 return proof we are we 17:50:23.117343 < "QUIT" 17:50:23.117369 > "221 curl ESMTP server signing off[CR][LF]" 17:50:23.118495 MAIN sockfilt said DISC 17:50:23.118522 ====> Client disconnected 17:50:23.118593 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:23.962408 ====> Client connect 17:50:23.962756 Received DATA (on stdin) 17:50:23.962771 > 146 bytes data, server => client 17:50:23.962783 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:23.962793 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:23.962803 '220 \___|\___/|_| \_\_____|\r\n' 17:50:23.962898 < 21 bytes data, client => server 17:50:23.962911 'EHLO verifiedserver\r\n' 17:50:23.963099 Received DATA (on stdin) 17:50:23.963111 > 53 bytes data, server => client 17:50:23.963122 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:23.963174 < 6 bytes data, client => server 17:50:23.963185 'HELP\r\n' 17:50:23.963302 Received DATA (on stdin) 17:50:23.963312 > 22 bytes data, server => client 17:50:23.963322 '214 WE ROOLZ: 125811\r\n' 17:50:23.963420 < 6 bytes data, client => server 17:50:23.963432 'QUIT\r\n' 17:50:23.963549 Received DATA (on stdin) 17:50:23.963560 > 35 bytes data, server => client 17:50:23.963570 '221 curl ESMTP server signing off\r\n' 17:50:23.964628 ====> Client disconnect 17:50:23.964771 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind958 ==129227== ==129227== Process terminating with default action of signal 4 (SIGILL) ==129227== Illegal opcode at address 0x4014520 ==129227== at 0x4014520: getparameter (tool_getparam.c:2862) ==129227== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129227== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129227== by 0x4003728: main (tool_main.c:186) === End of file valgrind958 setenv LC_ALL = C.UTF-8 test 0962...[SMTP without SMTPUTF8 support - UTF-8 based sender (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/16/valgrind962 ../src/curl -q --output log/16/curl962.out --include --trace-ascii log/16/trace962 --trace-time smtp://127.0.0.1:42695/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T CMD (33792): ../libtool --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/valgrind964 ../src/curl -q --output log/11/curl964.out --include --trace-ascii log/11/trace964 --trace-time smtp://127.0.0.1:35641/964 --mail-rcpt user@åäö.se > log/11/stdout964 2> log/11/stderr964 CMD (33792): ../libtool --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/valgrind963 ../src/curl -q --output log/21/curl963.out --include --trace-ascii log/21/trace963 --trace-time smtp://127.0.0.1:37253/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/21/stdout963 2> log/21/stderr963 - log/16/stdout962 2> log/16/stderr962 962: 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 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/16/valgrind962 ../src/curl -q --output log/16/curl962.out --include --trace-ascii log/16/trace962 --trace-time smtp://127.0.0.1:42695/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/16/stdout962 2> log/16/stderr962 === End of file commands.log === Start of file server.cmd Testnum 962 === End of file server.cmd === Start of file smtp_server.log 17:50:23.278268 ====> Client connect 17:50:23.278426 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:23.278736 < "EHLO verifiedserver" 17:50:23.278778 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:23.278943 < "HELP" 17:50:23.278974 > "214 WE ROOLZ: 125705[CR][LF]" 17:50:23.278989 return proof we are we 17:50:23.279183 < "QUIT" 17:50:23.279210 > "221 curl ESMTP server signing off[CR][LF]" 17:50:23.280264 MAIN sockfilt said DISC 17:50:23.280291 ====> Client disconnected 17:50:23.280367 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:23.124316 ====> Client connect 17:50:23.124619 Received DATA (on stdin) 17:50:23.124633 > 146 bytes data, server => client 17:50:23.124645 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:23.124655 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:23.124664 '220 \___|\___/|_| \_\_____|\r\n' 17:50:23.124739 < 21 bytes data, client => server 17:50:23.124750 'EHLO verifiedserver\r\n' 17:50:23.124963 Received DATA (on stdin) 17:50:23.124974 > 53 bytes data, server => client 17:50:23.124985 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:23.125040 < 6 bytes data, client => server 17:50:23.125050 'HELP\r\n' 17:50:23.125169 Received DATA (on stdin) 17:50:23.125180 > 22 bytes data, server => client 17:50:23.125189 '214 WE ROOLZ: 125705\r\n' 17:50:23.125280 < 6 bytes data, client => server 17:50:23.125292 'QUIT\r\n' 17:50:23.125391 Received DATA (on stdin) 17:50:23.125401 > 35 bytes data, server => client 17:50:23.125411 '221 curl ESMTP server signing off\r\n' 17:50:23.126395 ====> Client disconnect 17:50:23.126549 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 ==129286== ==129286== Process terminating with default action of signal 4 (SIGILL) ==129286== Illegal opcode at address 0x4014520 ==129286== at 0x4014520: getparameter (tool_getparam.c:2862) ==129286== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129286== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129286== by 0x4003728: main (tool_main.c:186) === End of file valgrind962 setenv LC_ALL = C.UTF-8 test 0964...[SMTP external VRFY without 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/11/valgrind964 ../src/curl -q --output log/11/curl964.out --include --trace-ascii log/11/trace964 --trace-time smtp://127.0.0.1:35641/964 --mail-rcpt user@åäö.se > log/11/stdout964 2> log/11/stderr964 964: 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 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/11/valgrind964 ../src/curl -q --output log/11/curl964.out --include --trace-ascii log/11/trace964 --trace-time smtp://127.0.0.1:35641/964 --mail-rcpt user@åäö.se > log/11/stdout964 2> log/11/stderr964 === End of file commands.log === Start of file server.cmd Testnum 964 === End of file server.cmd === Start of file smtp_server.log 17:50:23.998700 ====> Client connect 17:50:23.998876 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:24.003559 < "EHLO verifiedserver" 17:50:24.003628 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:24.003847 < "HELP" 17:50:24.003890 > "214 WE ROOLZ: 110729[CR][LF]" 17:50:24.003909 return proof we are we 17:50:24.004149 < "QUIT" 17:50:24.004183 > "221 curl ESMTP server signing off[CR][LF]" 17:50:24.005192 MAIN sockfilt said DISC 17:50:24.005224 ====> Client disconnected 17:50:24.005292 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:23.844737 ====> Client connect 17:50:23.845077 Received DATA (on stdin) 17:50:23.845094 > 146 bytes data, server => client 17:50:23.845106 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:23.845116 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:23.845126 '220 \___|\___/|_| \_\_____|\r\n' 17:50:23.849515 < 21 bytes data, client => server 17:50:23.849544 'EHLO verifiedserver\r\n' 17:50:23.849822 Received DATA (on stdin) 17:50:23.849839 > 53 bytes data, server => client 17:50:23.849851 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:23.849929 < 6 bytes data, client => server 17:50:23.849943 'HELP\r\n' 17:50:23.850092 Received DATA (on stdin) 17:50:23.850105 > 22 bytes data, server => client 17:50:23.850116 '214 WE ROOLZ: 110729\r\n' 17:50:23.850230 < 6 bytes data, client => server 17:50:23.850247 'QUIT\r\n' 17:50:23.850367 Received DATA (on stdin) 17:50:23.850381 > 35 bytes data, server => client 17:50:23.850391 '221 curl ESMTP server signing off\r\n' 17:50:23.851321 ====> Client disconnect 17:50:23.851481 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind964 ==129499== ==129499== Process terminating with default action of signal 4 (SIGILL) ==129499== Illegal opcode at address 0x4014520 ==129499== at 0x4014520: getparameter (tool_getparam.c:2862) ==129499== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129499== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129499== by 0x4003728: main (tool_main.c:186) === End of file valgrind964 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/21/valgrind963 ../src/curl -q --output log/21/curl963.out --include --trace-ascii log/21/trace963 --trace-time smtp://127.0.0.1:37253/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/21/stdout963 2> log/21/stderr963 963: 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 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/21/valgrind963 ../src/curl -q --output log/21/curl963.out --include --trace-ascii log/21/trace963 --trace-time smtp://127.0.0.1:37253/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/21/stdout963 2> log/21/stderr963 === End of file commands.log === Start of file server.cmd 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/19/valgrind966 ../src/curl -q --output log/19/curl966.out --include --trace-ascii log/19/trace966 --trace-time smtp://127.0.0.1:40777/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/19/stdout966 2> log/19/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/20/valgrind967 ../src/curl -q --output log/20/curl967.out --include --trace-ascii log/20/trace967 --trace-time smtp://127.0.0.1:43883/967 --mail-rcpt Användaren@åäö.se > log/20/stdout967 2> log/20/stderr967 estnum 963 === End of file server.cmd === Start of file smtp_server.log 17:50:23.416842 ====> Client connect 17:50:23.417054 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:23.420462 < "EHLO verifiedserver" 17:50:23.420522 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:23.420688 < "HELP" 17:50:23.420723 > "214 WE ROOLZ: 126376[CR][LF]" 17:50:23.420739 return proof we are we 17:50:23.420976 < "QUIT" 17:50:23.421006 > "221 curl ESMTP server signing off[CR][LF]" 17:50:23.422058 MAIN sockfilt said DISC 17:50:23.422095 ====> Client disconnected 17:50:23.422174 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:23.262876 ====> Client connect 17:50:23.263252 Received DATA (on stdin) 17:50:23.263267 > 146 bytes data, server => client 17:50:23.263279 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:23.263289 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:23.263299 '220 \___|\___/|_| \_\_____|\r\n' 17:50:23.266412 < 21 bytes data, client => server 17:50:23.266443 'EHLO verifiedserver\r\n' 17:50:23.266709 Received DATA (on stdin) 17:50:23.266720 > 53 bytes data, server => client 17:50:23.266730 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:23.266784 < 6 bytes data, client => server 17:50:23.266795 'HELP\r\n' 17:50:23.266918 Received DATA (on stdin) 17:50:23.266929 > 22 bytes data, server => client 17:50:23.266938 '214 WE ROOLZ: 126376\r\n' 17:50:23.267048 < 6 bytes data, client => server 17:50:23.267061 'QUIT\r\n' 17:50:23.267187 Received DATA (on stdin) 17:50:23.267197 > 35 bytes data, server => client 17:50:23.267207 '221 curl ESMTP server signing off\r\n' 17:50:23.268179 ====> Client disconnect 17:50:23.268369 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 ==129356== ==129356== Process terminating with default action of signal 4 (SIGILL) ==129356== Illegal opcode at address 0x4014520 ==129356== at 0x4014520: getparameter (tool_getparam.c:2862) ==129356== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129356== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129356== by 0x4003728: main (tool_main.c:186) === End of file valgrind963 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/19/valgrind966 ../src/curl -q --output log/19/curl966.out --include --trace-ascii log/19/trace966 --trace-time smtp://127.0.0.1:40777/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/19/stdout966 2> log/19/stderr966 966: 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 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/19/valgrind966 ../src/curl -q --output log/19/curl966.out --include --trace-ascii log/19/trace966 --trace-time smtp://127.0.0.1:40777/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/19/stdout966 2> log/19/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 17:50:24.011311 ====> Client connect 17:50:24.011509 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:24.011884 < "EHLO verifiedserver" 17:50:24.011926 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:24.012093 < "HELP" 17:50:24.014574 > "214 WE ROOLZ: 126194[CR][LF]" 17:50:24.014808 return proof we are we 17:50:24.014878 < "QUIT" 17:50:24.014913 > "221 curl ESMTP server signing off[CR][LF]" 17:50:24.016215 MAIN sockfilt said DISC 17:50:24.016249 ====> Client disconnected 17:50:24.016326 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:23.856190 ====> Client connect 17:50:23.857710 Received DATA (on stdin) 17:50:23.857735 > 146 bytes data, server => client 17:50:23.857748 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:23.857759 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:23.857769 '220 \___|\___/|_| \_\_____|\r\n' 17:50:23.857908 < 21 bytes data, client => server 17:50:23.857920 'EHLO verifiedserver\r\n' 17:50:23.858110 Received DATA (on stdin) 17:50:23.858122 > 53 bytes data, server => client 17:50:23.858133 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:23.858188 < 6 bytes data, client => server 17:50:23.858199 'HELP\r\n' 17:50:23.860679 Received DATA (on stdin) 17:50:23.860703 > 22 bytes data, server => client 17:50:23.860750 '214 WE ROOLZ: 126194\r\n' 17:50:23.860888 < 6 bytes data, client => server 17:50:23.860906 'QUIT\r\n' 17:50:23.861098 Received DATA (on stdin) 17:50:23.861110 > 35 bytes data, server => client 17:50:23.861121 '221 curl ESMTP server signing off\r\n' 17:50:23.862343 ====> Client disconnect 17:50:23.862518 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 ==129533== ==129533== Process terminating with default action of signal 4 (SIGILL) ==129533== Illegal opcode at address 0x4014520 ==129533== at 0x4014520: getparameter (tool_getparam.c:2862) ==129533== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129533== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129533== by 0x4003728: main (tool_main.c:186) === End of file valgrind966 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/20/valgrind967 ../src/curl -q --output log/20/curl967.out --include --trace-ascii log/20/trace967 --trace-time smtp://127.0.0.1:43883/967 --mail-rcpt Användaren@åäö.se > log/20/stdout967 2> log/20/stderr967 967: 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 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/20/valgrind967 ../src/curl -q --output log/20/curl967.out --include --trace-ascii log/20/trace967 --trace-time smtp://127.0.0.1:43883/967 --mail-rcpt Användaren@åäö.se > log/20/stdout967 2> log/20/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 17:50:24.115268 ====> Client connect 17:50:24.115447 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:24.115735 < "EHLO verifiedserver" 17:50:24.115777 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:24.115939 < "HELP" 17:50:24.115970 > "214 WE ROOLZ: 125839[CR][LF]" 17:50:24.115985 return proof we are we 17:50:24.116184 < "QUIT" 17:50:24.116213 > "221 curl ESMTP server signing off[CR][LF]" 17:50:24.117327 MAIN sockfilt said DISC 17:50:24.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/22/valgrind968 ../src/curl -q --output log/22/curl968.out --include --trace-ascii log/22/trace968 --trace-time smtp://127.0.0.1:40615/968 --mail-rcpt Användaren > log/22/stdout968 2> log/22/stderr968 CMD (33792): ../libtool --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/valgrind974 ../src/curl -q --output log/12/curl974.out --include --trace-ascii log/12/trace974 --trace-time -x http://127.0.0.1:36641 http://firsthost.com -L -u joe:secret > log/12/stdout974 2> log/12/stderr974 7357 ====> Client disconnected 17:50:24.117475 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:23.961295 ====> Client connect 17:50:23.961644 Received DATA (on stdin) 17:50:23.961658 > 146 bytes data, server => client 17:50:23.961670 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:23.961680 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:23.961690 '220 \___|\___/|_| \_\_____|\r\n' 17:50:23.961763 < 21 bytes data, client => server 17:50:23.961775 'EHLO verifiedserver\r\n' 17:50:23.961961 Received DATA (on stdin) 17:50:23.961972 > 53 bytes data, server => client 17:50:23.961983 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:23.962036 < 6 bytes data, client => server 17:50:23.962046 'HELP\r\n' 17:50:23.962165 Received DATA (on stdin) 17:50:23.962175 > 22 bytes data, server => client 17:50:23.962185 '214 WE ROOLZ: 125839\r\n' 17:50:23.962280 < 6 bytes data, client => server 17:50:23.962293 'QUIT\r\n' 17:50:23.962394 Received DATA (on stdin) 17:50:23.962405 > 35 bytes data, server => client 17:50:23.962415 '221 curl ESMTP server signing off\r\n' 17:50:23.963457 ====> Client disconnect 17:50:23.963659 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind967 ==129595== ==129595== Process terminating with default action of signal 4 (SIGILL) ==129595== Illegal opcode at address 0x4014520 ==129595== at 0x4014520: getparameter (tool_getparam.c:2862) ==129595== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129595== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129595== by 0x4003728: main (tool_main.c:186) === End of file valgrind967 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/22/valgrind968 ../src/curl -q --output log/22/curl968.out --include --trace-ascii log/22/trace968 --trace-time smtp://127.0.0.1:40615/968 --mail-rcpt Användaren > log/22/stdout968 2> log/22/stderr968 968: 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 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/22/valgrind968 ../src/curl -q --output log/22/curl968.out --include --trace-ascii log/22/trace968 --trace-time smtp://127.0.0.1:40615/968 --mail-rcpt Användaren > log/22/stdout968 2> log/22/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 17:50:24.290072 ====> Client connect 17:50:24.290355 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:24.293841 < "EHLO verifiedserver" 17:50:24.293919 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:24.294136 < "HELP" 17:50:24.294178 > "214 WE ROOLZ: 110701[CR][LF]" 17:50:24.294200 return proof we are we 17:50:24.294484 < "QUIT" 17:50:24.294518 > "221 curl ESMTP server signing off[CR][LF]" 17:50:24.300074 MAIN sockfilt said DISC 17:50:24.300124 ====> Client disconnected 17:50:24.300210 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:24.131594 ====> Client connect 17:50:24.139515 Received DATA (on stdin) 17:50:24.139575 > 146 bytes data, server => client 17:50:24.139589 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:24.139600 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:24.139609 '220 \___|\___/|_| \_\_____|\r\n' 17:50:24.139762 < 21 bytes data, client => server 17:50:24.139781 'EHLO verifiedserver\r\n' 17:50:24.140118 Received DATA (on stdin) 17:50:24.140133 > 53 bytes data, server => client 17:50:24.140145 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:24.140211 < 6 bytes data, client => server 17:50:24.140228 'HELP\r\n' 17:50:24.140387 Received DATA (on stdin) 17:50:24.140401 > 22 bytes data, server => client 17:50:24.140412 '214 WE ROOLZ: 110701\r\n' 17:50:24.140562 < 6 bytes data, client => server 17:50:24.140581 'QUIT\r\n' 17:50:24.140707 Received DATA (on stdin) 17:50:24.140721 > 35 bytes data, server => client 17:50:24.140732 '221 curl ESMTP server signing off\r\n' 17:50:24.146175 ====> Client disconnect 17:50:24.146393 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind968 ==129745== ==129745== Process terminating with default action of signal 4 (SIGILL) ==129745== Illegal opcode at address 0x4014520 ==129745== at 0x4014520: getparameter (tool_getparam.c:2862) ==129745== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129745== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129745== by 0x4003728: main (tool_main.c:186) === End of file valgrind968 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/12/valgrind974 ../src/curl -q --output log/12/curl974.out --include --trace-ascii log/12/trace974 --trace-time -x http://127.0.0.1:36641 http://firsthost.com -L -u joe:secret > log/12/stdout974 2> log/12/stderr974 974: 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 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/12/valgrind974 ../src/curl -q --output log/12/curl974.out --include --trace-ascii log/12/trace974 --trace-time -x http://127.0.0.1:36641 http://firsthost.com -L -u joe:secret > log/12/stdout974 2> log/12/stderr974 === End of file commands.log === Start of file http_server.log 17:50:24.398667 ====> Client connect 17:50:24.398705 accept_connection 3 returned 4 17:50:24.398724 accept_connection 3 returned 0 17:50:24.406382 Read 93 bytes 17:50:24.406411 Process 93 bytes request 17:50:24.406426 Got request: GET /verifiedserver HTTP/1.1 17:50:24.406436 Are-we-friendly question received 17:50:24.406492 Wrote request (93 bytes) input to log/12/server.input 17:50:24.406513 Identifying ourselves as friends 17:50:24.406574 Response sent (56 bytes) and written to log/12/server.response 17:50:24.406585 special request received, no persistency 17:50:24.406595 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 51902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind974 ==129908== ==129908== Process terminating with default action of signal 4 (SIGILL) ==129908== Illegal opcode at address 0x4014520 ==129908== at 0x4014520: getparameter (tool_getparam.c:2862) ==129908== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129908== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) CMD (33792): ../libtool --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/valgrind965 ../src/curl -q --output log/18/curl965.out --include --trace-ascii log/18/trace965 --trace-time smtp://127.0.0.1:43171/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/18/stdout965 2> log/18/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/6/valgrind973 ../src/curl -q --output log/6/curl973.out --include --trace-ascii log/6/trace973 --trace-time http://127.0.0.1:42747/973 -L -u joe:secret > log/6/stdout973 2> log/6/stderr973 ==129908== by 0x4003728: main (tool_main.c:186) === End of file valgrind974 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/18/valgrind965 ../src/curl -q --output log/18/curl965.out --include --trace-ascii log/18/trace965 --trace-time smtp://127.0.0.1:43171/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/18/stdout965 2> log/18/stderr965 965: 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 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/18/valgrind965 ../src/curl -q --output log/18/curl965.out --include --trace-ascii log/18/trace965 --trace-time smtp://127.0.0.1:43171/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/18/stdout965 2> log/18/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 17:50:24.000129 ====> Client connect 17:50:24.000285 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:24.000606 < "EHLO verifiedserver" 17:50:24.000649 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:24.000833 < "HELP" 17:50:24.000869 > "214 WE ROOLZ: 126048[CR][LF]" 17:50:24.000887 return proof we are we 17:50:24.001118 < "QUIT" 17:50:24.001150 > "221 curl ESMTP server signing off[CR][LF]" 17:50:24.002515 MAIN sockfilt said DISC 17:50:24.002548 ====> Client disconnected 17:50:24.002618 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:23.846193 ====> Client connect 17:50:23.846482 Received DATA (on stdin) 17:50:23.846498 > 146 bytes data, server => client 17:50:23.846509 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:23.846519 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:23.846528 '220 \___|\___/|_| \_\_____|\r\n' 17:50:23.846625 < 21 bytes data, client => server 17:50:23.846640 'EHLO verifiedserver\r\n' 17:50:23.846838 Received DATA (on stdin) 17:50:23.846852 > 53 bytes data, server => client 17:50:23.846862 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:23.846920 < 6 bytes data, client => server 17:50:23.846933 'HELP\r\n' 17:50:23.847070 Received DATA (on stdin) 17:50:23.847082 > 22 bytes data, server => client 17:50:23.847092 '214 WE ROOLZ: 126048\r\n' 17:50:23.847202 < 6 bytes data, client => server 17:50:23.847219 'QUIT\r\n' 17:50:23.847335 Received DATA (on stdin) 17:50:23.847346 > 35 bytes data, server => client 17:50:23.847356 '221 curl ESMTP server signing off\r\n' 17:50:23.848642 ====> Client disconnect 17:50:23.848807 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 ==129510== ==129510== Process terminating with default action of signal 4 (SIGILL) ==129510== Illegal opcode at address 0x4014520 ==129510== at 0x4014520: getparameter (tool_getparam.c:2862) ==129510== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129510== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129510== by 0x4003728: main (tool_main.c:186) === 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/6/valgrind973 ../src/curl -q --output log/6/curl973.out --include --trace-ascii log/6/trace973 --trace-time http://127.0.0.1:42747/973 -L -u joe:secret > log/6/stdout973 2> log/6/stderr973 973: 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 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/6/valgrind973 ../src/curl -q --output log/6/curl973.out --include --trace-ascii log/6/trace973 --trace-time http://127.0.0.1:42747/973 -L -u joe:secret > log/6/stdout973 2> log/6/stderr973 === End of file commands.log === Start of file ftp_server.log 17:50:24.601654 ====> Client connect 17:50:24.601832 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:24.602129 < "USER anonymous" 17:50:24.602173 > "331 We are happy you popped in![CR][LF]" 17:50:24.602362 < "PASS ftp@example.com" 17:50:24.602393 > "230 Welcome you silly person[CR][LF]" 17:50:24.602566 < "PWD" 17:50:24.602601 > "257 "/" is current directory[CR][LF]" 17:50:24.602779 < "EPSV" 17:50:24.602810 ====> Passive DATA channel requested by client 17:50:24.602825 DATA sockfilt for passive data channel starting... 17:50:24.604816 DATA sockfilt for passive data channel started (pid 129902) 17:50:24.604971 DATA sockfilt for passive data channel listens on port 46131 17:50:24.605025 > "229 Entering Passive Mode (|||46131|)[CR][LF]" 17:50:24.605047 Client has been notified that DATA conn will be accepted on port 46131 17:50:24.605326 Client connects to port 46131 17:50:24.605357 ====> Client established passive DATA connection on port 46131 17:50:24.605449 < "TYPE I" 17:50:24.605481 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:24.605642 < "SIZE verifiedserver" 17:50:24.605679 > "213 17[CR][LF]" 17:50:24.605826 < "RETR verifiedserver" 17:50:24.605857 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:24.605964 =====> Closing passive DATA connection... 17:50:24.605986 Server disconnects passive DATA connection 17:50:24.606277 Server disconnected passive DATA connection 17:50:24.606308 DATA sockfilt for passive data channel quits (pid 129902) 17:50:24.606686 DATA sockfilt for passive data channel quit (pid 129902) 17:50:24.606716 =====> Closed passive DATA connection 17:50:24.606764 > "226 File transfer complete[CR][LF]" 17:50:24.649194 < "QUIT" 17:50:24.649265 > "221 bye bye baby[CR][LF]" 17:50:24.650697 MAIN sockfilt said DISC 17:50:24.650739 ====> Client disconnected 17:50:24.650827 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:24.447687 ====> Client connect 17:50:24.448034 Received DATA (on stdin) 17:50:24.448051 > 146 bytes data, server => client 17:50:24.448064 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:24.448075 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:24.448085 '220 \___|\___/|_| \_\_____|\r\n' 17:50:24.448169 < 16 bytes data, client => server 17:50:24.448183 'USER anonymous\r\n' 17:50:24.448362 Received DATA (on stdin) 17:50:24.448374 > 33 bytes data, server => client 17:50:24.448385 '331 We are happy you popped in!\r\n' 17:50:24.448440 < 22 bytes data, client => server 17:50:24.448454 'PASS ftp@example.com\r\n' 17:50:24.448577 Received DATA (on stdin) 17:50:24.448591 > 30 bytes data, server => client 17:50:24.448602 '230 Welcome you silly person\r\n' 17:50:24.448654 < 5 bytes data, client => server 17:50:24.448666 'PWD\r\n' 17:50:24.448786 Received DATA (on stdin) 17:50:24.448797 > 30 bytes data, server => client 17:50:24.448808 '257 "/" is current directory\r\n' 17:50:24.448869 < 6 bytes data, client => server 17:50:24.448882 'EPSV\r\n' 17:50:24.451237 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/13/valgrind979 ../src/curl -q --output log/13/curl979.out --include --trace-ascii log/13/trace979 --trace-time http://first:secret@127.0.0.1:43845/979 -L -u smith:doggie > log/13/stdout979 2> log/13/stderr979 CMD (33792): ../libtool --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/valgrind969 ../src/curl -q --output log/9/curl969.out --include --trace-ascii log/9/trace969 --trace-time smtp://127.0.0.1:33219/969 --mail-rcpt Friends -X EXPN > log/9/stdout969 2> log/9/stderr969 in) 17:50:24.451251 > 39 bytes data, server => client 17:50:24.451262 '229 Entering Passive Mode (|||46131|)\r\n' 17:50:24.451454 < 8 bytes data, client => server 17:50:24.451465 'TYPE I\r\n' 17:50:24.451664 Received DATA (on stdin) 17:50:24.451675 > 33 bytes data, server => client 17:50:24.451687 '200 I modify TYPE as you wanted\r\n' 17:50:24.451739 < 21 bytes data, client => server 17:50:24.451750 'SIZE verifiedserver\r\n' 17:50:24.451860 Received DATA (on stdin) 17:50:24.451870 > 8 bytes data, server => client 17:50:24.451880 '213 17\r\n' 17:50:24.451927 < 21 bytes data, client => server 17:50:24.451937 'RETR verifiedserver\r\n' 17:50:24.452175 Received DATA (on stdin) 17:50:24.452191 > 29 bytes data, server => client 17:50:24.452205 '150 Binary junk (17 bytes).\r\n' 17:50:24.452958 Received DATA (on stdin) 17:50:24.452973 > 28 bytes data, server => client 17:50:24.452986 '226 File transfer complete\r\n' 17:50:24.495168 < 6 bytes data, client => server 17:50:24.495203 'QUIT\r\n' 17:50:24.495460 Received DATA (on stdin) 17:50:24.495473 > 18 bytes data, server => client 17:50:24.495484 '221 bye bye baby\r\n' 17:50:24.496819 ====> Client disconnect 17:50:24.497009 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:24.450657 Running IPv4 version 17:50:24.450729 Listening on port 46131 17:50:24.450765 Wrote pid 129902 to log/6/server/ftp_sockdata.pid 17:50:24.450934 Received PING (on stdin) 17:50:24.451030 Received PORT (on stdin) 17:50:24.451426 ====> Client connect 17:50:24.452236 Received DATA (on stdin) 17:50:24.452252 > 17 bytes data, server => client 17:50:24.452263 'WE ROOLZ: 81072\r\n' 17:50:24.452293 Received DISC (on stdin) 17:50:24.452307 ====> Client forcibly disconnected 17:50:24.452495 Received QUIT (on stdin) 17:50:24.452510 quits 17:50:24.452610 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 17:50:24.358753 ====> Client connect 17:50:24.358789 accept_connection 3 returned 4 17:50:24.358806 accept_connection 3 returned 0 17:50:24.358820 Read 93 bytes 17:50:24.358830 Process 93 bytes request 17:50:24.358843 Got request: GET /verifiedserver HTTP/1.1 17:50:24.358852 Are-we-friendly question received 17:50:24.358878 Wrote request (93 bytes) input to log/6/server.input 17:50:24.358895 Identifying ourselves as friends 17:50:24.358955 Response sent (56 bytes) and written to log/6/server.response 17:50:24.358966 special request received, no persistency 17:50:24.358974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 42644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind973 ==129944== ==129944== Process terminating with default action of signal 4 (SIGILL) ==129944== Illegal opcode at address 0x4014520 ==129944== at 0x4014520: getparameter (tool_getparam.c:2862) ==129944== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129944== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129944== by 0x4003728: main (tool_main.c:186) === End of file valgrind973 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/13/valgrind979 ../src/curl -q --output log/13/curl979.out --include --trace-ascii log/13/trace979 --trace-time http://first:secret@127.0.0.1:43845/979 -L -u smith:doggie > log/13/stdout979 2> log/13/stderr979 979: 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 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/13/valgrind979 ../src/curl -q --output log/13/curl979.out --include --trace-ascii log/13/trace979 --trace-time http://first:secret@127.0.0.1:43845/979 -L -u smith:doggie > log/13/stdout979 2> log/13/stderr979 === End of file commands.log === Start of file http_server.log 17:50:25.890748 ====> Client connect 17:50:25.890785 accept_connection 3 returned 4 17:50:25.890805 accept_connection 3 returned 0 17:50:25.890822 Read 93 bytes 17:50:25.890833 Process 93 bytes request 17:50:25.890847 Got request: GET /verifiedserver HTTP/1.1 17:50:25.890856 Are-we-friendly question received 17:50:25.890885 Wrote request (93 bytes) input to log/13/server.input 17:50:25.890904 Identifying ourselves as friends 17:50:25.890970 Response sent (56 bytes) and written to log/13/server.response 17:50:25.890981 special request received, no persistency 17:50:25.890990 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 50454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind979 ==130307== ==130307== Process terminating with default action of signal 4 (SIGILL) ==130307== Illegal opcode at address 0x4014520 ==130307== at 0x4014520: getparameter (tool_getparam.c:2862) ==130307== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130307== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130307== by 0x4003728: main (tool_main.c:186) === End of file valgrind979 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/9/valgrind969 ../src/curl -q --output log/9/curl969.out --include --trace-ascii log/9/trace969 --trace-time smtp://127.0.0.1:33219/969 --mail-rcpt Friends -X EXPN > log/9/stdout969 2> log/9/stderr969 969: 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 969 === Start of file commands.log ../libtool --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/valgrind969 ../src/curl -q --output log/9/curl969.out --include --trace-ascii log/9/trace969 --trace-time smtp://127.0.0.1:33219/969 --mail-rcpt Friends -X EXPN > log/9/stdout969 2> log/9/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 17:50:24.458913 ====> Client connect 17:50:24.459052 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50: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/1/valgrind976 ../src/curl -q --output log/1/curl976.out --include --trace-ascii log/1/trace976 --trace-time -x http://127.0.0.1:39589 http://firsthost.com --location-trusted -u joe:secret > log/1/stdout976 2> log/1/stderr976 CMD (33792): ../libtool --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/valgrind978 ../src/curl -q --output log/14/curl978.out --include --trace-ascii log/14/trace978 --trace-time http://127.0.0.1:37569/978 --stderr log/14/redir --silent -w '%{stderr}nonsense\n' > log/14/stdout978 2> log/14/stderr978 CMD (33792): ../libtool --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/valgrind981 ../src/curl -q --output log/5/curl981.out --include --trace-ascii log/5/trace981 --trace-time imap://127.0.0.1:40583/981 -T log/5/upload981 -u user:secret --ssl > log/5/stdout981 2> log/5/stderr981 4.459344 < "EHLO verifiedserver" 17:50:24.459387 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:24.459565 < "HELP" 17:50:24.459599 > "214 WE ROOLZ: 126179[CR][LF]" 17:50:24.459615 return proof we are we 17:50:24.459851 < "QUIT" 17:50:24.459885 > "221 curl ESMTP server signing off[CR][LF]" 17:50:24.462254 MAIN sockfilt said DISC 17:50:24.462293 ====> Client disconnected 17:50:24.462363 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:24.304976 ====> Client connect 17:50:24.305247 Received DATA (on stdin) 17:50:24.305263 > 146 bytes data, server => client 17:50:24.305275 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:24.305285 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:24.305295 '220 \___|\___/|_| \_\_____|\r\n' 17:50:24.305374 < 21 bytes data, client => server 17:50:24.305388 'EHLO verifiedserver\r\n' 17:50:24.305573 Received DATA (on stdin) 17:50:24.305585 > 53 bytes data, server => client 17:50:24.305597 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:24.305655 < 6 bytes data, client => server 17:50:24.305668 'HELP\r\n' 17:50:24.305797 Received DATA (on stdin) 17:50:24.305809 > 22 bytes data, server => client 17:50:24.305819 '214 WE ROOLZ: 126179\r\n' 17:50:24.305940 < 6 bytes data, client => server 17:50:24.305955 'QUIT\r\n' 17:50:24.306070 Received DATA (on stdin) 17:50:24.306082 > 35 bytes data, server => client 17:50:24.306093 '221 curl ESMTP server signing off\r\n' 17:50:24.308375 ====> Client disconnect 17:50:24.308545 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind969 ==129781== ==129781== Process terminating with default action of signal 4 (SIGILL) ==129781== Illegal opcode at address 0x4014520 ==129781== at 0x4014520: getparameter (tool_getparam.c:2862) ==129781== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==129781== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==129781== by 0x4003728: main (tool_main.c:186) === End of file valgrind969 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/1/valgrind976 ../src/curl -q --output log/1/curl976.out --include --trace-ascii log/1/trace976 --trace-time -x http://127.0.0.1:39589 http://firsthost.com --location-trusted -u joe:secret > log/1/stdout976 2> log/1/stderr976 976: 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 976 === Start of file commands.log ../libtool --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/valgrind976 ../src/curl -q --output log/1/curl976.out --include --trace-ascii log/1/trace976 --trace-time -x http://127.0.0.1:39589 http://firsthost.com --location-trusted -u joe:secret > log/1/stdout976 2> log/1/stderr976 === End of file commands.log === Start of file http_server.log 17:50:24.703274 ====> Client connect 17:50:24.703322 accept_connection 3 returned 4 17:50:24.703344 accept_connection 3 returned 0 17:50:24.703554 Read 93 bytes 17:50:24.703573 Process 93 bytes request 17:50:24.703588 Got request: GET /verifiedserver HTTP/1.1 17:50:24.703598 Are-we-friendly question received 17:50:24.703632 Wrote request (93 bytes) input to log/1/server.input 17:50:24.703652 Identifying ourselves as friends 17:50:24.703718 Response sent (56 bytes) and written to log/1/server.response 17:50:24.703731 special request received, no persistency 17:50:24.703740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 38468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind976 ==130096== ==130096== Process terminating with default action of signal 4 (SIGILL) ==130096== Illegal opcode at address 0x4014520 ==130096== at 0x4014520: getparameter (tool_getparam.c:2862) ==130096== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130096== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130096== by 0x4003728: main (tool_main.c:186) === End of file valgrind976 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/14/valgrind978 ../src/curl -q --output log/14/curl978.out --include --trace-ascii log/14/trace978 --trace-time http://127.0.0.1:37569/978 --stderr log/14/redir --silent -w '%{stderr}nonsense\n' > log/14/stdout978 2> log/14/stderr978 978: 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 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/14/valgrind978 ../src/curl -q --output log/14/curl978.out --include --trace-ascii log/14/trace978 --trace-time http://127.0.0.1:37569/978 --stderr log/14/redir --silent -w '%{stderr}nonsense\n' > log/14/stdout978 2> log/14/stderr978 === End of file commands.log === Start of file http_server.log 17:50:25.783072 ====> Client connect 17:50:25.783108 accept_connection 3 returned 4 17:50:25.783125 accept_connection 3 returned 0 17:50:25.786386 Read 93 bytes 17:50:25.786410 Process 93 bytes request 17:50:25.786425 Got request: GET /verifiedserver HTTP/1.1 17:50:25.786434 Are-we-friendly question received 17:50:25.786472 Wrote request (93 bytes) input to log/14/server.input 17:50:25.786491 Identifying ourselves as friends 17:50:25.786546 Response sent (56 bytes) and written to log/14/server.response 17:50:25.786556 special request received, no persistency 17:50:25.786564 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 59418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind978 ==130139== ==130139== Process terminating with default action of signal 4 (SIGILL) ==130139== Illegal opcode at address 0x4014520 ==130139== at 0x4014520: getparameter (tool_getparam.c:2862) ==130139== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130139== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130139== by 0x4003728: main (tool_main.c:186) === End of file valgrind978 test 0981...[IMAP STARTTLS pipelined server response] ../libtool --mode=execute /usr/CMD (33792): ../libtool --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/valgrind977 ../src/curl -q --output log/10/curl977.out --include --trace-ascii log/10/trace977 --trace-time -x http://127.0.0.1:32889 http://firsthost.me. -c log/10/cookies977 > log/10/stdout977 2> log/10/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/valgrind983 ../src/curl -q --output log/17/curl983.out --include --trace-ascii log/17/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:38963/983 -T log/17/test983.txt -u user:secret -P 127.0.0.1 > log/17/stdout983 2> log/17/stderr983 bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind981 ../src/curl -q --output log/5/curl981.out --include --trace-ascii log/5/trace981 --trace-time imap://127.0.0.1:40583/981 -T log/5/upload981 -u user:secret --ssl > log/5/stdout981 2> log/5/stderr981 981: 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 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/5/valgrind981 ../src/curl -q --output log/5/curl981.out --include --trace-ascii log/5/trace981 --trace-time imap://127.0.0.1:40583/981 -T log/5/upload981 -u user:secret --ssl > log/5/stdout981 2> log/5/stderr981 === End of file commands.log === Start of file imap_server.log 17:50:25.084991 ====> Client connect 17:50:25.085189 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:25.087233 < "A001 CAPABILITY" 17:50:25.087290 > "A001 BAD Command[CR][LF]" 17:50:25.087528 < "A002 LIST "verifiedserver" *" 17:50:25.087565 LIST_imap got "verifiedserver" * 17:50:25.087600 > "* LIST () "/" "WE ROOLZ: 120008"[CR][LF]" 17:50:25.087623 > "A002 OK LIST Completed[CR][LF]" 17:50:25.087640 return proof we are we 17:50:25.134733 < "A003 LOGOUT" 17:50:25.134806 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:25.134835 > "A003 OK LOGOUT completed[CR][LF]" 17:50:25.136184 MAIN sockfilt said DISC 17:50:25.136230 ====> Client disconnected 17:50:25.136315 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:25.931063 ====> Client connect 17:50:25.931394 Received DATA (on stdin) 17:50:25.931413 > 164 bytes data, server => client 17:50:25.931426 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:25.931438 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:25.931448 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:25.932586 < 17 bytes data, client => server 17:50:25.932607 'A001 CAPABILITY\r\n' 17:50:25.933485 Received DATA (on stdin) 17:50:25.933502 > 18 bytes data, server => client 17:50:25.933513 'A001 BAD Command\r\n' 17:50:25.933589 < 30 bytes data, client => server 17:50:25.933604 'A002 LIST "verifiedserver" *\r\n' 17:50:25.933825 Received DATA (on stdin) 17:50:25.933839 > 34 bytes data, server => client 17:50:25.933850 '* LIST () "/" "WE ROOLZ: 120008"\r\n' 17:50:25.933875 Received DATA (on stdin) 17:50:25.933887 > 24 bytes data, server => client 17:50:25.933898 'A002 OK LIST Completed\r\n' 17:50:25.980693 < 13 bytes data, client => server 17:50:25.980731 'A003 LOGOUT\r\n' 17:50:25.981027 Received DATA (on stdin) 17:50:25.981044 > 36 bytes data, server => client 17:50:25.981055 '* BYE curl IMAP server signing off\r\n' 17:50:25.981081 Received DATA (on stdin) 17:50:25.981094 > 26 bytes data, server => client 17:50:25.981104 'A003 OK LOGOUT completed\r\n' 17:50:25.982302 ====> Client disconnect 17:50:25.982505 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 ==130463== ==130463== Process terminating with default action of signal 4 (SIGILL) ==130463== Illegal opcode at address 0x4014520 ==130463== at 0x4014520: getparameter (tool_getparam.c:2862) ==130463== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130463== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130463== by 0x4003728: main (tool_main.c:186) === End of file valgrind981 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/10/valgrind977 ../src/curl -q --output log/10/curl977.out --include --trace-ascii log/10/trace977 --trace-time -x http://127.0.0.1:32889 http://firsthost.me. -c log/10/cookies977 > log/10/stdout977 2> log/10/stderr977 977: 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 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/10/valgrind977 ../src/curl -q --output log/10/curl977.out --include --trace-ascii log/10/trace977 --trace-time -x http://127.0.0.1:32889 http://firsthost.me. -c log/10/cookies977 > log/10/stdout977 2> log/10/stderr977 === End of file commands.log === Start of file http_server.log 17:50:24.756151 ====> Client connect 17:50:24.756205 accept_connection 3 returned 4 17:50:24.756223 accept_connection 3 returned 0 17:50:24.756240 Read 93 bytes 17:50:24.756250 Process 93 bytes request 17:50:24.756267 Got request: GET /verifiedserver HTTP/1.1 17:50:24.756276 Are-we-friendly question received 17:50:24.756300 Wrote request (93 bytes) input to log/10/server.input 17:50:24.756317 Identifying ourselves as friends 17:50:24.756400 Response sent (56 bytes) and written to log/10/server.response 17:50:24.756409 special request received, no persistency 17:50:24.756418 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 51500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind977 ==130119== ==130119== Process terminating with default action of signal 4 (SIGILL) ==130119== Illegal opcode at address 0x4014520 ==130119== at 0x4014520: getparameter (tool_getparam.c:2862) ==130119== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130119== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130119== by 0x4003728: main (tool_main.c:186) === End of file valgrind977 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/17/valgrind983 ../src/curl -q --output log/17/curl983.out --include --trace-ascii log/17/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:38963/983 -T log/17/test983.txt -u user:secret -P 127.0.0.1 > log/17/stdout983 2> log/17/stderr983 983: 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 983 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind CMD (33792): ../libtool --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/valgrind975 ../src/curl -q --output log/23/curl975.out --include --trace-ascii log/23/trace975 --trace-time http://127.0.0.1:39173/975 --location-trusted -u joe:secret > log/23/stdout975 2> log/23/stderr975 --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind983 ../src/curl -q --output log/17/curl983.out --include --trace-ascii log/17/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:38963/983 -T log/17/test983.txt -u user:secret -P 127.0.0.1 > log/17/stdout983 2> log/17/stderr983 === End of file commands.log === Start of file ftp_server.log 17:50:25.150136 ====> Client connect 17:50:25.150365 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:25.153769 < "USER anonymous" 17:50:25.153827 > "331 We are happy you popped in![CR][LF]" 17:50:25.154001 < "PASS ftp@example.com" 17:50:25.154029 > "230 Welcome you silly person[CR][LF]" 17:50:25.154186 < "PWD" 17:50:25.154218 > "257 "/" is current directory[CR][LF]" 17:50:25.154381 < "EPSV" 17:50:25.154408 ====> Passive DATA channel requested by client 17:50:25.154423 DATA sockfilt for passive data channel starting... 17:50:25.165352 DATA sockfilt for passive data channel started (pid 130453) 17:50:25.170142 DATA sockfilt for passive data channel listens on port 33493 17:50:25.170242 > "229 Entering Passive Mode (|||33493|)[CR][LF]" 17:50:25.170261 Client has been notified that DATA conn will be accepted on port 33493 17:50:25.190287 Client connects to port 33493 17:50:25.190348 ====> Client established passive DATA connection on port 33493 17:50:25.190473 < "TYPE I" 17:50:25.190515 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:25.196794 < "SIZE verifiedserver" 17:50:25.196870 > "213 17[CR][LF]" 17:50:25.197114 < "RETR verifiedserver" 17:50:25.197155 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:25.197260 =====> Closing passive DATA connection... 17:50:25.197280 Server disconnects passive DATA connection 17:50:25.197562 Server disconnected passive DATA connection 17:50:25.197591 DATA sockfilt for passive data channel quits (pid 130453) 17:50:25.197868 DATA sockfilt for passive data channel quit (pid 130453) 17:50:25.197892 =====> Closed passive DATA connection 17:50:25.197919 > "226 File transfer complete[CR][LF]" 17:50:25.246094 < "QUIT" 17:50:25.246156 > "221 bye bye baby[CR][LF]" 17:50:25.247376 MAIN sockfilt said DISC 17:50:25.247421 ====> Client disconnected 17:50:25.247520 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:24.993102 ====> Client connect 17:50:24.999524 Received DATA (on stdin) 17:50:24.999576 > 146 bytes data, server => client 17:50:24.999589 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:24.999599 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:24.999609 '220 \___|\___/|_| \_\_____|\r\n' 17:50:24.999778 < 16 bytes data, client => server 17:50:24.999791 'USER anonymous\r\n' 17:50:25.000015 Received DATA (on stdin) 17:50:25.000028 > 33 bytes data, server => client 17:50:25.000039 '331 We are happy you popped in!\r\n' 17:50:25.000093 < 22 bytes data, client => server 17:50:25.000104 'PASS ftp@example.com\r\n' 17:50:25.000212 Received DATA (on stdin) 17:50:25.000223 > 30 bytes data, server => client 17:50:25.000233 '230 Welcome you silly person\r\n' 17:50:25.000283 < 5 bytes data, client => server 17:50:25.000294 'PWD\r\n' 17:50:25.000399 Received DATA (on stdin) 17:50:25.000410 > 30 bytes data, server => client 17:50:25.000420 '257 "/" is current directory\r\n' 17:50:25.000478 < 6 bytes data, client => server 17:50:25.000489 'EPSV\r\n' 17:50:25.023018 Received DATA (on stdin) 17:50:25.023060 > 39 bytes data, server => client 17:50:25.023072 '229 Entering Passive Mode (|||33493|)\r\n' 17:50:25.033196 < 8 bytes data, client => server 17:50:25.033214 'TYPE I\r\n' 17:50:25.037674 Received DATA (on stdin) 17:50:25.037695 > 33 bytes data, server => client 17:50:25.037706 '200 I modify TYPE as you wanted\r\n' 17:50:25.037961 < 21 bytes data, client => server 17:50:25.037981 'SIZE verifiedserver\r\n' 17:50:25.043068 Received DATA (on stdin) 17:50:25.043090 > 8 bytes data, server => client 17:50:25.043101 '213 17\r\n' 17:50:25.043202 < 21 bytes data, client => server 17:50:25.043216 'RETR verifiedserver\r\n' 17:50:25.043467 Received DATA (on stdin) 17:50:25.043480 > 29 bytes data, server => client 17:50:25.043490 '150 Binary junk (17 bytes).\r\n' 17:50:25.044101 Received DATA (on stdin) 17:50:25.044113 > 28 bytes data, server => client 17:50:25.044122 '226 File transfer complete\r\n' 17:50:25.092088 < 6 bytes data, client => server 17:50:25.092123 'QUIT\r\n' 17:50:25.092346 Received DATA (on stdin) 17:50:25.092360 > 18 bytes data, server => client 17:50:25.092371 '221 bye bye baby\r\n' 17:50:25.093499 ====> Client disconnect 17:50:25.093711 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:25.011138 Running IPv4 version 17:50:25.011225 Listening on port 33493 17:50:25.011268 Wrote pid 130453 to log/17/server/ftp_sockdata.pid 17:50:25.011471 Received PING (on stdin) 17:50:25.011577 Received PORT (on stdin) 17:50:25.036390 ====> Client connect 17:50:25.043561 Received DATA (on stdin) 17:50:25.043583 > 17 bytes data, server => client 17:50:25.043594 'WE ROOLZ: 95543\r\n' 17:50:25.043625 Received DISC (on stdin) 17:50:25.043637 ====> Client forcibly disconnected 17:50:25.043780 Received QUIT (on stdin) 17:50:25.043791 quits 17:50:25.043864 ============> 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 ==130577== ==130577== Process terminating with default action of signal 4 (SIGILL) ==130577== Illegal opcode at address 0x4014520 ==130577== at 0x4014520: getparameter (tool_getparam.c:2862) ==130577== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130577== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130577== by 0x4003728: main (tool_main.c:186) === End of file valgrind983 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/23/valgrind975 ../src/curl -q --output log/23/curl975.out --include --trace-ascii log/23/trace975 --trace-time http://127.0.0.1:39173/975 --location-trusted -u joe:secret > log/23/stdout975 2> log/23/stderr975 975: 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 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/23/valgrind975 ../src/curl -q --output log/23/curl975.out --include --trace-ascii log/23/trace975 --trace-time http://127.0.0.1:39173/975 --location-trusted -u joe:secret > log/23/stdout975 2> log/23/stderr975 === End of file commands.log === Start of file ftp_server.log 17:50:24.771789 ====> Client connect 17:50:24.774729 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:24.775049 < "USER anonymous" 17:50:24.775088 > "331 We are happy you popped in![CR][LF]" 17:50:24.775267 < "PASS ftp@example.com" 17:50:24.775295 > "230 Welcome you silly person[CR][LF]" 17:50:24.775450 < "PWD" 17:50:24.775485 > "257 "/" is current directory[CR][LF]" 17:50:24.775648 < "EPSV" 17:50:24.775675 ====> Passive DATA channel requested by client 17:50:24.77569CMD (33792): ../libtool --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/valgrind982 ../src/curl -q --output log/7/curl982.out --include --trace-ascii log/7/trace982 --trace-time pop3://127.0.0.1:43881/982 -u user:secret --ssl > log/7/stdout982 2> log/7/stderr982 0 DATA sockfilt for passive data channel starting... 17:50:24.781236 DATA sockfilt for passive data channel started (pid 130008) 17:50:24.781388 DATA sockfilt for passive data channel listens on port 44737 17:50:24.781454 > "229 Entering Passive Mode (|||44737|)[CR][LF]" 17:50:24.781480 Client has been notified that DATA conn will be accepted on port 44737 17:50:24.789077 Client connects to port 44737 17:50:24.789152 ====> Client established passive DATA connection on port 44737 17:50:24.789269 < "TYPE I" 17:50:24.789306 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:24.793552 < "SIZE verifiedserver" 17:50:24.793617 > "213 17[CR][LF]" 17:50:24.796945 < "RETR verifiedserver" 17:50:24.797017 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:24.797129 =====> Closing passive DATA connection... 17:50:24.797149 Server disconnects passive DATA connection 17:50:24.806712 Server disconnected passive DATA connection 17:50:24.806811 DATA sockfilt for passive data channel quits (pid 130008) 17:50:24.810386 DATA sockfilt for passive data channel quit (pid 130008) 17:50:24.810444 =====> Closed passive DATA connection 17:50:24.810492 > "226 File transfer complete[CR][LF]" 17:50:24.843671 < "QUIT" 17:50:24.843740 > "221 bye bye baby[CR][LF]" 17:50:24.845122 MAIN sockfilt said DISC 17:50:24.845165 ====> Client disconnected 17:50:24.845247 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:25.617831 ====> Client connect 17:50:25.620786 Received DATA (on stdin) 17:50:25.620825 > 146 bytes data, server => client 17:50:25.620948 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:25.620960 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:25.620970 '220 \___|\___/|_| \_\_____|\r\n' 17:50:25.621086 < 16 bytes data, client => server 17:50:25.621099 'USER anonymous\r\n' 17:50:25.621276 Received DATA (on stdin) 17:50:25.621287 > 33 bytes data, server => client 17:50:25.621298 '331 We are happy you popped in!\r\n' 17:50:25.621354 < 22 bytes data, client => server 17:50:25.621365 'PASS ftp@example.com\r\n' 17:50:25.621477 Received DATA (on stdin) 17:50:25.621488 > 30 bytes data, server => client 17:50:25.621498 '230 Welcome you silly person\r\n' 17:50:25.621548 < 5 bytes data, client => server 17:50:25.621558 'PWD\r\n' 17:50:25.621667 Received DATA (on stdin) 17:50:25.621677 > 30 bytes data, server => client 17:50:25.621688 '257 "/" is current directory\r\n' 17:50:25.621749 < 6 bytes data, client => server 17:50:25.621759 'EPSV\r\n' 17:50:25.629529 Received DATA (on stdin) 17:50:25.629561 > 39 bytes data, server => client 17:50:25.629572 '229 Entering Passive Mode (|||44737|)\r\n' 17:50:25.635180 < 8 bytes data, client => server 17:50:25.635201 'TYPE I\r\n' 17:50:25.635488 Received DATA (on stdin) 17:50:25.635499 > 33 bytes data, server => client 17:50:25.635509 '200 I modify TYPE as you wanted\r\n' 17:50:25.639548 < 21 bytes data, client => server 17:50:25.639578 'SIZE verifiedserver\r\n' 17:50:25.639801 Received DATA (on stdin) 17:50:25.639812 > 8 bytes data, server => client 17:50:25.639822 '213 17\r\n' 17:50:25.642935 < 21 bytes data, client => server 17:50:25.642962 'RETR verifiedserver\r\n' 17:50:25.643336 Received DATA (on stdin) 17:50:25.643350 > 29 bytes data, server => client 17:50:25.643361 '150 Binary junk (17 bytes).\r\n' 17:50:25.656693 Received DATA (on stdin) 17:50:25.656715 > 28 bytes data, server => client 17:50:25.656725 '226 File transfer complete\r\n' 17:50:25.689634 < 6 bytes data, client => server 17:50:25.689666 'QUIT\r\n' 17:50:25.689930 Received DATA (on stdin) 17:50:25.689944 > 18 bytes data, server => client 17:50:25.689955 '221 bye bye baby\r\n' 17:50:25.691245 ====> Client disconnect 17:50:25.691430 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:24.627008 Running IPv4 version 17:50:24.627111 Listening on port 44737 17:50:24.627156 Wrote pid 130008 to log/23/server/ftp_sockdata.pid 17:50:24.627350 Received PING (on stdin) 17:50:24.627465 Received PORT (on stdin) 17:50:24.635118 ====> Client connect 17:50:24.646185 Received DATA (on stdin) 17:50:24.646220 > 17 bytes data, server => client 17:50:24.646231 'WE ROOLZ: 81154\r\n' 17:50:24.646277 Received DISC (on stdin) 17:50:24.646292 ====> Client forcibly disconnected 17:50:24.656205 Received QUIT (on stdin) 17:50:24.656241 quits 17:50:24.656339 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 17:50:25.571773 ====> Client connect 17:50:25.571813 accept_connection 3 returned 4 17:50:25.571831 accept_connection 3 returned 0 17:50:25.571846 Read 93 bytes 17:50:25.571855 Process 93 bytes request 17:50:25.571870 Got request: GET /verifiedserver HTTP/1.1 17:50:25.571879 Are-we-friendly question received 17:50:25.571909 Wrote request (93 bytes) input to log/23/server.input 17:50:25.571927 Identifying ourselves as friends 17:50:25.571988 Response sent (56 bytes) and written to log/23/server.response 17:50:25.571999 special request received, no persistency 17:50:25.572008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 33710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind975 ==130087== ==130087== Process terminating with default action of signal 4 (SIGILL) ==130087== Illegal opcode at address 0x4014520 ==130087== at 0x4014520: getparameter (tool_getparam.c:2862) ==130087== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130087== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130087== by 0x4003728: main (tool_main.c:186) === End of file valgrind975 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/7/valgrind982 ../src/curl -q --output log/7/curl982.out --include --trace-ascii log/7/trace982 --trace-time pop3://127.0.0.1:43881/982 -u user:secret --ssl > log/7/stdout982 2> log/7/stderr982 982: 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 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/7/valgrind982 ../src/curl -q --output log/7/curl982.out --include --trace-ascii log/7/trace982 --trace-time pop3://127.0.0.1:43881/982 -u user:secret --ssl > log/7/stdout982 2> log/7/stderr982 === End of file commands.log === Start of file pop3_server.log 17:50:25.104866 ====> Client connect 17:50:25.105069 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:25.105373 < "CAPA" 17:50:25.105415 > "-ERR Unrecognized command[CR][LF]" 17:50:25.105585 < "RETR verifiedserver" 17:50:25.105616 return proof we are we 17:50:25.105639 > "+OK Mail transfer starts[CR][LF]" 17:50:25.105661 > "WE ROOLZ: 123182[CR][LF]" 17:50:25.105679 > ".[CR][LF]" 17:50:25.153513 < "QUIT" 17:50:25.153580 > "+OK curl POP3 server signing off[CR][LF]" 17:50:25.166748 MAIN sockfilt said DISC 17:50:25.166831 ====>CMD (33792): ../libtool --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/valgrind980 ../src/curl -q --output log/4/curl980.out --include --trace-ascii log/4/trace980 --trace-time smtp://127.0.0.1:38357/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/4/stdout980 2> log/4/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/2/valgrind990 ../src/curl -q --output log/2/curl990.out --include --trace-ascii log/2/trace990 --trace-time http://127.0.0.1:38779/990 -w '%output{log/2/output}%{http_code}\n' > log/2/stdout990 2> log/2/stderr990 Client disconnected 17:50:25.173387 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:24.950424 ====> Client connect 17:50:24.951267 Received DATA (on stdin) 17:50:24.951282 > 164 bytes data, server => client 17:50:24.951294 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:24.951305 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:24.951314 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:24.951400 < 6 bytes data, client => server 17:50:24.951413 'CAPA\r\n' 17:50:24.951597 Received DATA (on stdin) 17:50:24.951608 > 27 bytes data, server => client 17:50:24.951618 '-ERR Unrecognized command\r\n' 17:50:24.951676 < 21 bytes data, client => server 17:50:24.951687 'RETR verifiedserver\r\n' 17:50:24.951860 Received DATA (on stdin) 17:50:24.951870 > 26 bytes data, server => client 17:50:24.951880 '+OK Mail transfer starts\r\n' 17:50:24.951899 Received DATA (on stdin) 17:50:24.951909 > 18 bytes data, server => client 17:50:24.951919 'WE ROOLZ: 123182\r\n' 17:50:24.951931 Received DATA (on stdin) 17:50:24.951940 > 3 bytes data, server => client 17:50:24.951948 '.\r\n' 17:50:24.996688 < 6 bytes data, client => server 17:50:24.996709 'QUIT\r\n' 17:50:24.999835 Received DATA (on stdin) 17:50:24.999861 > 34 bytes data, server => client 17:50:24.999873 '+OK curl POP3 server signing off\r\n' 17:50:25.009799 ====> Client disconnect 17:50:25.019519 Received ACKD (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 ==130571== ==130571== Process terminating with default action of signal 4 (SIGILL) ==130571== Illegal opcode at address 0x4014520 ==130571== at 0x4014520: getparameter (tool_getparam.c:2862) ==130571== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130571== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130571== by 0x4003728: main (tool_main.c:186) === End of file valgrind982 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/4/valgrind980 ../src/curl -q --output log/4/curl980.out --include --trace-ascii log/4/trace980 --trace-time smtp://127.0.0.1:38357/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/4/stdout980 2> log/4/stderr980 980: 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 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/4/valgrind980 ../src/curl -q --output log/4/curl980.out --include --trace-ascii log/4/trace980 --trace-time smtp://127.0.0.1:38357/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/4/stdout980 2> log/4/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 17:50:25.092156 ====> Client connect 17:50:25.092357 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:25.092760 < "EHLO verifiedserver" 17:50:25.092822 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:25.093057 < "HELP" 17:50:25.093094 > "214 WE ROOLZ: 126447[CR][LF]" 17:50:25.093108 return proof we are we 17:50:25.093346 < "QUIT" 17:50:25.093379 > "221 curl ESMTP server signing off[CR][LF]" 17:50:25.094459 MAIN sockfilt said DISC 17:50:25.094488 ====> Client disconnected 17:50:25.094549 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:24.932859 ====> Client connect 17:50:24.938569 Received DATA (on stdin) 17:50:24.938595 > 146 bytes data, server => client 17:50:24.938607 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:24.938618 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:24.938628 '220 \___|\___/|_| \_\_____|\r\n' 17:50:24.938761 < 21 bytes data, client => server 17:50:24.938781 'EHLO verifiedserver\r\n' 17:50:24.939020 Received DATA (on stdin) 17:50:24.939035 > 53 bytes data, server => client 17:50:24.939047 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:24.939120 < 6 bytes data, client => server 17:50:24.939136 'HELP\r\n' 17:50:24.939288 Received DATA (on stdin) 17:50:24.939298 > 22 bytes data, server => client 17:50:24.939308 '214 WE ROOLZ: 126447\r\n' 17:50:24.939412 < 6 bytes data, client => server 17:50:24.939423 'QUIT\r\n' 17:50:24.939558 Received DATA (on stdin) 17:50:24.939568 > 35 bytes data, server => client 17:50:24.939577 '221 curl ESMTP server signing off\r\n' 17:50:24.940594 ====> Client disconnect 17:50:24.940726 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 ==130400== ==130400== Process terminating with default action of signal 4 (SIGILL) ==130400== Illegal opcode at address 0x4014520 ==130400== at 0x4014520: getparameter (tool_getparam.c:2862) ==130400== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130400== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130400== by 0x4003728: main (tool_main.c:186) === End of file valgrind980 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/2/valgrind990 ../src/curl -q --output log/2/curl990.out --include --trace-ascii log/2/trace990 --trace-time http://127.0.0.1:38779/990 -w '%output{log/2/output}%{http_code}\n' > log/2/stdout990 2> log/2/stderr990 990: 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 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/2/valgrind990 ../src/curl -q --output log/2/curl990.out --include --trace-ascii log/2/trace990 --trace-time http://127.0.0.1:38779/990 -w '%output{log/2/output}%{http_code}\n' > log/2/stdout990 2> log/2/stderr990 === End of file commands.log === Start of file http_server.log 17:50:25.037717 ====> Client connect 17:50:25.037749 accept_connection 3 returned 4 17:50:25.037765 accept_connection 3 returned 0 17:50:25.037778 Read 93 bytes 17:50:25.037788 Process 93 bytes request 17:50:25.037801 Got request: GET /verifiedserver HTTP/1.1 17:50:25.037810 Are-we-friendly question received 17:50:25.037835 Wrote request (93 bytes) input to log/2/server.input 17:50:25.037851 Identifying ourselves as friends 17:50:25.037906 Response sent (56 bytes) and written to log/2/server.response 17:50:25.037916 special request received, no persistency 17:50:25.037924 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 35672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:3877CMD (33792): ../libtool --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/valgrind986 ../src/curl -q --output log/3/curl986.out --include --trace-ascii log/3/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:35383/986 -T log/3/test986.txt -u user:secret > log/3/stdout986 2> log/3/stderr986 CMD (33792): ../libtool --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/valgrind985 ../src/curl -q --output log/8/curl985.out --include --trace-ascii log/8/trace985 --trace-time pop3://127.0.0.1:39465/985 -u user:secret --ssl-reqd > log/8/stdout985 2> log/8/stderr985 9 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind990 ==130518== ==130518== Process terminating with default action of signal 4 (SIGILL) ==130518== Illegal opcode at address 0x4014520 ==130518== at 0x4014520: getparameter (tool_getparam.c:2862) ==130518== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130518== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130518== by 0x4003728: main (tool_main.c:186) === End of file valgrind990 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/3/valgrind986 ../src/curl -q --output log/3/curl986.out --include --trace-ascii log/3/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:35383/986 -T log/3/test986.txt -u user:secret > log/3/stdout986 2> log/3/stderr986 986: 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 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/3/valgrind986 ../src/curl -q --output log/3/curl986.out --include --trace-ascii log/3/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:35383/986 -T log/3/test986.txt -u user:secret > log/3/stdout986 2> log/3/stderr986 === End of file commands.log === Start of file ftp_server.log 17:50:25.186230 ====> Client connect 17:50:25.186531 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:25.186964 < "USER anonymous" 17:50:25.186999 > "331 We are happy you popped in![CR][LF]" 17:50:25.187216 < "PASS ftp@example.com" 17:50:25.187246 > "230 Welcome you silly person[CR][LF]" 17:50:25.187400 < "PWD" 17:50:25.187435 > "257 "/" is current directory[CR][LF]" 17:50:25.187607 < "EPSV" 17:50:25.187637 ====> Passive DATA channel requested by client 17:50:25.187653 DATA sockfilt for passive data channel starting... 17:50:25.191889 DATA sockfilt for passive data channel started (pid 130485) 17:50:25.192063 DATA sockfilt for passive data channel listens on port 36811 17:50:25.192132 > "229 Entering Passive Mode (|||36811|)[CR][LF]" 17:50:25.192155 Client has been notified that DATA conn will be accepted on port 36811 17:50:25.192436 Client connects to port 36811 17:50:25.192469 ====> Client established passive DATA connection on port 36811 17:50:25.192639 < "TYPE I" 17:50:25.192693 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:25.192890 < "SIZE verifiedserver" 17:50:25.192933 > "213 17[CR][LF]" 17:50:25.193106 < "RETR verifiedserver" 17:50:25.193152 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:25.193256 =====> Closing passive DATA connection... 17:50:25.193280 Server disconnects passive DATA connection 17:50:25.197205 Server disconnected passive DATA connection 17:50:25.197269 DATA sockfilt for passive data channel quits (pid 130485) 17:50:25.197822 DATA sockfilt for passive data channel quit (pid 130485) 17:50:25.197856 =====> Closed passive DATA connection 17:50:25.197903 > "226 File transfer complete[CR][LF]" 17:50:25.237395 < "QUIT" 17:50:25.237450 > "221 bye bye baby[CR][LF]" 17:50:25.238729 MAIN sockfilt said DISC 17:50:25.238764 ====> Client disconnected 17:50:25.238869 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:25.029567 ====> Client connect 17:50:25.032755 Received DATA (on stdin) 17:50:25.032795 > 146 bytes data, server => client 17:50:25.032807 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:25.032843 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:25.032852 '220 \___|\___/|_| \_\_____|\r\n' 17:50:25.032976 < 16 bytes data, client => server 17:50:25.032990 'USER anonymous\r\n' 17:50:25.033232 Received DATA (on stdin) 17:50:25.033245 > 33 bytes data, server => client 17:50:25.033255 '331 We are happy you popped in!\r\n' 17:50:25.033306 < 22 bytes data, client => server 17:50:25.033318 'PASS ftp@example.com\r\n' 17:50:25.033427 Received DATA (on stdin) 17:50:25.033438 > 30 bytes data, server => client 17:50:25.033448 '230 Welcome you silly person\r\n' 17:50:25.033497 < 5 bytes data, client => server 17:50:25.033508 'PWD\r\n' 17:50:25.033617 Received DATA (on stdin) 17:50:25.033630 > 30 bytes data, server => client 17:50:25.033641 '257 "/" is current directory\r\n' 17:50:25.033701 < 6 bytes data, client => server 17:50:25.033713 'EPSV\r\n' 17:50:25.038354 Received DATA (on stdin) 17:50:25.038376 > 39 bytes data, server => client 17:50:25.038388 '229 Entering Passive Mode (|||36811|)\r\n' 17:50:25.038679 < 8 bytes data, client => server 17:50:25.038694 'TYPE I\r\n' 17:50:25.038886 Received DATA (on stdin) 17:50:25.038901 > 33 bytes data, server => client 17:50:25.038912 '200 I modify TYPE as you wanted\r\n' 17:50:25.038976 < 21 bytes data, client => server 17:50:25.038991 'SIZE verifiedserver\r\n' 17:50:25.039115 Received DATA (on stdin) 17:50:25.039126 > 8 bytes data, server => client 17:50:25.039137 '213 17\r\n' 17:50:25.039191 < 21 bytes data, client => server 17:50:25.039205 'RETR verifiedserver\r\n' 17:50:25.039468 Received DATA (on stdin) 17:50:25.039482 > 29 bytes data, server => client 17:50:25.039532 '150 Binary junk (17 bytes).\r\n' 17:50:25.044106 Received DATA (on stdin) 17:50:25.044125 > 28 bytes data, server => client 17:50:25.044136 '226 File transfer complete\r\n' 17:50:25.083383 < 6 bytes data, client => server 17:50:25.083413 'QUIT\r\n' 17:50:25.083636 Received DATA (on stdin) 17:50:25.083647 > 18 bytes data, server => client 17:50:25.083658 '221 bye bye baby\r\n' 17:50:25.084857 ====> Client disconnect 17:50:25.085051 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:25.037495 Running IPv4 version 17:50:25.037591 Listening on port 36811 17:50:25.037639 Wrote pid 130485 to log/3/server/ftp_sockdata.pid 17:50:25.038004 Received PING (on stdin) 17:50:25.038125 Received PORT (on stdin) 17:50:25.038564 ====> Client connect 17:50:25.039560 Received DATA (on stdin) 17:50:25.039571 > 17 bytes data, server => client 17:50:25.039580 'WE ROOLZ: 81126\r\n' 17:50:25.039603 Received DISC (on stdin) 17:50:25.039613 ====> Client forcibly disconnected 17:50:25.043476 Received QUIT (on stdin) 17:50:25.043495 quits 17:50:25.043588 ============> 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 ==130582== ==130582== Process terminating with default action of signal 4 (SIGILL) ==130582== Illegal opcode at address 0x4014520 ==130582== at 0x4014520: getparameter (tool_getparam.c:2862) ==130582== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130582== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130582== by 0x4003728: main (tool_main.c:186) === End of file valgrind986 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-callersCMD (33792): ../libtool --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/valgrind984 ../src/curl -q --output log/15/curl984.out --include --trace-ascii log/15/trace984 --trace-time imap://127.0.0.1:36263/984 -T log/15/upload984 -u user:secret --ssl-reqd > log/15/stdout984 2> log/15/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/24/valgrind991 ../src/curl -q --output log/24/curl991.out --include --trace-ascii log/24/trace991 --trace-time http://127.0.0.1:39649/991 -w '%output{>>log/24/output}%{http_code}' > log/24/stdout991 2> log/24/stderr991 =16 --log-file=log/8/valgrind985 ../src/curl -q --output log/8/curl985.out --include --trace-ascii log/8/trace985 --trace-time pop3://127.0.0.1:39465/985 -u user:secret --ssl-reqd > log/8/stdout985 2> log/8/stderr985 985: 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 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/8/valgrind985 ../src/curl -q --output log/8/curl985.out --include --trace-ascii log/8/trace985 --trace-time pop3://127.0.0.1:39465/985 -u user:secret --ssl-reqd > log/8/stdout985 2> log/8/stderr985 === End of file commands.log === Start of file pop3_server.log 17:50:25.186808 ====> Client connect 17:50:25.186996 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:25.187363 < "CAPA" 17:50:25.187405 > "-ERR Unrecognized command[CR][LF]" 17:50:25.187582 < "RETR verifiedserver" 17:50:25.187610 return proof we are we 17:50:25.187633 > "+OK Mail transfer starts[CR][LF]" 17:50:25.187659 > "WE ROOLZ: 122869[CR][LF]" 17:50:25.187680 > ".[CR][LF]" 17:50:25.233704 < "QUIT" 17:50:25.233772 > "+OK curl POP3 server signing off[CR][LF]" 17:50:25.234989 MAIN sockfilt said DISC 17:50:25.235025 ====> Client disconnected 17:50:25.235117 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:26.032861 ====> Client connect 17:50:26.033199 Received DATA (on stdin) 17:50:26.033215 > 164 bytes data, server => client 17:50:26.033228 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:26.033238 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:26.033248 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:26.033379 < 6 bytes data, client => server 17:50:26.033396 'CAPA\r\n' 17:50:26.033589 Received DATA (on stdin) 17:50:26.033601 > 27 bytes data, server => client 17:50:26.033612 '-ERR Unrecognized command\r\n' 17:50:26.033669 < 21 bytes data, client => server 17:50:26.033680 'RETR verifiedserver\r\n' 17:50:26.033863 Received DATA (on stdin) 17:50:26.033876 > 26 bytes data, server => client 17:50:26.033886 '+OK Mail transfer starts\r\n' 17:50:26.033908 Received DATA (on stdin) 17:50:26.033917 > 18 bytes data, server => client 17:50:26.033927 'WE ROOLZ: 122869\r\n' 17:50:26.033939 Received DATA (on stdin) 17:50:26.033948 > 3 bytes data, server => client 17:50:26.033958 '.\r\n' 17:50:26.079673 < 6 bytes data, client => server 17:50:26.079714 'QUIT\r\n' 17:50:26.079965 Received DATA (on stdin) 17:50:26.079979 > 34 bytes data, server => client 17:50:26.079990 '+OK curl POP3 server signing off\r\n' 17:50:26.081115 ====> Client disconnect 17:50:26.081307 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 ==130578== ==130578== Process terminating with default action of signal 4 (SIGILL) ==130578== Illegal opcode at address 0x4014520 ==130578== at 0x4014520: getparameter (tool_getparam.c:2862) ==130578== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130578== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130578== by 0x4003728: main (tool_main.c:186) === End of file valgrind985 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/15/valgrind984 ../src/curl -q --output log/15/curl984.out --include --trace-ascii log/15/trace984 --trace-time imap://127.0.0.1:36263/984 -T log/15/upload984 -u user:secret --ssl-reqd > log/15/stdout984 2> log/15/stderr984 984: 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 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/15/valgrind984 ../src/curl -q --output log/15/curl984.out --include --trace-ascii log/15/trace984 --trace-time imap://127.0.0.1:36263/984 -T log/15/upload984 -u user:secret --ssl-reqd > log/15/stdout984 2> log/15/stderr984 === End of file commands.log === Start of file imap_server.log 17:50:25.153390 ====> Client connect 17:50:25.153592 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:25.160248 < "A001 CAPABILITY" 17:50:25.160314 > "A001 BAD Command[CR][LF]" 17:50:25.161005 < "A002 LIST "verifiedserver" *" 17:50:25.161042 LIST_imap got "verifiedserver" * 17:50:25.161076 > "* LIST () "/" "WE ROOLZ: 112379"[CR][LF]" 17:50:25.161096 > "A002 OK LIST Completed[CR][LF]" 17:50:25.161111 return proof we are we 17:50:25.203845 < "A003 LOGOUT" 17:50:25.203909 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:25.203933 > "A003 OK LOGOUT completed[CR][LF]" 17:50:25.205285 MAIN sockfilt said DISC 17:50:25.205323 ====> Client disconnected 17:50:25.205404 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:24.996690 ====> Client connect 17:50:24.999792 Received DATA (on stdin) 17:50:24.999814 > 164 bytes data, server => client 17:50:24.999825 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:24.999835 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:24.999844 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:25.006199 < 17 bytes data, client => server 17:50:25.006231 'A001 CAPABILITY\r\n' 17:50:25.006500 Received DATA (on stdin) 17:50:25.006513 > 18 bytes data, server => client 17:50:25.006522 'A001 BAD Command\r\n' 17:50:25.007060 < 30 bytes data, client => server 17:50:25.007082 'A002 LIST "verifiedserver" *\r\n' 17:50:25.007294 Received DATA (on stdin) 17:50:25.007307 > 34 bytes data, server => client 17:50:25.007317 '* LIST () "/" "WE ROOLZ: 112379"\r\n' 17:50:25.007339 Received DATA (on stdin) 17:50:25.007349 > 24 bytes data, server => client 17:50:25.007359 'A002 OK LIST Completed\r\n' 17:50:25.049807 < 13 bytes data, client => server 17:50:25.049842 'A003 LOGOUT\r\n' 17:50:25.050120 Received DATA (on stdin) 17:50:25.050133 > 36 bytes data, server => client 17:50:25.050143 '* BYE curl IMAP server signing off\r\n' 17:50:25.050165 Received DATA (on stdin) 17:50:25.050175 > 26 bytes data, server => client 17:50:25.050185 'A003 OK LOGOUT completed\r\n' 17:50:25.051408 ====> Client disconnect 17:50:25.051590 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 ==130525== ==130525== Process terminating with default action of signal 4 (SIGILL) ==130525== Illegal opcode at address 0x4014520 ==130525== at 0x4014520: getparameter (tool_getparam.c:2862) ==130525== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130525== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130525== by 0x4003728: main (tool_main.c:186) === End of file valgrind984 test 0991...[use -w %output{} append] ../libtool --mode=execCMD (33792): ../libtool --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/valgrind992 ../src/curl -q --output log/16/curl992.out --include --trace-ascii log/16/trace992 --trace-time smtp://127.0.0.1:42695/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/16/stdout992 2> log/16/stderr992 CMD (33792): ../libtool --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/valgrind993 ../src/curl -q --output log/11/curl993.out --include --trace-ascii log/11/trace993 --trace-time pop3://127.0.0.1:44715/ -u user:secret > log/11/stdout993 2> log/11/stderr993 ute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind991 ../src/curl -q --output log/24/curl991.out --include --trace-ascii log/24/trace991 --trace-time http://127.0.0.1:39649/991 -w '%output{>>log/24/output}%{http_code}' > log/24/stdout991 2> log/24/stderr991 991: 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 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/24/valgrind991 ../src/curl -q --output log/24/curl991.out --include --trace-ascii log/24/trace991 --trace-time http://127.0.0.1:39649/991 -w '%output{>>log/24/output}%{http_code}' > log/24/stdout991 2> log/24/stderr991 === End of file commands.log === Start of file http_server.log 17:50:25.546263 ====> Client connect 17:50:25.546310 accept_connection 3 returned 4 17:50:25.546329 accept_connection 3 returned 0 17:50:25.546345 Read 93 bytes 17:50:25.546354 Process 93 bytes request 17:50:25.546369 Got request: GET /verifiedserver HTTP/1.1 17:50:25.546378 Are-we-friendly question received 17:50:25.546406 Wrote request (93 bytes) input to log/24/server.input 17:50:25.546425 Identifying ourselves as friends 17:50:25.546512 Response sent (56 bytes) and written to log/24/server.response 17:50:25.546524 special request received, no persistency 17:50:25.546534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 36652 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind991 ==130926== ==130926== Process terminating with default action of signal 4 (SIGILL) ==130926== Illegal opcode at address 0x4014520 ==130926== at 0x4014520: getparameter (tool_getparam.c:2862) ==130926== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130926== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130926== by 0x4003728: main (tool_main.c:186) === End of file valgrind991 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/16/valgrind992 ../src/curl -q --output log/16/curl992.out --include --trace-ascii log/16/trace992 --trace-time smtp://127.0.0.1:42695/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/16/stdout992 2> log/16/stderr992 992: 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 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/16/valgrind992 ../src/curl -q --output log/16/curl992.out --include --trace-ascii log/16/trace992 --trace-time smtp://127.0.0.1:42695/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/16/stdout992 2> log/16/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 17:50:25.926713 ====> Client connect 17:50:25.926958 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:25.933494 < "EHLO verifiedserver" 17:50:25.933553 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:25.943644 < "HELP" 17:50:25.943721 > "214 WE ROOLZ: 125705[CR][LF]" 17:50:25.943745 return proof we are we 17:50:25.944000 < "QUIT" 17:50:25.944035 > "221 curl ESMTP server signing off[CR][LF]" 17:50:25.945277 MAIN sockfilt said DISC 17:50:25.945309 ====> Client disconnected 17:50:25.945399 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:25.769527 ====> Client connect 17:50:25.776190 Received DATA (on stdin) 17:50:25.776244 > 146 bytes data, server => client 17:50:25.776256 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:25.776265 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:25.776273 '220 \___|\___/|_| \_\_____|\r\n' 17:50:25.776419 < 21 bytes data, client => server 17:50:25.776433 'EHLO verifiedserver\r\n' 17:50:25.786187 Received DATA (on stdin) 17:50:25.786242 > 53 bytes data, server => client 17:50:25.786257 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:25.789596 < 6 bytes data, client => server 17:50:25.789626 'HELP\r\n' 17:50:25.789931 Received DATA (on stdin) 17:50:25.789945 > 22 bytes data, server => client 17:50:25.789956 '214 WE ROOLZ: 125705\r\n' 17:50:25.790079 < 6 bytes data, client => server 17:50:25.790096 'QUIT\r\n' 17:50:25.790221 Received DATA (on stdin) 17:50:25.790234 > 35 bytes data, server => client 17:50:25.790245 '221 curl ESMTP server signing off\r\n' 17:50:25.791405 ====> Client disconnect 17:50:25.791589 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 ==130996== ==130996== Process terminating with default action of signal 4 (SIGILL) ==130996== Illegal opcode at address 0x4014520 ==130996== at 0x4014520: getparameter (tool_getparam.c:2862) ==130996== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==130996== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==130996== by 0x4003728: main (tool_main.c:186) === End of file valgrind992 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/11/valgrind993 ../src/curl -q --output log/11/curl993.out --include --trace-ascii log/11/trace993 --trace-time pop3://127.0.0.1:44715/ -u user:secret > log/11/stdout993 2> log/11/stderr993 993: 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 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/11/valgrind993 ../src/curl -q --output log/11/curl993.out --include --trace-ascii log/11/trace993 --trace-time pop3://127.0.0.1:44715/ -u user:secret > log/11/stdout993 2> log/11/stderr993 === End of file commands.log === Start of file pop3_server.log 17:50:26.017477 ====> Client connect 17:50:26.017658 > " _ _ ____ _[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/21/valgrind994 ../src/curl -q --include --trace-ascii log/21/trace994 --trace-time -o "log/21/#1" "http://127.0.0.1:41669/994/{hey,ho}" --skip-existing > log/21/stdout994 2> log/21/stderr994 ___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:26.018609 < "CAPA" 17:50:26.018661 > "-ERR Unrecognized command[CR][LF]" 17:50:26.018878 < "RETR verifiedserver" 17:50:26.018911 return proof we are we 17:50:26.018939 > "+OK Mail transfer starts[CR][LF]" 17:50:26.018965 > "WE ROOLZ: 122951[CR][LF]" 17:50:26.018986 > ".[CR][LF]" 17:50:26.067040 < "QUIT" 17:50:26.067103 > "+OK curl POP3 server signing off[CR][LF]" 17:50:26.068096 MAIN sockfilt said DISC 17:50:26.068130 ====> Client disconnected 17:50:26.068193 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:25.863514 ====> Client connect 17:50:25.864429 Received DATA (on stdin) 17:50:25.864454 > 164 bytes data, server => client 17:50:25.864468 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:25.864480 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:25.864491 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:25.864582 < 6 bytes data, client => server 17:50:25.864599 'CAPA\r\n' 17:50:25.864854 Received DATA (on stdin) 17:50:25.864869 > 27 bytes data, server => client 17:50:25.864881 '-ERR Unrecognized command\r\n' 17:50:25.864946 < 21 bytes data, client => server 17:50:25.864962 'RETR verifiedserver\r\n' 17:50:25.865171 Received DATA (on stdin) 17:50:25.865185 > 26 bytes data, server => client 17:50:25.865196 '+OK Mail transfer starts\r\n' 17:50:25.865221 Received DATA (on stdin) 17:50:25.865233 > 18 bytes data, server => client 17:50:25.865245 'WE ROOLZ: 122951\r\n' 17:50:25.865258 Received DATA (on stdin) 17:50:25.865269 > 3 bytes data, server => client 17:50:25.865280 '.\r\n' 17:50:25.913024 < 6 bytes data, client => server 17:50:25.913048 'QUIT\r\n' 17:50:25.913286 Received DATA (on stdin) 17:50:25.913298 > 34 bytes data, server => client 17:50:25.913308 '+OK curl POP3 server signing off\r\n' 17:50:25.914224 ====> Client disconnect 17:50:25.914372 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 ==131055== ==131055== Process terminating with default action of signal 4 (SIGILL) ==131055== Illegal opcode at address 0x4014520 ==131055== at 0x4014520: getparameter (tool_getparam.c:2862) ==131055== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131055== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131055== by 0x4003728: main (tool_main.c:186) === 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/20/valgrind996 ../src/curl -q --include --trace-ascii log/20/trace996 --trace-time -o log/20/there http://127.0.0.1:46725/996 --skip-existing > log/20/stdout996 2> log/20/stderr996 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/21/valgrind994 ../src/curl -q --include --trace-ascii log/21/trace994 --trace-time -o "log/21/#1" "http://127.0.0.1:41669/994/{hey,ho}" --skip-existing > log/21/stdout994 2> log/21/stderr994 994: stderr FAILED: --- log/21/check-expected 2026-01-28 17:50:28.806555402 +0000 +++ log/21/check-generated 2026-01-28 17:50:28.806555402 +0000 @@ -1,2 +0,0 @@ -Note: skips transfer, "log/21/hey" exists locally[CR][LF] -Note: skips transfer, "log/21/ho" exists locally[CR][LF] == Contents of files in the log/21/ directory after test 994 === Start of file check-expected Note: skips transfer, "log/21/hey" exists locally[CR][LF] Note: skips transfer, "log/21/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/21/valgrind994 ../src/curl -q --include --trace-ascii log/21/trace994 --trace-time -o "log/21/#1" "http://127.0.0.1:41669/994/{hey,ho}" --skip-existing > log/21/stdout994 2> log/21/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 17:50:26.162167 ====> Client connect 17:50:26.162202 accept_connection 3 returned 4 17:50:26.162219 accept_connection 3 returned 0 17:50:26.162234 Read 93 bytes 17:50:26.162244 Process 93 bytes request 17:50:26.162256 Got request: GET /verifiedserver HTTP/1.1 17:50:26.162265 Are-we-friendly question received 17:50:26.162288 Wrote request (93 bytes) input to log/21/server.input 17:50:26.162304 Identifying ourselves as friends 17:50:26.162358 Response sent (56 bytes) and written to log/21/server.response 17:50:26.162367 special request received, no persistency 17:50:26.162375 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 53450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind994 ==131156== ==131156== Process terminating with default action of signal 4 (SIGILL) ==131156== Illegal opcode at address 0x4014520 ==131156== at 0x4014520: getparameter (tool_getparam.c:2862) ==131156== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131156== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131156== by 0x4003728: main (tool_main.c:186) === End of file valgrind994 CMD (33792): ../libtool --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/valgrind999 ../src/curl -q --output log/18/curl999.out --include --trace-ascii log/18/trace999 --trace-time -x 127.0.0.1:34067 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/18/stdout999 2> log/18/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/22/valgrind997 ../src/curl -q --output log/22/curl997.out --include --trace-ascii log/22/trace997 --trace-time pop3://127.0.0.1:35229 -u user:secret -X 'STAT' > log/22/stdout997 2> log/22/stderr997 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/20/valgrind996 ../src/curl -q --include --trace-ascii log/20/trace996 --trace-time -o log/20/there http://127.0.0.1:46725/996 --skip-existing > log/20/stdout996 2> log/20/stderr996 996: stderr FAILED: --- log/20/check-expected 2026-01-28 17:50:29.066555402 +0000 +++ log/20/check-generated 2026-01-28 17:50:29.066555402 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/20/there" exists locally[CR][LF] == Contents of files in the log/20/ directory after test 996 === Start of file check-expected Note: skips transfer, "log/20/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/20/valgrind996 ../src/curl -q --include --trace-ascii log/20/trace996 --trace-time -o log/20/there http://127.0.0.1:46725/996 --skip-existing > log/20/stdout996 2> log/20/stderr996 === End of file commands.log === Start of file http_server.log 17:50:26.629575 ====> Client connect 17:50:26.629624 accept_connection 3 returned 4 17:50:26.629645 accept_connection 3 returned 0 17:50:26.629662 Read 93 bytes 17:50:26.629672 Process 93 bytes request 17:50:26.629686 Got request: GET /verifiedserver HTTP/1.1 17:50:26.629696 Are-we-friendly question received 17:50:26.629723 Wrote request (93 bytes) input to log/20/server.input 17:50:26.629741 Identifying ourselves as friends 17:50:26.629833 Response sent (56 bytes) and written to log/20/server.response 17:50:26.629843 special request received, no persistency 17:50:26.629851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 54540 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file there content === End of file there === Start of file valgrind996 ==131289== ==131289== Process terminating with default action of signal 4 (SIGILL) ==131289== Illegal opcode at address 0x4014520 ==131289== at 0x4014520: getparameter (tool_getparam.c:2862) ==131289== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131289== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131289== by 0x4003728: main (tool_main.c:186) === End of file valgrind996 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/18/valgrind999 ../src/curl -q --output log/18/curl999.out --include --trace-ascii log/18/trace999 --trace-time -x 127.0.0.1:34067 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/18/stdout999 2> log/18/stderr999 999: 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 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/18/valgrind999 ../src/curl -q --output log/18/curl999.out --include --trace-ascii log/18/trace999 --trace-time -x 127.0.0.1:34067 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/18/stdout999 2> log/18/stderr999 === End of file commands.log === Start of file http_server.log 17:50:26.878653 ====> Client connect 17:50:26.878689 accept_connection 3 returned 4 17:50:26.878707 accept_connection 3 returned 0 17:50:26.878722 Read 93 bytes 17:50:26.878730 Process 93 bytes request 17:50:26.878743 Got request: GET /verifiedserver HTTP/1.1 17:50:26.878750 Are-we-friendly question received 17:50:26.878775 Wrote request (93 bytes) input to log/18/server.input 17:50:26.878790 Identifying ourselves as friends 17:50:26.878841 Response sent (56 bytes) and written to log/18/server.response 17:50:26.878850 special request received, no persistency 17:50:26.878858 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 44624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind999 ==131476== ==131476== Process terminating with default action of signal 4 (SIGILL) ==131476== Illegal opcode at address 0x4014520 ==131476== at 0x4014520: getparameter (tool_getparam.c:2862) ==131476== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131476== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131476== by 0x4003728: main (tool_main.c:186) === End of file valgrind999 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/22/valgrind997 ../src/curl -q --output log/22/curl997.out --include --trace-ascii log/22/trace997 --trace-time pop3://127.0.0.1:35229 -u user:secret -X 'STAT' > log/22/stdout997 2> log/22/stderr997 997: 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 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/22/valgrind997 ../src/curl -q --output log/22/curl997.out --include --trace-ascii log/22/trace997 --trace-time pop3://127.0.0.1:35229 -u user:secret -X 'STAT' > log/22/stdout997 2> log/22/stderr997 === End of file commands.log === Start of file pop3_server.log 17:50:26.890155 ====> Client connect 17:50:26.890361 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:26.890729 < "CAPA" 17:50:26.890782 > "-ERR Unrecognized command[CR][LF]" 17:50:26.891005 < "RETR verifiedserver" 17:50:26.891038 return proof we are we 17:50:26.891068 > "+OK Mail transfer starts[CR][LF]" 17:50:26.891094 > "WE ROOLZ: 122824[CR][LF]" 17:50:26.891117 > ".[CR][LF]" 17:50:26.937063 < "QUIT" 17:50:26.937136 > "+OK curl POP3 server signing off[CR][LF]" 17:50:26.938450 MAIN sockfilt said DISC 17:50:26.938490 ====> Client disconnected 17:50:26.938579 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:26.736196 ====> Client connect 17:50:26.736567 Received DATA (on stdin) 17:50:26.736588 > 164 bytes data, server => 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/1/valgrind1003 ../src/curl -q --output log/1/curl1003.out --include --trace-ascii log/1/trace1003 --trace-time ftp://127.0.0.1:39965/path/1003 > log/1/stdout1003 2> log/1/stderr1003 17:50:26.736601 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:26.736611 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:26.736621 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:26.736744 < 6 bytes data, client => server 17:50:26.736761 'CAPA\r\n' 17:50:26.736973 Received DATA (on stdin) 17:50:26.736986 > 27 bytes data, server => client 17:50:26.736997 '-ERR Unrecognized command\r\n' 17:50:26.737066 < 21 bytes data, client => server 17:50:26.737081 'RETR verifiedserver\r\n' 17:50:26.737303 Received DATA (on stdin) 17:50:26.737317 > 26 bytes data, server => client 17:50:26.737328 '+OK Mail transfer starts\r\n' 17:50:26.737351 Received DATA (on stdin) 17:50:26.737361 > 18 bytes data, server => client 17:50:26.737372 'WE ROOLZ: 122824\r\n' 17:50:26.737386 Received DATA (on stdin) 17:50:26.737396 > 3 bytes data, server => client 17:50:26.737406 '.\r\n' 17:50:26.783016 < 6 bytes data, client => server 17:50:26.783054 'QUIT\r\n' 17:50:26.783338 Received DATA (on stdin) 17:50:26.783357 > 34 bytes data, server => client 17:50:26.783369 '+OK curl POP3 server signing off\r\n' 17:50:26.784569 ====> Client disconnect 17:50:26.784773 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 ==131369== ==131369== Process terminating with default action of signal 4 (SIGILL) ==131369== Illegal opcode at address 0x4014520 ==131369== at 0x4014520: getparameter (tool_getparam.c:2862) ==131369== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131369== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131369== by 0x4003728: main (tool_main.c:186) === End of file valgrind997 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/1/valgrind1003 ../src/curl -q --output log/1/curl1003.out --include --trace-ascii log/1/trace1003 --trace-time ftp://127.0.0.1:39965/path/1003 > log/1/stdout1003 2> log/1/stderr1003 1003: 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 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/1/valgrind1003 ../src/curl -q --output log/1/curl1003.out --include --trace-ascii log/1/trace1003 --trace-time ftp://127.0.0.1:39965/path/1003 > log/1/stdout1003 2> log/1/stderr1003 === End of file commands.log === Start of file ftp_server.log 17:50:27.346113 ====> Client connect 17:50:27.346345 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:27.346622 < "USER anonymous" 17:50:27.346680 > "331 We are happy you popped in![CR][LF]" 17:50:27.348134 < "PASS ftp@example.com" 17:50:27.348171 > "230 Welcome you silly person[CR][LF]" 17:50:27.348374 < "PWD" 17:50:27.348412 > "257 "/" is current directory[CR][LF]" 17:50:27.348605 < "EPSV" 17:50:27.348636 ====> Passive DATA channel requested by client 17:50:27.348654 DATA sockfilt for passive data channel starting... 17:50:27.357312 DATA sockfilt for passive data channel started (pid 131732) 17:50:27.357456 DATA sockfilt for passive data channel listens on port 42783 17:50:27.357521 > "229 Entering Passive Mode (|||42783|)[CR][LF]" 17:50:27.357546 Client has been notified that DATA conn will be accepted on port 42783 17:50:27.357856 Client connects to port 42783 17:50:27.357888 ====> Client established passive DATA connection on port 42783 17:50:27.357991 < "TYPE I" 17:50:27.358030 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:27.358211 < "SIZE verifiedserver" 17:50:27.358253 > "213 17[CR][LF]" 17:50:27.358429 < "RETR verifiedserver" 17:50:27.358469 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:27.358573 =====> Closing passive DATA connection... 17:50:27.358594 Server disconnects passive DATA connection 17:50:27.358817 Server disconnected passive DATA connection 17:50:27.358845 DATA sockfilt for passive data channel quits (pid 131732) 17:50:27.359081 DATA sockfilt for passive data channel quit (pid 131732) 17:50:27.359108 =====> Closed passive DATA connection 17:50:27.359138 > "226 File transfer complete[CR][LF]" 17:50:27.400720 < "QUIT" 17:50:27.400787 > "221 bye bye baby[CR][LF]" 17:50:27.402411 MAIN sockfilt said DISC 17:50:27.402449 ====> Client disconnected 17:50:27.402547 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:27.192138 ====> Client connect 17:50:27.192454 Received DATA (on stdin) 17:50:27.192475 > 146 bytes data, server => client 17:50:27.192542 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:27.192553 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:27.192562 '220 \___|\___/|_| \_\_____|\r\n' 17:50:27.192644 < 16 bytes data, client => server 17:50:27.192660 'USER anonymous\r\n' 17:50:27.193179 Received DATA (on stdin) 17:50:27.193198 > 33 bytes data, server => client 17:50:27.193210 '331 We are happy you popped in!\r\n' 17:50:27.193273 < 22 bytes data, client => server 17:50:27.193289 'PASS ftp@example.com\r\n' 17:50:27.194358 Received DATA (on stdin) 17:50:27.194371 > 30 bytes data, server => client 17:50:27.194382 '230 Welcome you silly person\r\n' 17:50:27.194456 < 5 bytes data, client => server 17:50:27.194473 'PWD\r\n' 17:50:27.194600 Received DATA (on stdin) 17:50:27.194614 > 30 bytes data, server => client 17:50:27.194624 '257 "/" is current directory\r\n' 17:50:27.194690 < 6 bytes data, client => server 17:50:27.194705 'EPSV\r\n' 17:50:27.203743 Received DATA (on stdin) 17:50:27.203763 > 39 bytes data, server => client 17:50:27.203774 '229 Entering Passive Mode (|||42783|)\r\n' 17:50:27.203947 < 8 bytes data, client => server 17:50:27.203967 'TYPE I\r\n' 17:50:27.204215 Received DATA (on stdin) 17:50:27.204228 > 33 bytes data, server => client 17:50:27.204238 '200 I modify TYPE as you wanted\r\n' 17:50:27.204295 < 21 bytes data, client => server 17:50:27.204309 'SIZE verifiedserver\r\n' 17:50:27.204439 Received DATA (on stdin) 17:50:27.204451 > 8 bytes data, server => client 17:50:27.204461 '213 17\r\n' 17:50:27.204516 < 21 bytes data, client => server 17:50:27.204530 'RETR verifiedserver\r\n' 17:50:27.204776 Received DATA (on stdin) 17:50:27.204788 > 29 bytes data, server => client 17:50:27.204798 '150 Binary junk (17 bytes).\r\n' 17:50:27.205320 Received DATA (on stdin) 17:50:27.205332 > 28 bytes data, server => client 17:50:27.205342 '226 File transfer complete\r\n' 17:50:27.246676 < 6 bytes data, client => server 17:50:27.246716 'QUIT\r\n' 17:50:27.246981 Received DATA (on stdin) 17:50:27.246996 > 18 bytes data, server => client 17:50:27.247007 '221 bye bye baby\r\n' 17:50:27.248533 ====> Client disconnect 17:50:27.248741 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:27.200335 Running IPv4 version 17:50:27.200401 Listening on port 42783 17:50:27.200471 Wrote pid 131732 to log/1/server/ftp_sockdata.pid 17:50:27.203421 Received PING (on stdin) 17:50:27.203537 Received PORT (on stdin) 17:50:27.203991 ====> Client connect 17:50:27.204824 Received DATA (on stdin) 17:50:27.204836 > 17 bytes data, server => client 17:50:27.204845 'WE ROOLZ: 81139\r\n' 17:50:27.204867 Received DISC (on stdin) 17:50:27.204877 ====> Client forcibly disconnected 17:50:27.205032 Received QUIT (on stdin) 17:50:27.205042 quits 17:50:27.205108 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250 CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --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/valgrind1006 ../src/curl -q --output log/10/curl1006.out --include --trace-ascii log/10/trace1006 --trace-time ftp://127.0.0.1:41693/path/1006 > log/10/stdout1006 2> log/10/stderr1006 CMD (33792): ../libtool --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/valgrind1004 ../src/curl -q --output log/14/curl1004.out --include --trace-ascii log/14/trace1004 --trace-time http://127.0.0.1:37569/1004 --proxy "" > log/14/stdout1004 2> log/14/stderr1004 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB Testnum 1003 === End of file server.cmd === Start of file valgrind1003 ==131836== ==131836== Process terminating with default action of signal 4 (SIGILL) ==131836== Illegal opcode at address 0x4014520 ==131836== at 0x4014520: getparameter (tool_getparam.c:2862) ==131836== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131836== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131836== by 0x4003728: main (tool_main.c:186) === End of file valgrind1003 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/10/valgrind1006 ../src/curl -q --output log/10/curl1006.out --include --trace-ascii log/10/trace1006 --trace-time ftp://127.0.0.1:41693/path/1006 > log/10/stdout1006 2> log/10/stderr1006 1006: 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 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/10/valgrind1006 ../src/curl -q --output log/10/curl1006.out --include --trace-ascii log/10/trace1006 --trace-time ftp://127.0.0.1:41693/path/1006 > log/10/stdout1006 2> log/10/stderr1006 === End of file commands.log === Start of file ftp_server.log 17:50:27.363801 ====> Client connect 17:50:27.363960 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:27.364250 < "USER anonymous" 17:50:27.364291 > "331 We are happy you popped in![CR][LF]" 17:50:27.367415 < "PASS ftp@example.com" 17:50:27.367464 > "230 Welcome you silly person[CR][LF]" 17:50:27.370264 < "PWD" 17:50:27.370317 > "257 "/" is current directory[CR][LF]" 17:50:27.370509 < "EPSV" 17:50:27.370539 ====> Passive DATA channel requested by client 17:50:27.370552 DATA sockfilt for passive data channel starting... 17:50:27.377229 DATA sockfilt for passive data channel started (pid 131750) 17:50:27.377405 DATA sockfilt for passive data channel listens on port 44173 17:50:27.377471 > "229 Entering Passive Mode (|||44173|)[CR][LF]" 17:50:27.377495 Client has been notified that DATA conn will be accepted on port 44173 17:50:27.377841 Client connects to port 44173 17:50:27.377876 ====> Client established passive DATA connection on port 44173 17:50:27.377980 < "TYPE I" 17:50:27.378024 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:27.378212 < "SIZE verifiedserver" 17:50:27.378254 > "213 17[CR][LF]" 17:50:27.378433 < "RETR verifiedserver" 17:50:27.378474 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:27.378573 =====> Closing passive DATA connection... 17:50:27.378595 Server disconnects passive DATA connection 17:50:27.378867 Server disconnected passive DATA connection 17:50:27.378901 DATA sockfilt for passive data channel quits (pid 131750) 17:50:27.379197 DATA sockfilt for passive data channel quit (pid 131750) 17:50:27.379227 =====> Closed passive DATA connection 17:50:27.379258 > "226 File transfer complete[CR][LF]" 17:50:27.430129 < "QUIT" 17:50:27.430190 > "221 bye bye baby[CR][LF]" 17:50:27.438569 MAIN sockfilt said DISC 17:50:27.438625 ====> Client disconnected 17:50:27.438691 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:27.209875 ====> Client connect 17:50:27.210159 Received DATA (on stdin) 17:50:27.210175 > 146 bytes data, server => client 17:50:27.210186 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:27.210196 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:27.210204 '220 \___|\___/|_| \_\_____|\r\n' 17:50:27.210286 < 16 bytes data, client => server 17:50:27.210298 'USER anonymous\r\n' 17:50:27.210476 Received DATA (on stdin) 17:50:27.210487 > 33 bytes data, server => client 17:50:27.210497 '331 We are happy you popped in!\r\n' 17:50:27.210556 < 22 bytes data, client => server 17:50:27.210567 'PASS ftp@example.com\r\n' 17:50:27.216173 Received DATA (on stdin) 17:50:27.216201 > 30 bytes data, server => client 17:50:27.216212 '230 Welcome you silly person\r\n' 17:50:27.216316 < 5 bytes data, client => server 17:50:27.216329 'PWD\r\n' 17:50:27.216505 Received DATA (on stdin) 17:50:27.216518 > 30 bytes data, server => client 17:50:27.216528 '257 "/" is current directory\r\n' 17:50:27.216594 < 6 bytes data, client => server 17:50:27.216605 'EPSV\r\n' 17:50:27.223691 Received DATA (on stdin) 17:50:27.223711 > 39 bytes data, server => client 17:50:27.223723 '229 Entering Passive Mode (|||44173|)\r\n' 17:50:27.223932 < 8 bytes data, client => server 17:50:27.223950 'TYPE I\r\n' 17:50:27.224214 Received DATA (on stdin) 17:50:27.224227 > 33 bytes data, server => client 17:50:27.224238 '200 I modify TYPE as you wanted\r\n' 17:50:27.224295 < 21 bytes data, client => server 17:50:27.224312 'SIZE verifiedserver\r\n' 17:50:27.224441 Received DATA (on stdin) 17:50:27.224453 > 8 bytes data, server => client 17:50:27.224463 '213 17\r\n' 17:50:27.224518 < 21 bytes data, client => server 17:50:27.224534 'RETR verifiedserver\r\n' 17:50:27.224782 Received DATA (on stdin) 17:50:27.224795 > 29 bytes data, server => client 17:50:27.224806 '150 Binary junk (17 bytes).\r\n' 17:50:27.225445 Received DATA (on stdin) 17:50:27.225458 > 28 bytes data, server => client 17:50:27.225468 '226 File transfer complete\r\n' 17:50:27.272393 < 6 bytes data, client => server 17:50:27.272420 'QUIT\r\n' 17:50:27.279514 Received DATA (on stdin) 17:50:27.279548 > 18 bytes data, server => client 17:50:27.279559 '221 bye bye baby\r\n' 17:50:27.283053 ====> Client disconnect 17:50:27.284879 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:27.221245 Running IPv4 version 17:50:27.221313 Listening on port 44173 17:50:27.221355 Wrote pid 131750 to log/10/server/ftp_sockdata.pid 17:50:27.223322 Received PING (on stdin) 17:50:27.223482 Received PORT (on stdin) 17:50:27.223973 ====> Client connect 17:50:27.224866 Received DATA (on stdin) 17:50:27.224881 > 17 bytes data, server => client 17:50:27.224892 'WE ROOLZ: 81055\r\n' 17:50:27.224921 Received DISC (on stdin) 17:50:27.224935 ====> Client forcibly disconnected 17:50:27.225099 Received QUIT (on stdin) 17:50:27.225114 quits 17:50:27.225178 ============> 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-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-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 ==131872== ==131872== Process terminating with default action of signal 4 (SIGILL) ==131872== Illegal opcode at address 0x4014520 ==131872== at 0x4014520: getparameter (tool_getparam.c:2862) ==131872== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131872== by 0x4003728: UnknownInlinedFun (tooCMD (33792): ../libtool --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/valgrind995 ../src/curl -q --trace-ascii log/19/trace995 --trace-time -o log/19/there http://127.0.0.1:36987/995 --skip-existing > log/19/stdout995 2> log/19/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/12/valgrind998 ../src/curl -q --output log/12/curl998.out --include --trace-ascii log/12/trace998 --trace-time -x 127.0.0.1:36641 http://alberto:einstein@somewhere.example/998 --location-trusted > log/12/stdout998 2> log/12/stderr998 l_operate.c:2244) ==131872== by 0x4003728: main (tool_main.c:186) === End of file valgrind1006 test 1004...[HTTP GET with empty 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/valgrind1004 ../src/curl -q --output log/14/curl1004.out --include --trace-ascii log/14/trace1004 --trace-time http://127.0.0.1:37569/1004 --proxy "" > log/14/stdout1004 2> log/14/stderr1004 1004: 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 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/14/valgrind1004 ../src/curl -q --output log/14/curl1004.out --include --trace-ascii log/14/trace1004 --trace-time http://127.0.0.1:37569/1004 --proxy "" > log/14/stdout1004 2> log/14/stderr1004 === End of file commands.log === Start of file http_server.log 17:50:28.171376 ====> Client connect 17:50:28.171410 accept_connection 3 returned 4 17:50:28.171426 accept_connection 3 returned 0 17:50:28.171442 Read 93 bytes 17:50:28.171451 Process 93 bytes request 17:50:28.171464 Got request: GET /verifiedserver HTTP/1.1 17:50:28.171473 Are-we-friendly question received 17:50:28.171500 Wrote request (93 bytes) input to log/14/server.input 17:50:28.171516 Identifying ourselves as friends 17:50:28.171578 Response sent (56 bytes) and written to log/14/server.response 17:50:28.171587 special request received, no persistency 17:50:28.171596 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 59426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1004 ==131736== ==131736== Process terminating with default action of signal 4 (SIGILL) ==131736== Illegal opcode at address 0x4014520 ==131736== at 0x4014520: getparameter (tool_getparam.c:2862) ==131736== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131736== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131736== by 0x4003728: main (tool_main.c:186) === End of file valgrind1004 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/19/valgrind995 ../src/curl -q --trace-ascii log/19/trace995 --trace-time -o log/19/there http://127.0.0.1:36987/995 --skip-existing > log/19/stdout995 2> log/19/stderr995 995: 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 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/19/valgrind995 ../src/curl -q --trace-ascii log/19/trace995 --trace-time -o log/19/there http://127.0.0.1:36987/995 --skip-existing > log/19/stdout995 2> log/19/stderr995 === End of file commands.log === Start of file http_server.log 17:50:26.559056 ====> Client connect 17:50:26.559094 accept_connection 3 returned 4 17:50:26.559113 accept_connection 3 returned 0 17:50:26.559129 Read 93 bytes 17:50:26.559138 Process 93 bytes request 17:50:26.559152 Got request: GET /verifiedserver HTTP/1.1 17:50:26.559161 Are-we-friendly question received 17:50:26.559188 Wrote request (93 bytes) input to log/19/server.input 17:50:26.559205 Identifying ourselves as friends 17:50:26.559267 Response sent (56 bytes) and written to log/19/server.response 17:50:26.559278 special request received, no persistency 17:50:26.559287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 45898 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind995 ==131253== ==131253== Process terminating with default action of signal 4 (SIGILL) ==131253== Illegal opcode at address 0x4014520 ==131253== at 0x4014520: getparameter (tool_getparam.c:2862) ==131253== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131253== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131253== by 0x4003728: main (tool_main.c:186) === End of file valgrind995 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/12/valgrind998 ../src/curl -q --output log/12/curl998.out --include --trace-ascii log/12/trace998 --trace-time -x 127.0.0.1:36641 http://alberto:einstein@somewhere.example/998 --location-trusted > log/12/stdout998 2> log/12/stderr998 998: 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 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/12/valgrind998 ../src/curl -q --output log/12/curl998.out --include --trace-ascii log/12/trace998 --trace-time -x 127.0.0.1:36641 http://alberto:einstein@somewhere.example/998 --location-trusted > log/12/stdout998 2> log/12/stderr998 === End of file commands.log === Start of file http_server.log 17:50:26.835469 ====> Client connect 17:50:26.835516 accept_connection 3 returned 4 17:50:26.835536 accept_connection 3 returned 0 17:50:26.835554 Read 93 bytes 17:50:26.835564 Process 93 bytes request 17:50:26.835579 Got request: GET /verifiedserver HTTP/1.1 17:50:26.835588 Are-we-friendly question received 17:50:26.835619 Wrote request (93 bytes) input to log/12/server.input 17:50:26.835638 Identifying ourselves as friends 17:50:26.835721 Response sent (56 bytes) and written to log/12/server.response 17:50:26.835732 special request received, no persistency 17:50:26.835741 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 51916 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === End of file 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/9/valgrind1002 ../src/curl -q --output log/9/curl1002.out --include --trace-ascii log/9/trace1002 --trace-time http://127.0.0.1:37413/1002.upload1 -T log/9/1002 http://127.0.0.1:37413/1002.upload2 -T log/9/1002 -u auser:apasswd --digest -x http://127.0.0.1:37413 -C 2 -X GET > log/9/stdout1002 2> log/9/stderr1002 CMD (33792): ../libtool --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/valgrind1000 ../src/curl -q --output log/6/curl1000.out --include --trace-ascii log/6/trace1000 --trace-time ftp://127.0.0.1:36757/1000/ -I > log/6/stdout1000 2> log/6/stderr1000 p_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: 74920 === End of file server.response === Start of file valgrind998 ==131441== ==131441== Process terminating with default action of signal 4 (SIGILL) ==131441== Illegal opcode at address 0x4014520 ==131441== at 0x4014520: getparameter (tool_getparam.c:2862) ==131441== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131441== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131441== by 0x4003728: main (tool_main.c:186) === End of file valgrind998 test 1002...[HTTP PUT with Digest auth, resumed upload and modified method, 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/9/valgrind1002 ../src/curl -q --output log/9/curl1002.out --include --trace-ascii log/9/trace1002 --trace-time http://127.0.0.1:37413/1002.upload1 -T log/9/1002 http://127.0.0.1:37413/1002.upload2 -T log/9/1002 -u auser:apasswd --digest -x http://127.0.0.1:37413 -C 2 -X GET > log/9/stdout1002 2> log/9/stderr1002 1002: 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 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/9/valgrind1002 ../src/curl -q --output log/9/curl1002.out --include --trace-ascii log/9/trace1002 --trace-time http://127.0.0.1:37413/1002.upload1 -T log/9/1002 http://127.0.0.1:37413/1002.upload2 -T log/9/1002 -u auser:apasswd --digest -x http://127.0.0.1:37413 -C 2 -X GET > log/9/stdout1002 2> log/9/stderr1002 === End of file commands.log === Start of file http_server.log 17:50:27.149752 ====> Client connect 17:50:27.149805 accept_connection 3 returned 4 17:50:27.149823 accept_connection 3 returned 0 17:50:27.149841 Read 93 bytes 17:50:27.149851 Process 93 bytes request 17:50:27.149866 Got request: GET /verifiedserver HTTP/1.1 17:50:27.149876 Are-we-friendly question received 17:50:27.149912 Wrote request (93 bytes) input to log/9/server.input 17:50:27.149928 Identifying ourselves as friends 17:50:27.150007 Response sent (56 bytes) and written to log/9/server.response 17:50:27.150017 special request received, no persistency 17:50:27.150026 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 54808 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind1002 ==131765== ==131765== Process terminating with default action of signal 4 (SIGILL) ==131765== Illegal opcode at address 0x4014520 ==131765== at 0x4014520: getparameter (tool_getparam.c:2862) ==131765== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131765== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131765== by 0x4003728: main (tool_main.c:186) === End of file valgrind1002 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/6/valgrind1000 ../src/curl -q --output log/6/curl1000.out --include --trace-ascii log/6/trace1000 --trace-time ftp://127.0.0.1:36757/1000/ -I > log/6/stdout1000 2> log/6/stderr1000 1000: 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 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/6/valgrind1000 ../src/curl -q --output log/6/curl1000.out --include --trace-ascii log/6/trace1000 --trace-time ftp://127.0.0.1:36757/1000/ -I > log/6/stdout1000 2> log/6/stderr1000 === End of file commands.log === Start of file ftp_server.log 17:50:27.045910 ====> Client connect 17:50:27.046101 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:27.046431 < "USER anonymous" 17:50:27.046479 > "331 We are happy you popped in![CR][LF]" 17:50:27.046697 < "PASS ftp@example.com" 17:50:27.046733 > "230 Welcome you silly person[CR][LF]" 17:50:27.046908 < "PWD" 17:50:27.046942 > "257 "/" is current directory[CR][LF]" 17:50:27.047121 < "EPSV" 17:50:27.047152 ====> Passive DATA channel requested by client 17:50:27.047168 DATA sockfilt for passive data channel starting... 17:50:27.053595 DATA sockfilt for passive data channel started (pid 131460) 17:50:27.053761 DATA sockfilt for passive data channel listens on port 36419 17:50:27.053820 > "229 Entering Passive Mode (|||36419|)[CR][LF]" 17:50:27.053842 Client has been notified that DATA conn will be accepted on port 36419 17:50:27.056730 Client connects to port 36419 17:50:27.056777 ====> Client established passive DATA connection on port 36419 17:50:27.056885 < "TYPE I" 17:50:27.056926 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:27.057108 < "SIZE verifiedserver" 17:50:27.057147 > "213 17[CR][LF]" 17:50:27.057301 < "RETR verifiedserver" 17:50:27.057334 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:27.057438 =====> Closing passive DATA connection... 17:50:27.057454 Server disconnects passive DATA connection 17:50:27.057605 Server disconnected passive DATA connection 17:50:27.057626 DATA sockfilt for passive data channel quits (pid 131460) 17:50:27.057871 DATA sockfilt for passive data channel quit (pid 131460) 17:50:27.057895 =====> Closed passive DATA connection 17:50:27.057919 > "226 File transfer complete[CR][LF]" 17:50:27.110157 < "QUIT" 17:50:27.110219 > "221 bye bye baby[CR][LF]" 17:50:27.113430 MAIN sockfilt said DISC 17:50:27.113489 ====> Client disconnected 17:50:27.113589 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:26.891942 ====> Client connect 17:50:26.892306 Received DATA (on stdin) 17:50:26.892324 > 146 bytes data, server => client 17:50:26.892337 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:26.892347 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:26.892357 '220 \___|\___/|_| \_\_____|\r\n' 17:50:26.892444 < 16 bytes data, client => server 17:50:26.892459 'USER anonymous\r\n' 17:50:26.892670 Received DATA (on stdin) 17:50:26.892683 > 33 bytes data, server => client 17:50:26.892694 '331 We are happy you popped in!\r\n' 17:50:26.892750 < 22 bytes data, client => server 17:50:26.892763 'PASS ftp@example.com\r\n' 17:50:26.892918 Received DATA (on stdin) 17:50:26.892930 > 30 bytes data, server => client 17:50:26.892940 '230 Welcome you silly person\r\n' 17:50:26.892994 < 5 bytes data, client => server 17:50:26.893006 'PWD\r\n' 17:50:26.893125 Received DATA (on stdin) 17:50:26.893137 > 30 bytes data, server => client 17:50:26.893148 '257 "/" is current directory\r\n' 17:50:26.893210 < 6 bytes data, client => server 17:50:26.893222 'EPSV\r\n' 17:50:26.900035 Received DATA (on stdin) 17:50:26.900053 > 39 bytes data, 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/15/valgrind1014 ../src/curl -q --output log/15/curl1014.out --include --trace-ascii log/15/trace1014 --trace-time --version > log/15/stdout1014 2> log/15/stderr1014 Use of uninitialized value $1 in split at /startdir/src/curl/tests/libtest/test1013.pl line 47. CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/15/stdout1014 features > log/15/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/2/valgrind1011 ../src/curl -q --output log/2/curl1011.out --include --trace-ascii log/2/trace1011 --trace-time http://127.0.0.1:38779/blah/1011 -L -d "moo" > log/2/stdout1011 2> log/2/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/3/valgrind1012 ../src/curl -q --output log/3/curl1012.out --include --trace-ascii log/3/trace1012 --trace-time http://127.0.0.1:45927/blah/1012 -L -d "moo" --post301 > log/3/stdout1012 2> log/3/stderr1012 => client 17:50:26.900064 '229 Entering Passive Mode (|||36419|)\r\n' 17:50:26.902863 < 8 bytes data, client => server 17:50:26.902889 'TYPE I\r\n' 17:50:26.903111 Received DATA (on stdin) 17:50:26.903124 > 33 bytes data, server => client 17:50:26.903135 '200 I modify TYPE as you wanted\r\n' 17:50:26.903204 < 21 bytes data, client => server 17:50:26.903215 'SIZE verifiedserver\r\n' 17:50:26.903329 Received DATA (on stdin) 17:50:26.903340 > 8 bytes data, server => client 17:50:26.903349 '213 17\r\n' 17:50:26.903403 < 21 bytes data, client => server 17:50:26.903414 'RETR verifiedserver\r\n' 17:50:26.904101 Received DATA (on stdin) 17:50:26.904114 > 29 bytes data, server => client 17:50:26.904124 '150 Binary junk (17 bytes).\r\n' 17:50:26.904146 Received DATA (on stdin) 17:50:26.904156 > 28 bytes data, server => client 17:50:26.904166 '226 File transfer complete\r\n' 17:50:26.952963 < 6 bytes data, client => server 17:50:26.952995 'QUIT\r\n' 17:50:26.956407 Received DATA (on stdin) 17:50:26.956429 > 18 bytes data, server => client 17:50:26.956440 '221 bye bye baby\r\n' 17:50:26.958642 ====> Client disconnect 17:50:26.962979 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:27.895362 Running IPv4 version 17:50:27.895435 Listening on port 36419 17:50:27.895480 Wrote pid 131460 to log/6/server/ftp_sockdata.pid 17:50:27.899687 Received PING (on stdin) 17:50:27.899829 Received PORT (on stdin) 17:50:27.902846 ====> Client connect 17:50:27.903637 Received DATA (on stdin) 17:50:27.903649 > 17 bytes data, server => client 17:50:27.903659 'WE ROOLZ: 81072\r\n' 17:50:27.903725 Received DISC (on stdin) 17:50:27.903736 ====> Client forcibly disconnected 17:50:27.903812 Received QUIT (on stdin) 17:50:27.903821 quits 17:50:27.903898 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1000 === End of file server.cmd === Start of file valgrind1000 ==131552== ==131552== Process terminating with default action of signal 4 (SIGILL) ==131552== Illegal opcode at address 0x4014520 ==131552== at 0x4014520: getparameter (tool_getparam.c:2862) ==131552== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131552== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131552== by 0x4003728: main (tool_main.c:186) === End of file valgrind1000 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/15/valgrind1014 ../src/curl -q --output log/15/curl1014.out --include --trace-ascii log/15/trace1014 --trace-time --version > log/15/stdout1014 2> log/15/stderr1014 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/15/stdout1014 features > log/15/result1014 1014: postcheck FAILED == Contents of files in the log/15/ 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/15/valgrind1014 ../src/curl -q --output log/15/curl1014.out --include --trace-ascii log/15/trace1014 --trace-time --version > log/15/stdout1014 2> log/15/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 NTLM PSL SPNEGO SSL TLS-SRP 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 ==132340== ==132340== Process terminating with default action of signal 4 (SIGILL) ==132340== Illegal opcode at address 0x4014520 ==132340== at 0x4014520: getparameter (tool_getparam.c:2862) ==132340== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132340== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132340== by 0x4003728: main (tool_main.c:186) === End of file valgrind1014 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/2/valgrind1011 ../src/curl -q --output log/2/curl1011.out --include --trace-ascii log/2/trace1011 --trace-time http://127.0.0.1:38779/blah/1011 -L -d "moo" > log/2/stdout1011 2> log/2/stderr1011 1011: 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 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/2/valgrind1011 ../src/curl -q --output log/2/curl1011.out --include --trace-ascii log/2/trace1011 --trace-time http://127.0.0.1:38779/blah/1011 -L -d "moo" > log/2/stdout1011 2> log/2/stderr1011 === End of file commands.log === Start of file http_server.log 17:50:27.489768 ====> Client connect 17:50:27.489805 accept_connection 3 returned 4 17:50:27.489823 accept_connection 3 returned 0 17:50:27.489839 Read 93 bytes 17:50:27.489850 Process 93 bytes request 17:50:27.489865 Got request: GET /verifiedserver HTTP/1.1 17:50:27.489875 Are-we-friendly question received 17:50:27.489901 Wrote request (93 bytes) input to log/2/server.input 17:50:27.489919 Identifying ourselves as friends 17:50:27.489978 Response sent (56 bytes) and written to log/2/server.response 17:50:27.489988 special request received, no persistency 17:50:27.489998 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 35686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1011 ==132207== ==132207== Process terminating with default action of signal 4 (SIGILL) ==132207== Illegal opcode at address 0x4014520 ==132207== at 0x4014520: getparameter (tool_getparam.c:2862) ==132207== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132207== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132207== by 0x4003728: main (tool_main.c:186) === End of file valgrind1011 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:45927/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:45927/blah/1012 -L -d "moo" --post301 > log/3/stdout1012 2> log/3/stderr1012 === End of file commands.log === 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/23/valgrind1008 ../src/curl -q --output log/23/curl1008.out --include --trace-ascii log/23/trace1008 --trace-time http://test.remote.example.com.1008:39173/path/10080002 --proxy http://127.0.0.1:39173 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/23/stdout1008 2> log/23/stderr1008 CMD (33792): ../libtool --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/valgrind1001 ../src/curl -q --output log/13/curl1001.out --include --trace-ascii log/13/trace1001 --trace-time http://127.0.0.1:43845/1001 -u auser:apasswd --digest -T log/13/1001 -x http://127.0.0.1:43845 -C 2 -X GET > log/13/stdout1001 2> log/13/stderr1001 CMD (33792): ../libtool --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/valgrind1005 ../src/curl -q --output log/5/curl1005.out --include --trace-ascii log/5/trace1005 --trace-time ftp://127.0.0.1:34559/path/1005 > log/5/stdout1005 2> log/5/stderr1005 t of file http_server.log 17:50:27.539630 ====> Client connect 17:50:27.539678 accept_connection 3 returned 4 17:50:27.539698 accept_connection 3 returned 0 17:50:27.539715 Read 93 bytes 17:50:27.539724 Process 93 bytes request 17:50:27.539739 Got request: GET /verifiedserver HTTP/1.1 17:50:27.539747 Are-we-friendly question received 17:50:27.539772 Wrote request (93 bytes) input to log/3/server.input 17:50:27.539789 Identifying ourselves as friends 17:50:27.539863 Response sent (56 bytes) and written to log/3/server.response 17:50:27.539872 special request received, no persistency 17:50:27.539881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 44706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1012 ==132221== ==132221== Process terminating with default action of signal 4 (SIGILL) ==132221== Illegal opcode at address 0x4014520 ==132221== at 0x4014520: getparameter (tool_getparam.c:2862) ==132221== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132221== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132221== by 0x4003728: main (tool_main.c:186) === End of file valgrind1012 test 1008...[HTTP proxy CONNECT auth NTLM with chunked-encoded 407 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/valgrind1008 ../src/curl -q --output log/23/curl1008.out --include --trace-ascii log/23/trace1008 --trace-time http://test.remote.example.com.1008:39173/path/10080002 --proxy http://127.0.0.1:39173 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/23/stdout1008 2> log/23/stderr1008 1008: 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 1008 === Start of file commands.log ../libtool --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/valgrind1008 ../src/curl -q --output log/23/curl1008.out --include --trace-ascii log/23/trace1008 --trace-time http://test.remote.example.com.1008:39173/path/10080002 --proxy http://127.0.0.1:39173 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/23/stdout1008 2> log/23/stderr1008 === End of file commands.log === Start of file http_server.log 17:50:28.284272 ====> Client connect 17:50:28.284305 accept_connection 3 returned 4 17:50:28.284322 accept_connection 3 returned 0 17:50:28.284337 Read 93 bytes 17:50:28.284347 Process 93 bytes request 17:50:28.284361 Got request: GET /verifiedserver HTTP/1.1 17:50:28.284370 Are-we-friendly question received 17:50:28.284395 Wrote request (93 bytes) input to log/23/server.input 17:50:28.284411 Identifying ourselves as friends 17:50:28.284473 Response sent (56 bytes) and written to log/23/server.response 17:50:28.284483 special request received, no persistency 17:50:28.284492 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 33724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1008 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74812 === End of file server.response === Start of file valgrind1008 ==131882== ==131882== Process terminating with default action of signal 4 (SIGILL) ==131882== Illegal opcode at address 0x4014520 ==131882== at 0x4014520: getparameter (tool_getparam.c:2862) ==131882== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131882== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131882== by 0x4003728: main (tool_main.c:186) === End of file valgrind1008 test 1001...[HTTP POST --digest with PUT and resumed upload and 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/13/valgrind1001 ../src/curl -q --output log/13/curl1001.out --include --trace-ascii log/13/trace1001 --trace-time http://127.0.0.1:43845/1001 -u auser:apasswd --digest -T log/13/1001 -x http://127.0.0.1:43845 -C 2 -X GET > log/13/stdout1001 2> log/13/stderr1001 1001: 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 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/13/valgrind1001 ../src/curl -q --output log/13/curl1001.out --include --trace-ascii log/13/trace1001 --trace-time http://127.0.0.1:43845/1001 -u auser:apasswd --digest -T log/13/1001 -x http://127.0.0.1:43845 -C 2 -X GET > log/13/stdout1001 2> log/13/stderr1001 === End of file commands.log === Start of file http_server.log 17:50:28.134770 ====> Client connect 17:50:28.134808 accept_connection 3 returned 4 17:50:28.134831 accept_connection 3 returned 0 17:50:28.134846 Read 93 bytes 17:50:28.134856 Process 93 bytes request 17:50:28.134871 Got request: GET /verifiedserver HTTP/1.1 17:50:28.134880 Are-we-friendly question received 17:50:28.134906 Wrote request (93 bytes) input to log/13/server.input 17:50:28.134923 Identifying ourselves as friends 17:50:28.134990 Response sent (56 bytes) and written to log/13/server.response 17:50:28.135000 special request received, no persistency 17:50:28.135008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 50464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1001 ==131728== ==131728== Process terminating with default action of signal 4 (SIGILL) ==131728== Illegal opcode at address 0x4014520 ==131728== at 0x4014520: getparameter (tool_getparam.c:2862) ==131728== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131728== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131728== by 0x4003728: main (tool_main.c:186) === End of file valgrind1001 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/5/valgrind1005 ../src/curl -q --output log/5/curl1005.out --include --trace-ascii log/5/trace1005 --trace-time ftp://127.0.0.1:34559/path/1005 > log/5/stdout1005 2> log/5/stderr1005 1005: 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 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/5/valgrind1005 ../src/curl -q --output log/5/curl1005.out --include --trace-ascii log/5/trace1005 --trace-time ftp://127.0.0.1:34559/path/1005 > log/5/stdout1005 2> log/5/stderr1005 === End of file commands.log === Start of file ftp_server.log 17:50:27.352092 ====> Client connect 17:50:27.352269 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:27.352574 < "USER anonymous" 17:50:27.356757 > "331 We are happy you popped in![CR][LF]" 17:50:27.357030 < "PASS ftp@example.com" 17:50:27.357111 > "230 Welcome you silly person[CR][LF]" 17:50:27.357272 < "PWD" 17:50:27.357311 > "257 "/" is current directory[CR][LF]" 17:50:27.357504 < "EPSV" 17:50:27.357535 ====> Passive DATA channel requested by client 17:50:27.357553 DATA sockfilt for passive data channel starting... 17:50:27.362394 DATA sockfilt for passive data channel started (pid 131739) 17:50:27.362533 DATA sockfilt for passive data channel listens on port 44489 17:50:27.362588 > "229 Entering Passive Mode (|||44489|)[CR][LF]" 17:50:27.362608 Client has been notified that DATA conn will be accepted on port 44489 17:50:27.362878 Client connects to port 44489 17:50:27.362907 ====> Client established passive DATA connection on port 44489 17:50:27.363033 < "TYPE I" 17:50:27.363065 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:27.363218 < "SIZE verifiedserver" 17:50:27.363254 > "213 17[CR][LF]" 17:50:27.363444 < "RETR verifiedserver" 17:50:27.363479 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:27.363579 =====> Closing passive DATA connection... 17:50:27.363597 Server disconnects passive DATA connection 17:50:27.363846 Server disconnected passive DATA connection 17:50:27.363877 DATA sockfilt for passive data channel quits (pid 131739) 17:50:27.364119 DATA sockfilt for passive data channel quit (pid 131739) 17:50:27.364148 =====> Closed passive DATA connection 17:50:27.364176 > "226 File transfer complete[CR][LF]" 17:50:27.410329 < "QUIT" 17:50:27.410388 > "221 bye bye baby[CR][LF]" 17:50:27.413523 MAIN sockfilt said DISC 17:50:27.413574 ====> Client disconnected 17:50:27.413661 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:27.198144 ====> Client connect 17:50:27.198470 Received DATA (on stdin) 17:50:27.198487 > 146 bytes data, server => client 17:50:27.198499 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:27.198510 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:27.198519 '220 \___|\___/|_| \_\_____|\r\n' 17:50:27.198599 < 16 bytes data, client => server 17:50:27.198616 'USER anonymous\r\n' 17:50:27.202845 Received DATA (on stdin) 17:50:27.202871 > 33 bytes data, server => client 17:50:27.202975 '331 We are happy you popped in!\r\n' 17:50:27.203071 < 22 bytes data, client => server 17:50:27.203087 'PASS ftp@example.com\r\n' 17:50:27.203233 Received DATA (on stdin) 17:50:27.203248 > 30 bytes data, server => client 17:50:27.203300 '230 Welcome you silly person\r\n' 17:50:27.203359 < 5 bytes data, client => server 17:50:27.203373 'PWD\r\n' 17:50:27.203499 Received DATA (on stdin) 17:50:27.203512 > 30 bytes data, server => client 17:50:27.203522 '257 "/" is current directory\r\n' 17:50:27.203590 < 6 bytes data, client => server 17:50:27.203605 'EPSV\r\n' 17:50:27.208800 Received DATA (on stdin) 17:50:27.208819 > 39 bytes data, server => client 17:50:27.208829 '229 Entering Passive Mode (|||44489|)\r\n' 17:50:27.209108 < 8 bytes data, client => server 17:50:27.209119 'TYPE I\r\n' 17:50:27.209249 Received DATA (on stdin) 17:50:27.209260 > 33 bytes data, server => client 17:50:27.209270 '200 I modify TYPE as you wanted\r\n' 17:50:27.209318 < 21 bytes data, client => server 17:50:27.209329 'SIZE verifiedserver\r\n' 17:50:27.209435 Received DATA (on stdin) 17:50:27.209446 > 8 bytes data, server => client 17:50:27.209454 '213 17\r\n' 17:50:27.209539 < 21 bytes data, client => server 17:50:27.209552 'RETR verifiedserver\r\n' 17:50:27.209782 Received DATA (on stdin) 17:50:27.209794 > 29 bytes data, server => client 17:50:27.209804 '150 Binary junk (17 bytes).\r\n' 17:50:27.210360 Received DATA (on stdin) 17:50:27.210373 > 28 bytes data, server => client 17:50:27.210383 '226 File transfer complete\r\n' 17:50:27.256328 < 6 bytes data, client => server 17:50:27.256360 'QUIT\r\n' 17:50:27.256574 Received DATA (on stdin) 17:50:27.256585 > 18 bytes data, server => client 17:50:27.256595 '221 bye bye baby\r\n' 17:50:27.259635 ====> Client disconnect 17:50:27.259848 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:27.207858 Running IPv4 version 17:50:27.207944 Listening on port 44489 17:50:27.207982 Wrote pid 131739 to log/5/server/ftp_sockdata.pid 17:50:27.208513 Received PING (on stdin) 17:50:27.208614 Received PORT (on stdin) 17:50:27.209011 ====> Client connect 17:50:27.209830 Received DATA (on stdin) 17:50:27.209843 > 17 bytes data, server => client 17:50:27.209853 'WE ROOLZ: 81078\r\n' 17:50:27.209879 Received DISC (on stdin) 17:50:27.209890 ====> Client forcibly disconnected 17:50:27.210069 Received QUIT (on stdin) 17:50:27.210080 quits 17:50:27.210151 ============> 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-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/4/valgrind1010 ../src/curl -q --output log/4/curl1010.out --include --trace-ascii log/4/trace1010 --trace-time ftp://127.0.0.1:40307//list/this/path/1010/ ftp://127.0.0.1:40307//list/this/path/1010/ --ftp-method nocwd > log/4/stdout1010 2> log/4/stderr1010 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-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-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 ==131843== ==131843== Process terminating with default action of signal 4 (SIGILL) ==131843== Illegal opcode at address 0x4014520 ==131843== at 0x4014520: getparameter (tool_getparam.c:2862) ==131843== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131843== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131843== by 0x4003728: main (tool_main.c:186) === End of file valgrind1005 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/4/valgrind1010 ../src/curl -q --output log/4/curl1010.out --include --trace-ascii log/4/trace1010 --trace-time ftp://127.0.0.1:40307//list/this/path/1010/ ftp://127.0.0.1:40307//list/this/path/1010/CMD (33792): ../libtool --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/valgrind1007 ../src/curl -q --output log/17/curl1007.out --include --trace-ascii log/17/trace1007 --trace-time -T log/17/test1007.txt tftp://127.0.0.1:55797//invalid-file -sS > log/17/stdout1007 2> log/17/stderr1007 --ftp-method nocwd > log/4/stdout1010 2> log/4/stderr1010 1010: 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 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/4/valgrind1010 ../src/curl -q --output log/4/curl1010.out --include --trace-ascii log/4/trace1010 --trace-time ftp://127.0.0.1:40307//list/this/path/1010/ ftp://127.0.0.1:40307//list/this/path/1010/ --ftp-method nocwd > log/4/stdout1010 2> log/4/stderr1010 === End of file commands.log === Start of file ftp_server.log 17:50:27.658254 ====> Client connect 17:50:27.658441 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:27.677668 < "USER anonymous" 17:50:27.677725 > "331 We are happy you popped in![CR][LF]" 17:50:27.677969 < "PASS ftp@example.com" 17:50:27.677997 > "230 Welcome you silly person[CR][LF]" 17:50:27.678146 < "PWD" 17:50:27.678176 > "257 "/" is current directory[CR][LF]" 17:50:27.678330 < "EPSV" 17:50:27.678357 ====> Passive DATA channel requested by client 17:50:27.678371 DATA sockfilt for passive data channel starting... 17:50:27.680263 DATA sockfilt for passive data channel started (pid 132205) 17:50:27.680381 DATA sockfilt for passive data channel listens on port 36449 17:50:27.680432 > "229 Entering Passive Mode (|||36449|)[CR][LF]" 17:50:27.680453 Client has been notified that DATA conn will be accepted on port 36449 17:50:27.680719 Client connects to port 36449 17:50:27.680749 ====> Client established passive DATA connection on port 36449 17:50:27.680832 < "TYPE I" 17:50:27.680862 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:27.681030 < "SIZE verifiedserver" 17:50:27.681074 > "213 17[CR][LF]" 17:50:27.681239 < "RETR verifiedserver" 17:50:27.681278 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:27.681367 =====> Closing passive DATA connection... 17:50:27.681386 Server disconnects passive DATA connection 17:50:27.683654 Server disconnected passive DATA connection 17:50:27.683690 DATA sockfilt for passive data channel quits (pid 132205) 17:50:27.683966 DATA sockfilt for passive data channel quit (pid 132205) 17:50:27.683991 =====> Closed passive DATA connection 17:50:27.684022 > "226 File transfer complete[CR][LF]" 17:50:27.727619 < "QUIT" 17:50:27.727683 > "221 bye bye baby[CR][LF]" 17:50:27.729361 MAIN sockfilt said DISC 17:50:27.729406 ====> Client disconnected 17:50:27.729496 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:27.479821 ====> Client connect 17:50:27.509562 Received DATA (on stdin) 17:50:27.509610 > 146 bytes data, server => client 17:50:27.509623 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:27.509633 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:27.509642 '220 \___|\___/|_| \_\_____|\r\n' 17:50:27.522871 < 16 bytes data, client => server 17:50:27.522899 'USER anonymous\r\n' 17:50:27.523914 Received DATA (on stdin) 17:50:27.523927 > 33 bytes data, server => client 17:50:27.523939 '331 We are happy you popped in!\r\n' 17:50:27.524057 < 22 bytes data, client => server 17:50:27.524070 'PASS ftp@example.com\r\n' 17:50:27.524179 Received DATA (on stdin) 17:50:27.524189 > 30 bytes data, server => client 17:50:27.524201 '230 Welcome you silly person\r\n' 17:50:27.524247 < 5 bytes data, client => server 17:50:27.524257 'PWD\r\n' 17:50:27.524356 Received DATA (on stdin) 17:50:27.524367 > 30 bytes data, server => client 17:50:27.524377 '257 "/" is current directory\r\n' 17:50:27.524433 < 6 bytes data, client => server 17:50:27.524443 'EPSV\r\n' 17:50:27.526642 Received DATA (on stdin) 17:50:27.526656 > 39 bytes data, server => client 17:50:27.526667 '229 Entering Passive Mode (|||36449|)\r\n' 17:50:27.526816 < 8 bytes data, client => server 17:50:27.526832 'TYPE I\r\n' 17:50:27.527046 Received DATA (on stdin) 17:50:27.527058 > 33 bytes data, server => client 17:50:27.527069 '200 I modify TYPE as you wanted\r\n' 17:50:27.527122 < 21 bytes data, client => server 17:50:27.527134 'SIZE verifiedserver\r\n' 17:50:27.527258 Received DATA (on stdin) 17:50:27.527270 > 8 bytes data, server => client 17:50:27.527280 '213 17\r\n' 17:50:27.527331 < 21 bytes data, client => server 17:50:27.527342 'RETR verifiedserver\r\n' 17:50:27.529574 Received DATA (on stdin) 17:50:27.529599 > 29 bytes data, server => client 17:50:27.529609 '150 Binary junk (17 bytes).\r\n' 17:50:27.530206 Received DATA (on stdin) 17:50:27.530218 > 28 bytes data, server => client 17:50:27.530229 '226 File transfer complete\r\n' 17:50:27.573615 < 6 bytes data, client => server 17:50:27.573644 'QUIT\r\n' 17:50:27.573874 Received DATA (on stdin) 17:50:27.573888 > 18 bytes data, server => client 17:50:27.573900 '221 bye bye baby\r\n' 17:50:27.575197 ====> Client disconnect 17:50:27.575685 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:27.526257 Running IPv4 version 17:50:27.526323 Listening on port 36449 17:50:27.526363 Wrote pid 132205 to log/4/server/ftp_sockdata.pid 17:50:27.526386 Received PING (on stdin) 17:50:27.526475 Received PORT (on stdin) 17:50:27.526854 ====> Client connect 17:50:27.529639 Received DATA (on stdin) 17:50:27.529651 > 17 bytes data, server => client 17:50:27.529662 'WE ROOLZ: 80996\r\n' 17:50:27.529686 Received DISC (on stdin) 17:50:27.529698 ====> Client forcibly disconnected 17:50:27.529885 Received QUIT (on stdin) 17:50:27.529896 quits 17:50:27.529973 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1010 === End of file server.cmd === Start of file valgrind1010 ==132244== ==132244== Process terminating with default action of signal 4 (SIGILL) ==132244== Illegal opcode at address 0x4014520 ==132244== at 0x4014520: getparameter (tool_getparam.c:2862) ==132244== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132244== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132244== by 0x4003728: main (tool_main.c:186) === End of file valgrind1010 CMD (33792): ../libtool --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/valgrind1013 ../src/curl -q --output log/8/curl1013.out --include --trace-ascii log/8/trace1013 --trace-time --version > log/8/stdout1013 2> log/8/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 pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/8/stdout1013 protocols CMD (33792): ../libtool --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/valgrind1015 ../src/curl -q --output log/24/curl1015.out --include --trace-ascii log/24/trace1015 --trace-time http://127.0.0.1:39649/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/24/1015.txt" --data-urlencode @log/24/1015.txt > log/24/stdout1015 2> log/24/stderr1015 CMD (33792): ../libtool --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/valgrind1009 ../src/curl -q --output log/7/curl1009.out --include --trace-ascii log/7/trace1009 --trace-time tftp://127.0.0.1:51778//1009 --local-port 44444-45444 > log/7/stdout1009 2> log/7/stderr1009 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/17/valgrind1007 ../src/curl -q --output log/17/curl1007.out --include --trace-ascii log/17/trace1007 --trace-time -T log/17/test1007.txt tftp://127.0.0.1:55797//invalid-file -sS > log/17/stdout1007 2> log/17/stderr1007 1007: stderr FAILED: --- log/17/check-expected 2026-01-28 17:50:30.073222068 +0000 +++ log/17/check-generated 2026-01-28 17:50:30.073222068 +0000 @@ -1 +0,0 @@ -curl: (69) TFTP: Access Violation[CR][LF] == Contents of files in the log/17/ 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/17/valgrind1007 ../src/curl -q --output log/17/curl1007.out --include --trace-ascii log/17/trace1007 --trace-time -T log/17/test1007.txt tftp://127.0.0.1:55797//invalid-file -sS > log/17/stdout1007 2> log/17/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 17:50:27.211087 trying to get file: verifiedserver mode 1 17:50:27.211115 Are-we-friendly question received 17:50:27.211129 write 17:50:27.211148 read 17:50:27.212115 read: 4 17:50:27.212178 end of one transfer === End of file tftp_server.log === Start of file valgrind1007 ==131761== ==131761== Process terminating with default action of signal 4 (SIGILL) ==131761== Illegal opcode at address 0x4014520 ==131761== at 0x4014520: getparameter (tool_getparam.c:2862) ==131761== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==131761== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==131761== by 0x4003728: main (tool_main.c:186) === End of file valgrind1007 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/8/valgrind1013 ../src/curl -q --output log/8/curl1013.out --include --trace-ascii log/8/trace1013 --trace-time --version > log/8/stdout1013 2> log/8/stderr1013 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/8/stdout1013 protocols 1013: postcheck FAILED == Contents of files in the log/8/ 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/8/valgrind1013 ../src/curl -q --output log/8/curl1013.out --include --trace-ascii log/8/trace1013 --trace-time --version > log/8/stdout1013 2> log/8/stderr1013 === End of file commands.log === Start of file server.cmd Testnum 1013 === End of file server.cmd === Start of file valgrind1013 ==132229== ==132229== Process terminating with default action of signal 4 (SIGILL) ==132229== Illegal opcode at address 0x4014520 ==132229== at 0x4014520: getparameter (tool_getparam.c:2862) ==132229== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132229== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132229== by 0x4003728: main (tool_main.c:186) === End of file valgrind1013 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/24/valgrind1015 ../src/curl -q --output log/24/curl1015.out --include --trace-ascii log/24/trace1015 --trace-time http://127.0.0.1:39649/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/24/1015.txt" --data-urlencode @log/24/1015.txt > log/24/stdout1015 2> log/24/stderr1015 1015: 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 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/24/valgrind1015 ../src/curl -q --output log/24/curl1015.out --include --trace-ascii log/24/trace1015 --trace-time http://127.0.0.1:39649/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/24/1015.txt" --data-urlencode @log/24/1015.txt > log/24/stdout1015 2> log/24/stderr1015 === End of file commands.log === Start of file http_server.log 17:50:28.076286 ====> Client connect 17:50:28.076350 accept_connection 3 returned 4 17:50:28.076372 accept_connection 3 returned 0 17:50:28.076390 Read 93 bytes 17:50:28.076399 Process 93 bytes request 17:50:28.076412 Got request: GET /verifiedserver HTTP/1.1 17:50:28.076420 Are-we-friendly question received 17:50:28.076445 Wrote request (93 bytes) input to log/24/server.input 17:50:28.076461 Identifying ourselves as friends 17:50:28.076549 Response sent (56 bytes) and written to log/24/server.response 17:50:28.076559 special request received, no persistency 17:50:28.076567 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 36972 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1015 ==132492== ==132492== Process terminating with default action of signal 4 (SIGILL) ==132492== Illegal opcode at address 0x4014520 ==132492== at 0x4014520: getparameter (tool_getparam.c:2862) ==132492== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132492== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132492== by 0x4003728: main (tool_main.c:186) === End of file valgrind1015 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/7/server/tftp_server.pid" --portfile "log/7/server/tftp_server.port" --logfile "log/7/tftp_server.log" --logdir "log/7" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 131846 port 51778 * pid tftp => 131846 131846 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/7/valgrind1009 ../src/curl -q --output log/7/curl1009.out --include --trace-ascii log/7/trace1009 --trace-time tftp://127.0.0.1:51778//1009 --local-port 44444-45444 > log/7/stdout1009 2> log/7/stderr1009 1009: 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 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/7/valgrind1009 ../src/curl -q --output log/7/curl1009.out --include --trace-ascii log/7/trace1009 --trace-time tftp://CMD (33792): ../libtool --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/valgrind1020 ../src/curl -q --trace-ascii log/18/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/18/test1020.txt > log/18/stdout1020 2> log/18/stderr1020 127.0.0.1:51778//1009 --local-port 44444-45444 > log/7/stdout1009 2> log/7/stderr1009 === End of file commands.log === Start of file server.cmd Testnum 1009 === End of file server.cmd === Start of file tftp_server.log 17:50:27.320032 Wrote pid 131846 to log/7/server/tftp_server.pid 17:50:27.320094 Wrote port 51778 to log/7/server/tftp_server.port 17:50:27.320105 Running IPv4 version on port UDP/51778 === End of file tftp_server.log === Start of file valgrind1009 ==132599== ==132599== Process terminating with default action of signal 4 (SIGILL) ==132599== Illegal opcode at address 0x4014520 ==132599== at 0x4014520: getparameter (tool_getparam.c:2862) ==132599== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132599== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132599== by 0x4003728: main (tool_main.c:186) === 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/16/valgrind1016 ../src/curl -q --trace-ascii log/16/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/16/test1016.txt > log/16/stdout1016 2> log/16/stderr1016 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/18/valgrind1020 ../src/curl -q --trace-ascii log/18/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/18/test1020.txt > log/18/stdout1020 2> log/18/stderr1020 1020: stdout FAILED: --- log/18/check-expected 2026-01-28 17:50:30.946555402 +0000 +++ log/18/check-generated 2026-01-28 17:50:30.946555402 +0000 @@ -1 +0,0 @@ -34567890[LF] == Contents of files in the log/18/ 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/18/valgrind1020 ../src/curl -q --trace-ascii log/18/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/18/test1020.txt > log/18/stdout1020 2> log/18/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 ==132831== ==132831== Process terminating with default action of signal 4 (SIGILL) ==132831== Illegal opcode at address 0x4014520 ==132831== at 0x4014520: getparameter (tool_getparam.c:2862) ==132831== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132831== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132831== by 0x4003728: main (tool_main.c:186) === End of file valgrind1020 CMD (33792): ../libtool --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/valgrind1019 ../src/curl -q --trace-ascii log/20/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/20/test1019.txt > log/20/stdout1019 2> log/20/stderr1019 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/16/valgrind1016 ../src/curl -q --trace-ascii log/16/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/16/test1016.txt > log/16/stdout1016 2> log/16/stderr1016 1016: stdout FAILED: --- log/16/check-expected 2026-01-28 17:50:31.079888735 +0000 +++ log/16/check-generated 2026-01-28 17:50:31.079888735 +0000 @@ -1 +0,0 @@ -2345 == Contents of files in the log/16/ 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/16/valgrind1016 ../src/curl -q --trace-ascii log/16/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/16/test1016.txt > log/16/stdout1016 2> log/16/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 ==132519== ==132519== Process terminating with default action of signal 4 (SIGILL) ==132519== Illegal opcode at address 0x4014520 ==132519== at 0x4014520: getparameter (tool_getparam.c:2862) ==132519== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132519== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132519== by 0x4003728: main (tool_main.c:186) === End of file valgrind1016 CMD (33792): ../libtool --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/valgrind1022 ../src/curl -q --output log/1/curl1022.out --include --trace-ascii log/1/trace1022 --trace-time --version > log/1/stdout1022 2> log/1/stderr1022 CMD (33792): ../libtool --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/valgrind1027 ../src/curl -q --output log/12/curl1027.out --include --trace-ascii log/12/trace1027 --trace-time --help > log/12/stdout1027 2> log/12/stderr1027 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. 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/12/stdout1027 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.18.0 CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/1/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/11/valgrind1017 ../src/curl -q --trace-ascii log/11/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/11/test1017.txt > log/11/stdout1017 2> log/11/stderr1017 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/20/valgrind1019 ../src/curl -q --trace-ascii log/20/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/20/test1019.txt > log/20/stdout1019 2> log/20/stderr1019 1019: stdout FAILED: --- log/20/check-expected 2026-01-28 17:50:31.333222068 +0000 +++ log/20/check-generated 2026-01-28 17:50:31.333222068 +0000 @@ -1,2 +0,0 @@ -890[LF] -1234567890[LF] == Contents of files in the log/20/ 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/20/valgrind1019 ../src/curl -q --trace-ascii log/20/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/20/test1019.txt > log/20/stdout1019 2> log/20/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 ==132794== ==132794== Process terminating with default action of signal 4 (SIGILL) ==132794== Illegal opcode at address 0x4014520 ==132794== at 0x4014520: getparameter (tool_getparam.c:2862) ==132794== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132794== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132794== by 0x4003728: main (tool_main.c:186) === End of file valgrind1019 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/12/valgrind1027 ../src/curl -q --output log/12/curl1027.out --include --trace-ascii log/12/trace1027 --trace-time --help > log/12/stdout1027 2> log/12/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/12/stdout1027 1027: postcheck FAILED == Contents of files in the log/12/ 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/12/valgrind1027 ../src/curl -q --output log/12/curl1027.out --include --trace-ascii log/12/trace1027 --trace-time --help > log/12/stdout1027 2> log/12/stderr1027 === End of file commands.log === Start of file server.cmd Testnum 1027 === End of file server.cmd === Start of file valgrind1027 ==133010== ==133010== Process terminating with default action of signal 4 (SIGILL) ==133010== Illegal opcode at address 0x4014520 ==133010== at 0x4014520: getparameter (tool_getparam.c:2862) ==133010== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133010== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133010== by 0x4003728: main (tool_main.c:186) === End of file valgrind1027 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/1/valgrind1022 ../src/curl -q --output log/1/curl1022.out --include --trace-ascii log/1/trace1022 --trace-time --version > log/1/stdout1022 2> log/1/stderr1022 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/1/stdout1022 version 1022: postcheck FAILED == Contents of files in the log/1/ 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/1/valgrind1022 ../src/curl -q --output log/1/curl1022.out --include --trace-ascii log/1/trace1022 --trace-time --version > log/1/stdout1022 2> log/1/stderr1022 === End of file commands.log === Start of file server.cmd Testnum 1022 === End of file server.cmd === Start of file valgrind1022 ==132899== ==132899== Process terminating with default action of signal 4 (SIGILL) ==132899== Illegal opcode at address 0x4014520 ==132899== at 0x4014520: getparameter (tool_getparam.c:2862) ==132899== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132899== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132899== by 0x4003728: main (tool_main.c:186) === 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/19/valgrind1025 ../src/curl -q --output log/19/curl1025.out --include --trace-ascii log/19/trace1025 --trace-time http://127.0.0.1:36987/want/1025 -L -c log/19/jar1025 -b forcedcookie=yes > log/19/stdout1025 2> log/19/stderr1025 CMD (33792): ../libtool --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/valgrind1021 ../src/curl -q --output log/22/curl1021.out --include --trace-ascii log/22/trace1021 --trace-time http://test.remote.example.com.1021:42933/path/10210002 --proxy http://127.0.0.1:42933 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/22/stdout1021 2> log/22/stderr1021 CMD (33792): ../libtool --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/valgrind1018 ../src/curl -q --trace-ascii log/21/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/21/test1018.txt > log/21/stdout1018 2> log/21/stderr1018 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/11/valgrind1017 ../src/curl -q --trace-ascii log/11/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/11/test1017.txt > log/11/stdout1017 2> log/11/stderr1017 1017: stdout FAILED: --- log/11/check-expected 2026-01-28 17:50:31.666555401 +0000 +++ log/11/check-generated 2026-01-28 17:50:31.666555401 +0000 @@ -1 +0,0 @@ -1234 == Contents of files in the log/11/ 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/11/valgrind1017 ../src/curl -q --trace-ascii log/11/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/11/test1017.txt > log/11/stdout1017 2> log/11/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 ==132597== ==132597== Process terminating with default action of signal 4 (SIGILL) ==132597== Illegal opcode at address 0x4014520 ==132597== at 0x4014520: getparameter (tool_getparam.c:2862) ==132597== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132597== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132597== by 0x4003728: main (tool_main.c:186) === End of file valgrind1017 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/19/valgrind1025 ../src/curl -q --output log/19/curl1025.out --include --trace-ascii log/19/trace1025 --trace-time http://127.0.0.1:36987/want/1025 -L -c log/19/jar1025 -b forcedcookie=yes > log/19/stdout1025 2> log/19/stderr1025 1025: 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 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/19/valgrind1025 ../src/curl -q --output log/19/curl1025.out --include --trace-ascii log/19/trace1025 --trace-time http://127.0.0.1:36987/want/1025 -L -c log/19/jar1025 -b forcedcookie=yes > log/19/stdout1025 2> log/19/stderr1025 === End of file commands.log === Start of file http_server.log 17:50:29.396962 ====> Client connect 17:50:29.397000 accept_connection 3 returned 4 17:50:29.397017 accept_connection 3 returned 0 17:50:29.397031 Read 93 bytes 17:50:29.397041 Process 93 bytes request 17:50:29.397055 Got request: GET /verifiedserver HTTP/1.1 17:50:29.397064 Are-we-friendly question received 17:50:29.397089 Wrote request (93 bytes) input to log/19/server.input 17:50:29.397105 Identifying ourselves as friends 17:50:29.397170 Response sent (56 bytes) and written to log/19/server.response 17:50:29.397179 special request received, no persistency 17:50:29.397188 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 52404 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1025 ==133170== ==133170== Process terminating with default action of signal 4 (SIGILL) ==133170== Illegal opcode at address 0x4014520 ==133170== at 0x4014520: getparameter (tool_getparam.c:2862) ==133170== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133170== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133170== by 0x4003728: main (tool_main.c:186) === End of file valgrind1025 test 1021...[HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and 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/22/valgrind1021 ../src/curl -q --output log/22/curl1021.out --include --trace-ascii log/22/trace1021 --trace-time http://test.remote.example.com.1021:42933/path/10210002 --proxy http://127.0.0.1:42933 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/22/stdout1021 2> log/22/stderr1021 1021: 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 1021 === Start of file commands.log ../libtool --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/valgrind1021 ../src/curl -q --output log/22/curl1021.out --include --trace-ascii log/22/trace1021 --trace-time http://test.remote.example.com.1021:42933/path/10210002 --proxy http://127.0.0.1:42933 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/22/stdout1021 2> log/22/stderr1021 === End of file commands.log === Start of file http_server.log 17:50:29.227904 ====> Client connect 17:50:29.227943 accept_connection 3 returned 4 17:50:29.227959 accept_connection 3 returned 0 17:50:29.227973 Read 93 bytes 17:50:29.227982 Process 93 bytes request 17:50:29.227996 Got request: GET /verifiedserver HTTP/1.1 17:50:29.228005 Are-we-friendly question received 17:50:29.228032 Wrote request (93 bytes) input to log/22/server.input 17:50:29.228048 Identifying ourselves as friends 17:50:29.228108 Response sent (56 bytes) and written to log/22/server.response 17:50:29.228117 special request received, no persistency 17:50:29.228126 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 34336 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === End of file http_verify.out === Start of file server.cmd Testnum 1021 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74813 === End of file server.response === Start of file valgrind1021 ==132932== ==132932== Process terminating with default action of signal 4 (SIGILL) ==132932== Illegal opcode at address 0x4014520 ==132932== at 0x4014520: getparameter (tool_getparam.c:2862) ==132932== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132932== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132932== by 0x4003728: main (tool_main.c:186) === End of file valgrind1021 CMD (33792): ../libtool --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/valgrind1033 ../src/curl -q --output log/23/curl1033.out --include --trace-ascii log/23/trace1033 --trace-time http://127.0.0.1:39173/1033 > log/23/stdout1033 2> log/23/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/8/valgrind1038 ../src/curl -q --output log/8/curl1038.out --include --trace-ascii log/8/trace1038 --trace-time ftp://127.0.0.1:42799/1038 -T log/8/upload1038 -C - > log/8/stdout1038 2> log/8/stderr1038 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/21/valgrind1018 ../src/curl -q --trace-ascii log/21/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/21/test1018.txt > log/21/stdout1018 2> log/21/stderr1018 1018: stdout FAILED: --- log/21/check-expected 2026-01-28 17:50:31.916555401 +0000 +++ log/21/check-generated 2026-01-28 17:50:31.916555401 +0000 @@ -1 +0,0 @@ -5 == Contents of files in the log/21/ 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/21/valgrind1018 ../src/curl -q --trace-ascii log/21/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/21/test1018.txt > log/21/stdout1018 2> log/21/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 ==132725== ==132725== Process terminating with default action of signal 4 (SIGILL) ==132725== Illegal opcode at address 0x4014520 ==132725== at 0x4014520: getparameter (tool_getparam.c:2862) ==132725== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132725== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132725== by 0x4003728: main (tool_main.c:186) === End of file valgrind1018 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/23/valgrind1033 ../src/curl -q --output log/23/curl1033.out --include --trace-ascii log/23/trace1033 --trace-time http://127.0.0.1:39173/1033 > log/23/stdout1033 2> log/23/stderr1033 1033: 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 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/23/valgrind1033 ../src/curl -q --output log/23/curl1033.out --include --trace-ascii log/23/trace1033 --trace-time http://127.0.0.1:39173/1033 > log/23/stdout1033 2> log/23/stderr1033 === End of file commands.log === Start of file http_server.log 17:50:30.896240 ====> Client connect 17:50:30.896279 accept_connection 3 returned 4 17:50:30.896294 accept_connection 3 returned 0 17:50:30.896452 Read 93 bytes 17:50:30.896475 Process 93 bytes request 17:50:30.896489 Got request: GET /verifiedserver HTTP/1.1 17:50:30.896499 Are-we-friendly question received 17:50:30.896530 Wrote request (93 bytes) input to log/23/server.input 17:50:30.896548 Identifying ourselves as friends 17:50:30.896612 Response sent (56 bytes) and written to log/23/server.response 17:50:30.896625 special request received, no persistency 17:50:30.896634 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 45644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1033 ==133575== ==133575== Process terminating with default action of signal 4 (SIGILL) ==133575== Illegal opcode at address 0x4014520 ==133575== at 0x4014520: getparameter (tool_getparam.c:2862) ==133575== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133575== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133575== by 0x4003728: main (tool_main.c:186) === End of file valgrind1033 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/8/valgrind1038 ../src/curl -q --output log/8/curl1038.out --include --trace-ascii log/8/trace1038 --trace-time ftp://127.0.0.1:42799/1038 -T log/8/upload1038 -C - > log/8/stdout1038 2> log/8/stderr1038 1038: 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 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/8/valgrind1038 ../src/curl -q --output log/8/curl1038.out --include --trace-ascii log/8/trace1038 --trace-time ftp://127.0.0.1:42799/1038 -T log/8/upload1038 -C - > log/8/stdout1038 2> log/8/stderr1038 === End of file commands.log === Start of file ftp_server.log 17:50:30.275563 ====> Client connect 17:50:30.275773 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:30.276137 < "USER anonymous" 17:50:30.276190 > "331 We are happy you popped in![CR][LF]" 17:50:30.276411 < "PASS ftp@example.com" 17:50:30.276454 > "230 Welcome you silly person[CR][LF]" 17:50:30.276657 < "PWD" 17:50:30.276821 > "257 "/" is current directory[CR][LF]" 17:50:30.277024 < "EPSV" 17:50:30.277056 ====> Passive DATA channel requested by client 17:50:30.277073 DATA sockfilt for passive data channel starting... 17:50:30.279508 DATA sockfilt for passive data channel started (pid 133808) 17:50:30.279640 DATA sockfilt for passive data channel listens on port 34463 17:50:30.279701 > "229 Entering Passive Mode (|||34463|)[CR][LF]" 17:50:30.279737 Client has been notified that DATA conn will be accepted on port 34463 17:50:30.280051 Client connects to port 34463 17:50:30.280086 ====> Client established passive DATA connection on port 34463 17:50:30.280176 < "TYPE I" 17:50:30.280217 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:30.280424 < "SIZE verifiedserver" 17:50:30.280469 > "213 17[CR][LF]" 17:50:30.280663 < "RETR verifiedserver" 17:50:30.280706 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:30.280819 =====> Closing passive DATA connection... 17:50:30.280845 Server disconnects passive DATA connection 17:50:30.281110 Server disconnected passive DATA connection 17:50:30.281140 DATA sockfilt for passive data channel quits (pid 133808) 17:50:30.281490 DATA sockfilt for passive data channel quit (pid 133808) 17:50:30.281523 =====> Closed passive DATA connection 17:50:30.281559 > "226 File transfer complete[CR][LF]" 17:50:30.325449 < "QUIT" 17:50:30.325513 > "221 bye bye baby[CR][LF]" 17:50:30.326742 MAIN sockfilt said DISC 17:50:30.326794 ====> Client disconnected 17:50:30.326893 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:31.121597 ====> Client connect 17:50:31.121985 Received DATA (on stdin) 17:50:31.122005 > 146 bytes data, server => client 17:50:31.122018 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:31.122029 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:31.122039 '220 \___|\___/|_| \_\_____|\r\n' 17:50:31.122135 < 16 bytes data, client => server 17:50:31.122153 'USER anonymous\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/valgrind1024 ../src/curl -q --output log/10/curl1024.out --include --trace-ascii log/10/trace1024 --trace-time http://127.0.0.1:32889/want/1024 -L -c log/10/jar1024 > log/10/stdout1024 2> log/10/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/14/valgrind1023 ../src/curl -q --output log/14/curl1023.out --include --trace-ascii log/14/trace1023 --trace-time --version > log/14/stdout1023 2> log/14/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.18.0 CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/14/stdout1023 vernum CMD (33792): ../libtool --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/valgrind1028 ../src/curl -q --include --trace-ascii log/9/trace1028 --trace-time http://127.0.0.1:37413/10280001 -L > log/9/stdout1028 2> log/9/stderr1028 \n' 17:50:31.122385 Received DATA (on stdin) 17:50:31.122399 > 33 bytes data, server => client 17:50:31.122411 '331 We are happy you popped in!\r\n' 17:50:31.122474 < 22 bytes data, client => server 17:50:31.122491 'PASS ftp@example.com\r\n' 17:50:31.122645 Received DATA (on stdin) 17:50:31.122660 > 30 bytes data, server => client 17:50:31.122671 '230 Welcome you silly person\r\n' 17:50:31.122730 < 5 bytes data, client => server 17:50:31.122746 'PWD\r\n' 17:50:31.123008 Received DATA (on stdin) 17:50:31.123021 > 30 bytes data, server => client 17:50:31.123031 '257 "/" is current directory\r\n' 17:50:31.123100 < 6 bytes data, client => server 17:50:31.123116 'EPSV\r\n' 17:50:31.125929 Received DATA (on stdin) 17:50:31.125944 > 39 bytes data, server => client 17:50:31.125955 '229 Entering Passive Mode (|||34463|)\r\n' 17:50:31.126113 < 8 bytes data, client => server 17:50:31.126131 'TYPE I\r\n' 17:50:31.126407 Received DATA (on stdin) 17:50:31.126422 > 33 bytes data, server => client 17:50:31.126433 '200 I modify TYPE as you wanted\r\n' 17:50:31.126493 < 21 bytes data, client => server 17:50:31.126509 'SIZE verifiedserver\r\n' 17:50:31.126658 Received DATA (on stdin) 17:50:31.126672 > 8 bytes data, server => client 17:50:31.126683 '213 17\r\n' 17:50:31.126741 < 21 bytes data, client => server 17:50:31.126757 'RETR verifiedserver\r\n' 17:50:31.127035 Received DATA (on stdin) 17:50:31.127050 > 29 bytes data, server => client 17:50:31.127062 '150 Binary junk (17 bytes).\r\n' 17:50:31.127747 Received DATA (on stdin) 17:50:31.127761 > 28 bytes data, server => client 17:50:31.127772 '226 File transfer complete\r\n' 17:50:31.171392 < 6 bytes data, client => server 17:50:31.171437 'QUIT\r\n' 17:50:31.171704 Received DATA (on stdin) 17:50:31.171719 > 18 bytes data, server => client 17:50:31.171729 '221 bye bye baby\r\n' 17:50:31.172852 ====> Client disconnect 17:50:31.173086 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:30.125332 Running IPv4 version 17:50:30.125403 Listening on port 34463 17:50:30.125447 Wrote pid 133808 to log/8/server/ftp_sockdata.pid 17:50:30.125622 Received PING (on stdin) 17:50:30.125723 Received PORT (on stdin) 17:50:30.126180 ====> Client connect 17:50:30.127092 Received DATA (on stdin) 17:50:30.127107 > 17 bytes data, server => client 17:50:30.127118 'WE ROOLZ: 81155\r\n' 17:50:30.127146 Received DISC (on stdin) 17:50:30.127160 ====> Client forcibly disconnected 17:50:30.127387 Received QUIT (on stdin) 17:50:30.127404 quits 17:50:30.127476 ============> 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 ==133862== ==133862== Process terminating with default action of signal 4 (SIGILL) ==133862== Illegal opcode at address 0x4014520 ==133862== at 0x4014520: getparameter (tool_getparam.c:2862) ==133862== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133862== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133862== by 0x4003728: main (tool_main.c:186) === End of file valgrind1038 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/10/valgrind1024 ../src/curl -q --output log/10/curl1024.out --include --trace-ascii log/10/trace1024 --trace-time http://127.0.0.1:32889/want/1024 -L -c log/10/jar1024 > log/10/stdout1024 2> log/10/stderr1024 1024: 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 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/10/valgrind1024 ../src/curl -q --output log/10/curl1024.out --include --trace-ascii log/10/trace1024 --trace-time http://127.0.0.1:32889/want/1024 -L -c log/10/jar1024 > log/10/stdout1024 2> log/10/stderr1024 === End of file commands.log === Start of file http_server.log 17:50:29.298684 ====> Client connect 17:50:29.298725 accept_connection 3 returned 4 17:50:29.298741 accept_connection 3 returned 0 17:50:29.298757 Read 93 bytes 17:50:29.298766 Process 93 bytes request 17:50:29.298780 Got request: GET /verifiedserver HTTP/1.1 17:50:29.298788 Are-we-friendly question received 17:50:29.298814 Wrote request (93 bytes) input to log/10/server.input 17:50:29.298830 Identifying ourselves as friends 17:50:29.298886 Response sent (56 bytes) and written to log/10/server.response 17:50:29.298896 special request received, no persistency 17:50:29.298905 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 40602 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind1024 ==132995== ==132995== Process terminating with default action of signal 4 (SIGILL) ==132995== Illegal opcode at address 0x4014520 ==132995== at 0x4014520: getparameter (tool_getparam.c:2862) ==132995== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132995== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132995== by 0x4003728: main (tool_main.c:186) === End of file valgrind1024 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/14/valgrind1023 ../src/curl -q --output log/14/curl1023.out --include --trace-ascii log/14/trace1023 --trace-time --version > log/14/stdout1023 2> log/14/stderr1023 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/14/stdout1023 vernum 1023: postcheck FAILED == Contents of files in the log/14/ 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/14/valgrind1023 ../src/curl -q --output log/14/curl1023.out --include --trace-ascii log/14/trace1023 --trace-time --version > log/14/stdout1023 2> log/14/stderr1023 === End of file commands.log === Start of file server.cmd Testnum 1023 === End of file server.cmd === Start of file valgrind1023 ==132905== ==132905== Process terminating with default action of signal 4 (SIGILL) ==132905== Illegal opcode at address 0x4014520 ==132905== at 0x4014520: getparameter (tool_getparam.c:2862) ==132905== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==132905== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==132905== by 0x4003728: main (tool_main.c:186) === End of file valgrind1023 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/9/valgrind1028 ../src/curl -q --include --trace-ascii log/9/trace1028 --trace-time http://127.0.0.1:37413/10280001 -L > log/9/stdout1028 2> log/9/stderr1028 1028: stdout FAILED: --- log/9/check-expected 2026-01-28 17:50:32.266555400 +0000 +++ log/9/check-generated 2026-01-28 17:50:32.266555400 +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:36391/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/9/ 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:36391/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/9/valgrind1028 ../src/curl -q --include --trace-ascii log/9/trace1028 --trace-time http://127.0.0.1:37413/10280001 -L > log/9/stdout1028 2> log/9/stderr1028 === End of file commands.log === Start of file ftp_server.log 17:50:29.687070 ====> Client connect 17:50:29.687272 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:29.687626 < "USER anonymous" 17:50:29.687671 > "331 We are happy you popped in![CR][LF]" 17:50:29.687871 < "PASS ftp@example.com" 17:50:29.687905 > "230 Welcome you silly person[CR][LF]" 17:50:29.688080 < "PWD" 17:50:29.688112 > "257 "/" is current directory[CR][LF]" 17:50:29.688291 < "EPSV" 17:50:29.688322 ====> Passive DATA channel requested by client 17:50:29.688338 DATA sockfilt for passive data channel starting... 17:50:29.696881 DATA sockfilt for passive data channel started (pid 133237) 17:50:29.697028 DATA sockfilt for passive data channel listens on port 33483 17:50:29.697084 > "229 Entering Passive Mode (|||33483|)[CR][LF]" 17:50:29.697104 Client has been notified that DATA conn will be accepted on port 33483 17:50:29.697450 Client connects to port 33483 17:50:29.697481 ====> Client established passive DATA connection on port 33483 17:50:29.697575 < "TYPE I" 17:50:29.697618 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:29.697790 < "SIZE verifiedserver" 17:50:29.697833 > "213 17[CR][LF]" 17:50:29.698001 < "RETR verifiedserver" 17:50:29.698039 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:29.698131 =====> Closing passive DATA connection... 17:50:29.698152 Server disconnects passive DATA connection 17:50:29.698412 Server disconnected passive DATA connection 17:50:29.698442 DATA sockfilt for passive data channel quits (pid 133237) 17:50:29.698740 DATA sockfilt for passive data channel quit (pid 133237) 17:50:29.698767 =====> Closed passive DATA connection 17:50:29.698797 > "226 File transfer complete[CR][LF]" 17:50:29.760153 < "QUIT" 17:50:29.760223 > "221 bye bye baby[CR][LF]" 17:50:29.761429 MAIN sockfilt said DISC 17:50:29.761464 ====> Client disconnected 17:50:29.761547 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:29.533122 ====> Client connect 17:50:29.533478 Received DATA (on stdin) 17:50:29.533495 > 146 bytes data, server => client 17:50:29.533509 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:29.533520 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:29.533531 '220 \___|\___/|_| \_\_____|\r\n' 17:50:29.533662 < 16 bytes data, client => server 17:50:29.533680 'USER anonymous\r\n' 17:50:29.533862 Received DATA (on stdin) 17:50:29.533876 > 33 bytes data, server => client 17:50:29.533888 '331 We are happy you popped in!\r\n' 17:50:29.533948 < 22 bytes data, client => server 17:50:29.533965 'PASS ftp@example.com\r\n' 17:50:29.534091 Received DATA (on stdin) 17:50:29.534105 > 30 bytes data, server => client 17:50:29.534115 '230 Welcome you silly person\r\n' 17:50:29.534169 < 5 bytes data, client => server 17:50:29.534181 'PWD\r\n' 17:50:29.534291 Received DATA (on stdin) 17:50:29.534301 > 30 bytes data, server => client 17:50:29.534311 '257 "/" is current directory\r\n' 17:50:29.534373 < 6 bytes data, client => server 17:50:29.534386 'EPSV\r\n' 17:50:29.543299 Received DATA (on stdin) 17:50:29.543318 > 39 bytes data, server => client 17:50:29.543329 '229 Entering Passive Mode (|||33483|)\r\n' 17:50:29.543548 < 8 bytes data, client => server 17:50:29.543562 'TYPE I\r\n' 17:50:29.543804 Received DATA (on stdin) 17:50:29.543816 > 33 bytes data, server => client 17:50:29.543827 '200 I modify TYPE as you wanted\r\n' 17:50:29.543882 < 21 bytes data, client => server 17:50:29.543894 'SIZE verifiedserver\r\n' 17:50:29.544018 Received DATA (on stdin) 17:50:29.544030 > 8 bytes data, server => client 17:50:29.544040 '213 17\r\n' 17:50:29.544092 < 21 bytes data, client => server 17:50:29.544104 'RETR verifiedserver\r\n' 17:50:29.544337 Received DATA (on stdin) 17:50:29.544349 > 29 bytes data, server => client 17:50:29.544359 '150 Binary junk (17 bytes).\r\n' 17:50:29.544983 Received DATA (on stdin) 17:50:29.544996 > 28 bytes data, server => client 17:50:29.545006 '226 File transfer complete\r\n' 17:50:29.599519 < 6 bytes data, client => server 17:50:29.599560 'QUIT\r\n' 17:50:29.606423 Received DATA (on stdin) 17:50:29.606445 > 18 bytes data, server => client 17:50:29.606457 '221 bye bye baby\r\n' 17:50:29.607553 ====> Client disconnect 17:50:29.607730 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:29.540537 Running IPv4 version 17:50:29.540646 Listening on port 33483 17:50:29.540696 Wrote pid 133237 to log/9/server/ftp_sockdata.pid 17:50:29.542991 Received PING (on stdin) 17:50:29.543108 Received PORT (on stdin) 17:50:29.543584 ====> Client connect 17:50:29.544419 Received DATA (on stdin) 17:50:29.544434 > 17 bytes data, server => client 17:50:29.544445 'WE ROOLZ: 80975\r\n' 17:50:29.544476 Received DISC (on stdin) 17:50:29.544487 ====> Client forcibly disconnected 17:50:29.544632 Received QUIT (on stdin) 17:50:29.544644 quits 17:50:29.544759 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 17:50:29.447686 ====> Client connect 17:50:29.447721 accept_connection 3 returned 4 17:50:29.447737 accept_connection 3 returned 0 17:50:29.447752 Read 93 bytes 17:50:29.447762 Process 93 bytes request 17:50:29.447775 Got request: GET /verifiedserver HTTP/1.1 17:50:29.447784 Are-we-friendly question received 17:50:29.447810 Wrote request (93 bytes) input to log/9/server.input 17:50:29.447826 Identifying ourselves as friends 17:50:29.447881 Response sent (56 bytes) and written to log/9/server.response 17:50:29.447890 special request received, no persistency 17:50:29.447899 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 36636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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/17/valgrind1037 ../src/curl -q --output log/17/curl1037.out --include --trace-ascii log/17/trace1037 --trace-time ftp://127.0.0.1:38963/1037 -C - > log/17/stdout1037 2> log/17/stderr1037 CMD (33792): ../libtool --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/valgrind1039 ../src/curl -q --output log/24/curl1039.out --include --trace-ascii log/24/trace1039 --trace-time ftp://127.0.0.1:39525/1039 -T log/24/upload1039 -C - > log/24/stdout1039 2> log/24/stderr1039 nd of file http_verify.out === Start of file server.cmd Testnum 1028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74974 === End of file server.response === Start of file valgrind1028 ==133322== ==133322== Process terminating with default action of signal 4 (SIGILL) ==133322== Illegal opcode at address 0x4014520 ==133322== at 0x4014520: getparameter (tool_getparam.c:2862) ==133322== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133322== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133322== by 0x4003728: main (tool_main.c:186) === End of file valgrind1028 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/17/valgrind1037 ../src/curl -q --output log/17/curl1037.out --include --trace-ascii log/17/trace1037 --trace-time ftp://127.0.0.1:38963/1037 -C - > log/17/stdout1037 2> log/17/stderr1037 1037: 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 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/17/valgrind1037 ../src/curl -q --output log/17/curl1037.out --include --trace-ascii log/17/trace1037 --trace-time ftp://127.0.0.1:38963/1037 -C - > log/17/stdout1037 2> log/17/stderr1037 === End of file commands.log === Start of file ftp_server.log 17:50:30.163490 ====> Client connect 17:50:30.165513 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:30.165842 < "USER anonymous" 17:50:30.165887 > "331 We are happy you popped in![CR][LF]" 17:50:30.166073 < "PASS ftp@example.com" 17:50:30.166103 > "230 Welcome you silly person[CR][LF]" 17:50:30.166259 < "PWD" 17:50:30.166290 > "257 "/" is current directory[CR][LF]" 17:50:30.166452 < "EPSV" 17:50:30.166482 ====> Passive DATA channel requested by client 17:50:30.166496 DATA sockfilt for passive data channel starting... 17:50:30.171621 DATA sockfilt for passive data channel started (pid 133669) 17:50:30.171799 DATA sockfilt for passive data channel listens on port 43767 17:50:30.171864 > "229 Entering Passive Mode (|||43767|)[CR][LF]" 17:50:30.171888 Client has been notified that DATA conn will be accepted on port 43767 17:50:30.174746 Client connects to port 43767 17:50:30.174789 ====> Client established passive DATA connection on port 43767 17:50:30.174908 < "TYPE I" 17:50:30.174954 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:30.175162 < "SIZE verifiedserver" 17:50:30.175210 > "213 17[CR][LF]" 17:50:30.175390 < "RETR verifiedserver" 17:50:30.175434 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:30.175540 =====> Closing passive DATA connection... 17:50:30.175565 Server disconnects passive DATA connection 17:50:30.175829 Server disconnected passive DATA connection 17:50:30.175862 DATA sockfilt for passive data channel quits (pid 133669) 17:50:30.176114 DATA sockfilt for passive data channel quit (pid 133669) 17:50:30.176144 =====> Closed passive DATA connection 17:50:30.176197 > "226 File transfer complete[CR][LF]" 17:50:30.219167 < "QUIT" 17:50:30.219229 > "221 bye bye baby[CR][LF]" 17:50:30.222111 MAIN sockfilt said DISC 17:50:30.222162 ====> Client disconnected 17:50:30.222240 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:30.009564 ====> Client connect 17:50:30.011724 Received DATA (on stdin) 17:50:30.011744 > 146 bytes data, server => client 17:50:30.011756 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:30.011766 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:30.011775 '220 \___|\___/|_| \_\_____|\r\n' 17:50:30.011872 < 16 bytes data, client => server 17:50:30.011884 'USER anonymous\r\n' 17:50:30.012073 Received DATA (on stdin) 17:50:30.012085 > 33 bytes data, server => client 17:50:30.012095 '331 We are happy you popped in!\r\n' 17:50:30.012154 < 22 bytes data, client => server 17:50:30.012165 'PASS ftp@example.com\r\n' 17:50:30.012282 Received DATA (on stdin) 17:50:30.012293 > 30 bytes data, server => client 17:50:30.012303 '230 Welcome you silly person\r\n' 17:50:30.012357 < 5 bytes data, client => server 17:50:30.012367 'PWD\r\n' 17:50:30.012470 Received DATA (on stdin) 17:50:30.012480 > 30 bytes data, server => client 17:50:30.012491 '257 "/" is current directory\r\n' 17:50:30.012549 < 6 bytes data, client => server 17:50:30.012560 'EPSV\r\n' 17:50:30.018083 Received DATA (on stdin) 17:50:30.018101 > 39 bytes data, server => client 17:50:30.018112 '229 Entering Passive Mode (|||43767|)\r\n' 17:50:30.018299 < 8 bytes data, client => server 17:50:30.018318 'TYPE I\r\n' 17:50:30.021145 Received DATA (on stdin) 17:50:30.021159 > 33 bytes data, server => client 17:50:30.021171 '200 I modify TYPE as you wanted\r\n' 17:50:30.021242 < 21 bytes data, client => server 17:50:30.021259 'SIZE verifiedserver\r\n' 17:50:30.021399 Received DATA (on stdin) 17:50:30.021413 > 8 bytes data, server => client 17:50:30.021423 '213 17\r\n' 17:50:30.021477 < 21 bytes data, client => server 17:50:30.021490 'RETR verifiedserver\r\n' 17:50:30.021753 Received DATA (on stdin) 17:50:30.021767 > 29 bytes data, server => client 17:50:30.021778 '150 Binary junk (17 bytes).\r\n' 17:50:30.022388 Received DATA (on stdin) 17:50:30.022403 > 28 bytes data, server => client 17:50:30.022414 '226 File transfer complete\r\n' 17:50:30.063224 < 6 bytes data, client => server 17:50:30.063318 'QUIT\r\n' 17:50:30.065419 Received DATA (on stdin) 17:50:30.065437 > 18 bytes data, server => client 17:50:30.065447 '221 bye bye baby\r\n' 17:50:30.065962 ====> Client disconnect 17:50:30.068430 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:30.017337 Running IPv4 version 17:50:30.017416 Listening on port 43767 17:50:30.017502 Wrote pid 133669 to log/17/server/ftp_sockdata.pid 17:50:30.017703 Received PING (on stdin) 17:50:30.017875 Received PORT (on stdin) 17:50:30.018342 ====> Client connect 17:50:30.021807 Received DATA (on stdin) 17:50:30.021822 > 17 bytes data, server => client 17:50:30.021834 'WE ROOLZ: 95543\r\n' 17:50:30.021861 Received DISC (on stdin) 17:50:30.021877 ====> Client forcibly disconnected 17:50:30.022057 Received QUIT (on stdin) 17:50:30.022070 quits 17:50:30.022136 ============> 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 ==133803== ==133803== Process terminating with default action of signal 4 (SIGILL) ==133803== Illegal opcode at address 0x4014520 ==133803== at 0x4014520: getparameter (tool_getparam.c:2862) ==133803== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133803== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133803== by 0x4003728: main (tool_main.c:186) === End of file valgrind1037 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/24/valgrind1039 ../src/curl -q --output log/24/curl1039.out --include --trace-ascii log/24/trace1039 --trace-time ftp://127.0.0.1:39525/1039 -T log/24/upload1039 -C - > log/24/stdout1039 2> log/24/stderr1039 1039: 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 1039 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memchecCMD (33792): ../libtool --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/valgrind1035 ../src/curl -q --output log/5/curl1035.out --include --trace-ascii log/5/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/5/stdout1035 2> log/5/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/6/valgrind1029 ../src/curl -q --include --trace-ascii log/6/trace1029 --trace-time http://127.0.0.1:42747/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/6/stdout1029 2> log/6/stderr1029 k --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1039 ../src/curl -q --output log/24/curl1039.out --include --trace-ascii log/24/trace1039 --trace-time ftp://127.0.0.1:39525/1039 -T log/24/upload1039 -C - > log/24/stdout1039 2> log/24/stderr1039 === End of file commands.log === Start of file ftp_server.log 17:50:30.329171 ====> Client connect 17:50:30.329329 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:30.329600 < "USER anonymous" 17:50:30.329642 > "331 We are happy you popped in![CR][LF]" 17:50:30.329802 < "PASS ftp@example.com" 17:50:30.329828 > "230 Welcome you silly person[CR][LF]" 17:50:30.329960 < "PWD" 17:50:30.329989 > "257 "/" is current directory[CR][LF]" 17:50:30.330145 < "EPSV" 17:50:30.330169 ====> Passive DATA channel requested by client 17:50:30.330181 DATA sockfilt for passive data channel starting... 17:50:30.341292 DATA sockfilt for passive data channel started (pid 133853) 17:50:30.341418 DATA sockfilt for passive data channel listens on port 36611 17:50:30.341475 > "229 Entering Passive Mode (|||36611|)[CR][LF]" 17:50:30.341496 Client has been notified that DATA conn will be accepted on port 36611 17:50:30.347011 Client connects to port 36611 17:50:30.347085 ====> Client established passive DATA connection on port 36611 17:50:30.347222 < "TYPE I" 17:50:30.347275 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:30.347443 < "SIZE verifiedserver" 17:50:30.347481 > "213 17[CR][LF]" 17:50:30.347618 < "RETR verifiedserver" 17:50:30.347655 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:30.347758 =====> Closing passive DATA connection... 17:50:30.347773 Server disconnects passive DATA connection 17:50:30.348011 Server disconnected passive DATA connection 17:50:30.348038 DATA sockfilt for passive data channel quits (pid 133853) 17:50:30.348296 DATA sockfilt for passive data channel quit (pid 133853) 17:50:30.348319 =====> Closed passive DATA connection 17:50:30.348352 > "226 File transfer complete[CR][LF]" 17:50:30.393723 < "QUIT" 17:50:30.393786 > "221 bye bye baby[CR][LF]" 17:50:30.395509 MAIN sockfilt said DISC 17:50:30.395566 ====> Client disconnected 17:50:30.395657 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:31.175224 ====> Client connect 17:50:31.175522 Received DATA (on stdin) 17:50:31.175537 > 146 bytes data, server => client 17:50:31.175547 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:31.175556 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:31.175565 '220 \___|\___/|_| \_\_____|\r\n' 17:50:31.175640 < 16 bytes data, client => server 17:50:31.175651 'USER anonymous\r\n' 17:50:31.175825 Received DATA (on stdin) 17:50:31.175836 > 33 bytes data, server => client 17:50:31.175845 '331 We are happy you popped in!\r\n' 17:50:31.175894 < 22 bytes data, client => server 17:50:31.175904 'PASS ftp@example.com\r\n' 17:50:31.176005 Received DATA (on stdin) 17:50:31.176015 > 30 bytes data, server => client 17:50:31.176024 '230 Welcome you silly person\r\n' 17:50:31.176066 < 5 bytes data, client => server 17:50:31.176076 'PWD\r\n' 17:50:31.176176 Received DATA (on stdin) 17:50:31.176186 > 30 bytes data, server => client 17:50:31.176195 '257 "/" is current directory\r\n' 17:50:31.176250 < 6 bytes data, client => server 17:50:31.176259 'EPSV\r\n' 17:50:31.187689 Received DATA (on stdin) 17:50:31.187708 > 39 bytes data, server => client 17:50:31.187719 '229 Entering Passive Mode (|||36611|)\r\n' 17:50:31.193072 < 8 bytes data, client => server 17:50:31.193099 'TYPE I\r\n' 17:50:31.193461 Received DATA (on stdin) 17:50:31.193474 > 33 bytes data, server => client 17:50:31.193484 '200 I modify TYPE as you wanted\r\n' 17:50:31.193544 < 21 bytes data, client => server 17:50:31.193555 'SIZE verifiedserver\r\n' 17:50:31.193660 Received DATA (on stdin) 17:50:31.193670 > 8 bytes data, server => client 17:50:31.193678 '213 17\r\n' 17:50:31.193725 < 21 bytes data, client => server 17:50:31.193734 'RETR verifiedserver\r\n' 17:50:31.193953 Received DATA (on stdin) 17:50:31.193963 > 29 bytes data, server => client 17:50:31.193971 '150 Binary junk (17 bytes).\r\n' 17:50:31.194533 Received DATA (on stdin) 17:50:31.194543 > 28 bytes data, server => client 17:50:31.194552 '226 File transfer complete\r\n' 17:50:31.239673 < 6 bytes data, client => server 17:50:31.239713 'QUIT\r\n' 17:50:31.239969 Received DATA (on stdin) 17:50:31.239980 > 18 bytes data, server => client 17:50:31.239989 '221 bye bye baby\r\n' 17:50:31.241149 ====> Client disconnect 17:50:31.241837 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:30.186519 Running IPv4 version 17:50:30.186608 Listening on port 36611 17:50:30.186652 Wrote pid 133853 to log/24/server/ftp_sockdata.pid 17:50:30.187408 Received PING (on stdin) 17:50:30.187505 Received PORT (on stdin) 17:50:30.193126 ====> Client connect 17:50:30.194025 Received DATA (on stdin) 17:50:30.194037 > 17 bytes data, server => client 17:50:30.194046 'WE ROOLZ: 81152\r\n' 17:50:30.194072 Received DISC (on stdin) 17:50:30.194081 ====> Client forcibly disconnected 17:50:30.194230 Received QUIT (on stdin) 17:50:30.194239 quits 17:50:30.194308 ============> 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 ==133974== ==133974== Process terminating with default action of signal 4 (SIGILL) ==133974== Illegal opcode at address 0x4014520 ==133974== at 0x4014520: getparameter (tool_getparam.c:2862) ==133974== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133974== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133974== by 0x4003728: main (tool_main.c:186) === End of file valgrind1039 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/5/valgrind1035 ../src/curl -q --output log/5/curl1035.out --include --trace-ascii log/5/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/5/stdout1035 2> log/5/stderr1035 curl returned 132, when expecting 3 1035: exit FAILED == Contents of files in the log/5/ 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/5/valgrind1035 ../src/curl -q --output log/5/curl1035.out --include --trace-ascii log/5/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/5/stdout1035 2> log/5/stderr1035 === End of file commands.log === Start of file server.cmd Testnum 1035 === End of file server.cmd === Start of file valgrind1035 ==133506== ==133506== Process terminating with default action of signal 4 (SIGILL) ==133506== Illegal opcode at address 0x4014520 ==133506== at 0x4014520: getparameter (tool_getparam.c:2862) ==133506== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133506== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133506== by 0x4003728: main (tool_main.c:186) === 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/15/valgrind1030 ../src/curl -q --output log/15/curl1030.out --include --trace-ascii log/15/trace1030 --trace-time http://127.0.0.1:41057/1030 -T log/15/put1030 -u testuser:testpass --anyauth > log/15/stdout1030 2> log/15/stderr1030 CMD (33792): ../libtool --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/valgrind1031 ../src/curl -q --output log/2/curl1031.out --include --trace-ascii log/2/trace1031 --trace-time http://127.0.0.1:38779/want/this/1031 -L > log/2/stdout1031 2> log/2/stderr1031 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/6/valgrind1029 ../src/curl -q --include --trace-ascii log/6/trace1029 --trace-time http://127.0.0.1:42747/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/6/stdout1029 2> log/6/stderr1029 1029: stdout FAILED: --- log/6/check-expected 2026-01-28 17:50:32.379888733 +0000 +++ log/6/check-generated 2026-01-28 17:50:32.379888733 +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:42747/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:42747/we/want/our/1029 0 [LF] == Contents of files in the log/6/ 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:42747/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:42747/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/6/valgrind1029 ../src/curl -q --include --trace-ascii log/6/trace1029 --trace-time http://127.0.0.1:42747/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/6/stdout1029 2> log/6/stderr1029 === End of file commands.log === Start of file http_server.log 17:50:29.582961 ====> Client connect 17:50:29.583013 accept_connection 3 returned 4 17:50:29.583036 accept_connection 3 returned 0 17:50:29.583059 Read 93 bytes 17:50:29.583071 Process 93 bytes request 17:50:29.583092 Got request: GET /verifiedserver HTTP/1.1 17:50:29.583102 Are-we-friendly question received 17:50:29.583133 Wrote request (93 bytes) input to log/6/server.input 17:50:29.583152 Identifying ourselves as friends 17:50:29.583232 Response sent (56 bytes) and written to log/6/server.response 17:50:29.583243 special request received, no persistency 17:50:29.583252 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 43234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind1029 ==133268== ==133268== Process terminating with default action of signal 4 (SIGILL) ==133268== Illegal opcode at address 0x4014520 ==133268== at 0x4014520: getparameter (tool_getparam.c:2862) ==133268== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133268== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133268== by 0x4003728: main (tool_main.c:186) === End of file valgrind1029 test 1030...[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/15/valgrind1030 ../src/curl -q --output log/15/curl1030.out --include --trace-ascii log/15/trace1030 --trace-time http://127.0.0.1:41057/1030 -T log/15/put1030 -u testuser:testpass --anyauth > log/15/stdout1030 2> log/15/stderr1030 1030: 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 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/15/valgrind1030 ../src/curl -q --output log/15/curl1030.out --include --trace-ascii log/15/trace1030 --trace-time http://127.0.0.1:41057/1030 -T log/15/put1030 -u testuser:testpass --anyauth > log/15/stdout1030 2> log/15/stderr1030 === End of file commands.log === Start of file http_server.log 17:50:29.671970 ====> Client connect 17:50:29.672008 accept_connection 3 returned 4 17:50:29.672027 accept_connection 3 returned 0 17:50:29.672045 Read 93 bytes 17:50:29.672055 Process 93 bytes request 17:50:29.672069 Got request: GET /verifiedserver HTTP/1.1 17:50:29.672079 Are-we-friendly question received 17:50:29.672109 Wrote request (93 bytes) input to log/15/server.input 17:50:29.672128 Identifying ourselves as friends 17:50:29.672196 Response sent (56 bytes) and written to log/15/server.response 17:50:29.672209 special request received, no persistency 17:50:29.672218 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 41576 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1030 ==133362== ==133362== Process terminating with default action of signal 4 (SIGILL) ==133362== Illegal opcode at address 0x4014520 ==133362== at 0x4014520: getparameter (tool_getparam.c:2862) ==133362== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133362== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133362== by 0x4003728: main (tool_main.c:186) === 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/2/valgrind1031 ../src/curl -q --output log/2/curl1031.out --include --trace-ascii log/2/trace1031 --trace-time http://127.0.0.1:38779/want/this/1031 -L > log/2/stdout1031 2> log/2/stderr1031 1031: 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 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/2/valgrind1031 ../src/curl -q --output log/2/curl1031.out --include --trace-ascii log/2/trace1031 --trace-time http://127.0.0.1:38779/want/this/1031 -L > log/2/stdout1031 2> log/2/stderr1031 === End of file commands.log === Start of file http_server.log 17:50:29.699565 ====> Client connect 17:50:29.699604 accept_connection 3 returned 4 17:50:29.699623 accept_connection 3 returned 0 17:50:29.699640 Read 93 bytes 17:50:29.699651 Process 93 bytes request 17:50:29.699664 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/13/valgrind1034 ../src/curl -q --output log/13/curl1034.out --include --trace-ascii log/13/trace1034 --trace-time -K - -x 127.0.0.1:47 log/13/stdout1034 2> log/13/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/3/valgrind1032 ../src/curl -q --output log/3/curl1032.out --include --trace-ascii log/3/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:45927/1032 > log/3/stdout1032 2> log/3/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/4/valgrind1036 ../src/curl -q --output log/4/curl1036.out --include --trace-ascii log/4/trace1036 --trace-time ftp://127.0.0.1:40307/1036 -C - > log/4/stdout1036 2> log/4/stderr1036 ot request: GET /verifiedserver HTTP/1.1 17:50:29.699674 Are-we-friendly question received 17:50:29.699703 Wrote request (93 bytes) input to log/2/server.input 17:50:29.699721 Identifying ourselves as friends 17:50:29.699788 Response sent (56 bytes) and written to log/2/server.response 17:50:29.699800 special request received, no persistency 17:50:29.699809 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 43020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1031 ==133419== ==133419== Process terminating with default action of signal 4 (SIGILL) ==133419== Illegal opcode at address 0x4014520 ==133419== at 0x4014520: getparameter (tool_getparam.c:2862) ==133419== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133419== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133419== by 0x4003728: main (tool_main.c:186) === End of file valgrind1031 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/13/valgrind1034 ../src/curl -q --output log/13/curl1034.out --include --trace-ascii log/13/trace1034 --trace-time -K - -x 127.0.0.1:47 log/13/stdout1034 2> log/13/stderr1034 curl returned 132, when expecting 3 1034: exit FAILED == Contents of files in the log/13/ 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/13/valgrind1034 ../src/curl -q --output log/13/curl1034.out --include --trace-ascii log/13/trace1034 --trace-time -K - -x 127.0.0.1:47 log/13/stdout1034 2> log/13/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 ==133516== ==133516== Process terminating with default action of signal 4 (SIGILL) ==133516== Illegal opcode at address 0x4014520 ==133516== at 0x4014520: getparameter (tool_getparam.c:2862) ==133516== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133516== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133516== by 0x4003728: main (tool_main.c:186) === End of file valgrind1034 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/3/valgrind1032 ../src/curl -q --output log/3/curl1032.out --include --trace-ascii log/3/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:45927/1032 > log/3/stdout1032 2> log/3/stderr1032 1032: 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 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/3/valgrind1032 ../src/curl -q --output log/3/curl1032.out --include --trace-ascii log/3/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:45927/1032 > log/3/stdout1032 2> log/3/stderr1032 === End of file commands.log === Start of file http_server.log 17:50:29.863626 ====> Client connect 17:50:29.863663 accept_connection 3 returned 4 17:50:29.863679 accept_connection 3 returned 0 17:50:29.863746 Read 93 bytes 17:50:29.863760 Process 93 bytes request 17:50:29.863775 Got request: GET /verifiedserver HTTP/1.1 17:50:29.863785 Are-we-friendly question received 17:50:29.863818 Wrote request (93 bytes) input to log/3/server.input 17:50:29.863836 Identifying ourselves as friends 17:50:29.863902 Response sent (56 bytes) and written to log/3/server.response 17:50:29.864309 special request received, no persistency 17:50:29.864326 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 54442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1032 ==133519== ==133519== Process terminating with default action of signal 4 (SIGILL) ==133519== Illegal opcode at address 0x4014520 ==133519== at 0x4014520: getparameter (tool_getparam.c:2862) ==133519== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133519== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133519== by 0x4003728: main (tool_main.c:186) === End of file valgrind1032 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/4/valgrind1036 ../src/curl -q --output log/4/curl1036.out --include --trace-ascii log/4/trace1036 --trace-time ftp://127.0.0.1:40307/1036 -C - > log/4/stdout1036 2> log/4/stderr1036 1036: 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 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/4/valgrind1036 ../src/curl -q --output log/4/curl1036.out --include --trace-ascii log/4/trace1036 --trace-time ftp://127.0.0.1:40307/1036 -C - > log/4/stdout1036 2> log/4/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 17:50:30.140162 ====> Client connect 17:50:30.140360 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:30.140704 < "USER anonymous" 17:50:30.140747 > "331 We are happy you popped in![CR][LF]" 17:50:30.140942 < "PASS ftp@example.com" 17:50:30.140976 > "230 Welcome you silly person[CR][LF]" 17:50:30.141142 < "PWD" 17:50:30.141171 > "257 "/" is current directory[CR][LF]" 17:50:30.141309 < "EPSV" 17:50:30.141332 ====> Passive DATA channel requested by client 17:50:30.141344 DATA sockfilt for passive data channel starting... 17:50:30.160044 DATA sockfilt for passive data channel started (pid 133648) 17:50:30.160367 DATA sockfilt for passive data channel listens on port 45445 17:50:30.160437 > "229 Entering Passive Mode (|||45445|)[CR][LF]" 17:50:30.160457 Client has 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/7/valgrind1040 ../src/curl -q --output log/7/curl1040.out --include --trace-ascii log/7/trace1040 --trace-time http://127.0.0.1:35671/1040 -C - > log/7/stdout1040 2> log/7/stderr1040 CMD (33792): ../libtool --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/valgrind1042 ../src/curl -q --output log/16/curl1042.out --include --trace-ascii log/16/trace1042 --trace-time http://127.0.0.1:40899/1042 -C 200 > log/16/stdout1042 2> log/16/stderr1042 een notified that DATA conn will be accepted on port 45445 17:50:30.160734 Client connects to port 45445 17:50:30.160763 ====> Client established passive DATA connection on port 45445 17:50:30.160872 < "TYPE I" 17:50:30.160910 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:30.161075 < "SIZE verifiedserver" 17:50:30.161119 > "213 17[CR][LF]" 17:50:30.161279 < "RETR verifiedserver" 17:50:30.161319 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:30.161419 =====> Closing passive DATA connection... 17:50:30.161438 Server disconnects passive DATA connection 17:50:30.161667 Server disconnected passive DATA connection 17:50:30.161694 DATA sockfilt for passive data channel quits (pid 133648) 17:50:30.161965 DATA sockfilt for passive data channel quit (pid 133648) 17:50:30.161989 =====> Closed passive DATA connection 17:50:30.162016 > "226 File transfer complete[CR][LF]" 17:50:30.208872 < "QUIT" 17:50:30.208930 > "221 bye bye baby[CR][LF]" 17:50:30.209148 MAIN sockfilt said DISC 17:50:30.209177 ====> Client disconnected 17:50:30.216756 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:29.986190 ====> Client connect 17:50:29.986560 Received DATA (on stdin) 17:50:29.986579 > 146 bytes data, server => client 17:50:29.986592 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:29.986602 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:29.986613 '220 \___|\___/|_| \_\_____|\r\n' 17:50:29.986725 < 16 bytes data, client => server 17:50:29.986740 'USER anonymous\r\n' 17:50:29.986934 Received DATA (on stdin) 17:50:29.986947 > 33 bytes data, server => client 17:50:29.986958 '331 We are happy you popped in!\r\n' 17:50:29.987017 < 22 bytes data, client => server 17:50:29.987031 'PASS ftp@example.com\r\n' 17:50:29.987161 Received DATA (on stdin) 17:50:29.987172 > 30 bytes data, server => client 17:50:29.987182 '230 Welcome you silly person\r\n' 17:50:29.987234 < 5 bytes data, client => server 17:50:29.987245 'PWD\r\n' 17:50:29.987348 Received DATA (on stdin) 17:50:29.987358 > 30 bytes data, server => client 17:50:29.987366 '257 "/" is current directory\r\n' 17:50:29.987417 < 6 bytes data, client => server 17:50:29.987425 'EPSV\r\n' 17:50:30.006651 Received DATA (on stdin) 17:50:30.006669 > 39 bytes data, server => client 17:50:30.006680 '229 Entering Passive Mode (|||45445|)\r\n' 17:50:30.006834 < 8 bytes data, client => server 17:50:30.006848 'TYPE I\r\n' 17:50:30.007094 Received DATA (on stdin) 17:50:30.007106 > 33 bytes data, server => client 17:50:30.007116 '200 I modify TYPE as you wanted\r\n' 17:50:30.007167 < 21 bytes data, client => server 17:50:30.007180 'SIZE verifiedserver\r\n' 17:50:30.007302 Received DATA (on stdin) 17:50:30.007318 > 8 bytes data, server => client 17:50:30.007328 '213 17\r\n' 17:50:30.007377 < 21 bytes data, client => server 17:50:30.007389 'RETR verifiedserver\r\n' 17:50:30.007620 Received DATA (on stdin) 17:50:30.007631 > 29 bytes data, server => client 17:50:30.007641 '150 Binary junk (17 bytes).\r\n' 17:50:30.008198 Received DATA (on stdin) 17:50:30.008210 > 28 bytes data, server => client 17:50:30.008221 '226 File transfer complete\r\n' 17:50:30.054829 < 6 bytes data, client => server 17:50:30.054878 'QUIT\r\n' 17:50:30.055117 Received DATA (on stdin) 17:50:30.055130 > 18 bytes data, server => client 17:50:30.055140 '221 bye bye baby\r\n' 17:50:30.055281 ====> Client disconnect 17:50:30.055418 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:30.997784 Running IPv4 version 17:50:30.997878 Listening on port 45445 17:50:30.997919 Wrote pid 133648 to log/4/server/ftp_sockdata.pid 17:50:31.003277 Received PING (on stdin) 17:50:31.006408 Received PORT (on stdin) 17:50:31.006869 ====> Client connect 17:50:31.007665 Received DATA (on stdin) 17:50:31.007678 > 17 bytes data, server => client 17:50:31.007688 'WE ROOLZ: 80996\r\n' 17:50:31.007713 Received DISC (on stdin) 17:50:31.007724 ====> Client forcibly disconnected 17:50:31.007886 Received QUIT (on stdin) 17:50:31.007897 quits 17:50:31.007979 ============> 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 ==133760== ==133760== Process terminating with default action of signal 4 (SIGILL) ==133760== Illegal opcode at address 0x4014520 ==133760== at 0x4014520: getparameter (tool_getparam.c:2862) ==133760== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==133760== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==133760== by 0x4003728: main (tool_main.c:186) === End of file valgrind1036 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/7/valgrind1040 ../src/curl -q --output log/7/curl1040.out --include --trace-ascii log/7/trace1040 --trace-time http://127.0.0.1:35671/1040 -C - > log/7/stdout1040 2> log/7/stderr1040 1040: 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 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/7/valgrind1040 ../src/curl -q --output log/7/curl1040.out --include --trace-ascii log/7/trace1040 --trace-time http://127.0.0.1:35671/1040 -C - > log/7/stdout1040 2> log/7/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 17:50:30.752925 ====> Client connect 17:50:30.752977 accept_connection 3 returned 4 17:50:30.752999 accept_connection 3 returned 0 17:50:30.753017 Read 93 bytes 17:50:30.753027 Process 93 bytes request 17:50:30.753042 Got request: GET /verifiedserver HTTP/1.1 17:50:30.753052 Are-we-friendly question received 17:50:30.753081 Wrote request (93 bytes) input to log/7/server.input 17:50:30.753100 Identifying ourselves as friends 17:50:30.753180 Response sent (56 bytes) and written to log/7/server.response 17:50:30.753190 special request received, no persistency 17:50:30.753199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 48176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1040 ==134070== ==134070== Process terminating with default action of signal 4 (SIGILL) ==134070== Illegal opcode at address 0x4014520 ==134070== at 0x4014520: getparameter (tool_getparam.c:2862) ==134070== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134070== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134070== by 0x4003728: main (tool_main.c:186) === End of file valgrind1040 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/16/valgrind1042 ../src/curl -q --output log/16/curl1042.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/20/valgrind1043 ../src/curl -q --output log/20/curl1043.out --include --trace-ascii log/20/trace1043 --trace-time http://127.0.0.1:46725/1043 -C - > log/20/stdout1043 2> log/20/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/12/valgrind1044 ../src/curl -q --include --trace-ascii log/12/trace1044 --trace-time ftp://127.0.0.1:38035/blalbla/1044 -I > log/12/stdout1044 2> log/12/stderr1044 de --trace-ascii log/16/trace1042 --trace-time http://127.0.0.1:40899/1042 -C 200 > log/16/stdout1042 2> log/16/stderr1042 1042: 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 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/16/valgrind1042 ../src/curl -q --output log/16/curl1042.out --include --trace-ascii log/16/trace1042 --trace-time http://127.0.0.1:40899/1042 -C 200 > log/16/stdout1042 2> log/16/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 17:50:31.039579 ====> Client connect 17:50:31.039630 accept_connection 3 returned 4 17:50:31.039648 accept_connection 3 returned 0 17:50:31.039665 Read 93 bytes 17:50:31.039675 Process 93 bytes request 17:50:31.039690 Got request: GET /verifiedserver HTTP/1.1 17:50:31.039700 Are-we-friendly question received 17:50:31.039726 Wrote request (93 bytes) input to log/16/server.input 17:50:31.039743 Identifying ourselves as friends 17:50:31.039824 Response sent (56 bytes) and written to log/16/server.response 17:50:31.039833 special request received, no persistency 17:50:31.039843 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 58600 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind1042 ==134212== ==134212== Process terminating with default action of signal 4 (SIGILL) ==134212== Illegal opcode at address 0x4014520 ==134212== at 0x4014520: getparameter (tool_getparam.c:2862) ==134212== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134212== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134212== by 0x4003728: main (tool_main.c:186) === End of file valgrind1042 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/20/valgrind1043 ../src/curl -q --output log/20/curl1043.out --include --trace-ascii log/20/trace1043 --trace-time http://127.0.0.1:46725/1043 -C - > log/20/stdout1043 2> log/20/stderr1043 1043: 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 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/20/valgrind1043 ../src/curl -q --output log/20/curl1043.out --include --trace-ascii log/20/trace1043 --trace-time http://127.0.0.1:46725/1043 -C - > log/20/stdout1043 2> log/20/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 17:50:31.241048 ====> Client connect 17:50:31.241087 accept_connection 3 returned 4 17:50:31.241102 accept_connection 3 returned 0 17:50:31.241116 Read 93 bytes 17:50:31.241125 Process 93 bytes request 17:50:31.241140 Got request: GET /verifiedserver HTTP/1.1 17:50:31.241148 Are-we-friendly question received 17:50:31.241175 Wrote request (93 bytes) input to log/20/server.input 17:50:31.241192 Identifying ourselves as friends 17:50:31.241248 Response sent (56 bytes) and written to log/20/server.response 17:50:31.241258 special request received, no persistency 17:50:31.241266 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 43876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1043 ==134292== ==134292== Process terminating with default action of signal 4 (SIGILL) ==134292== Illegal opcode at address 0x4014520 ==134292== at 0x4014520: getparameter (tool_getparam.c:2862) ==134292== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134292== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134292== by 0x4003728: main (tool_main.c:186) === End of file valgrind1043 CMD (33792): ../libtool --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/valgrind1041 ../src/curl -q --output log/18/curl1041.out --include --trace-ascii log/18/trace1041 --trace-time http://127.0.0.1:34067/1041 -Tlog/18/test1041.txt -C - > log/18/stdout1041 2> log/18/stderr1041 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/12/valgrind1044 ../src/curl -q --include --trace-ascii log/12/trace1044 --trace-time ftp://127.0.0.1:38035/blalbla/1044 -I > log/12/stdout1044 2> log/12/stderr1044 1044: stdout FAILED: --- log/12/check-expected 2026-01-28 17:50:33.799888733 +0000 +++ log/12/check-generated 2026-01-28 17:50:33.799888733 +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/12/ 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/12/valgrind1044 ../src/curl -q --include --trace-ascii log/12/trace1044 --trace-time ftp://127.0.0.1:38035/blalbla/1044 -I > log/12/stdout1044 2> log/12/stderr1044 === End of file commands.log === Start of file ftp_server.log 17:50:31.586901 ====> Client connect 17:50:31.587141 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:31.587788 < "USER anonymous" 17:50:31.587826 > "331 We are happy you popped in![CR][LF]" 17:50:31.587997 < "PASS ftp@example.com" 17:50:31.588024 > "230 Welcome you silly person[CR][LF]" 17:50:31.588178 < "PWD" 17:50:31.588212 > "257 "/" is current directory[CR][LF]" 17:50:31.588387 < "EPSV" 17:50:31.588416 ====> Passive DATA channel requested by client 17:50:31.588432 DATA sockfilt for passive data channel starting... 17:50:31.594777 DATA sockfilt for passive data channel started (pid 134387) 17:50:31.594931 DATA sockfilt for passive data channel listens on port 45683 17:50:31.594993 > "229 Entering Passive Mode (|||45683|)[CR][LF]" 17:50:31.595014 Client has been notified that DATA conn will be accepted on port 45683 17:50:31.599673 Client connects to port 45683 17:50:31.599732 ====> Client established passive DATA connection on port 45683 17:50:31.599855 < "TYPE I" 17:50:31.599901 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:31.606982 < "SIZE verifiedserver" 17:50:31.607060 > "213 17[CR][LF]" 17:50:31.607245 < "RETR verifiedserver" 17:50:31.607284 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:31.607384 =====> Closing passive DATA connection... 17:50:31.607404 Server disconnects passive DATA connection 17:50:31.610114 Server disconnected passive DATA connection 17:50:31.610155 DATA sockfilt for passive data channel quits (pid 134387) 17:50:31.610478 DATA sockfilt for passive data channel quit (pid 134387) 17:50:31.610507 =====> Closed passive DATA connection 17:50:31.610543 > "226 File transfer complete[CR][LF]" 17:50:31.656916 < "QUIT" 17:50:31.656983 > "221 bye bye baby[CR][LF]" 17:50:31.664476 MAIN sockfilt said DISC 17:50:31.664552 ====> Client disconnected 17:50:31.664643 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:31.432937 ====> Client connect 17:50:31.433333 Received DATA (on stdin) 17:50:31.433348 > 146 bytes data, server => client 17:50:31.433359 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:31.433369 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:31.433378 '220 \___|\___/|_| \_\_____|\r\n' 17:50:31.433809 < 16 bytes data, client => server 17:50:31.433826 'USER anonymous\r\n' 17:50:31.434011 Received DATA (on stdin) 17:50:31.434023 > 33 bytes data, server => client 17:50:31.434034 '331 We are happy you popped in!\r\n' 17:50:31.434090 < 22 bytes data, client => server 17:50:31.434101 'PASS ftp@example.com\r\n' 17:50:31.434203 Received DATA (on stdin) 17:50:31.434214 > 30 bytes data, server => client 17:50:31.434223 '230 Welcome you silly person\r\n' 17:50:31.434271 < 5 bytes data, client => server 17:50:31.434283 'PWD\r\n' 17:50:31.434394 Received DATA (on stdin) 17:50:31.434405 > 30 bytes data, server => client 17:50:31.434416 '257 "/" is current directory\r\n' 17:50:31.434477 < 6 bytes data, client => server 17:50:31.434490 'EPSV\r\n' 17:50:31.442871 Received DATA (on stdin) 17:50:31.442897 > 39 bytes data, server => client 17:50:31.442908 '229 Entering Passive Mode (|||45683|)\r\n' 17:50:31.443048 < 8 bytes data, client => server 17:50:31.443062 'TYPE I\r\n' 17:50:31.446090 Received DATA (on stdin) 17:50:31.446108 > 33 bytes data, server => client 17:50:31.446120 '200 I modify TYPE as you wanted\r\n' 17:50:31.452957 < 21 bytes data, client => server 17:50:31.452999 'SIZE verifiedserver\r\n' 17:50:31.453252 Received DATA (on stdin) 17:50:31.453265 > 8 bytes data, server => client 17:50:31.453276 '213 17\r\n' 17:50:31.453334 < 21 bytes data, client => server 17:50:31.453348 'RETR verifiedserver\r\n' 17:50:31.453590 Received DATA (on stdin) 17:50:31.453602 > 29 bytes data, server => client 17:50:31.453613 '150 Binary junk (17 bytes).\r\n' 17:50:31.456733 Received DATA (on stdin) 17:50:31.456748 > 28 bytes data, server => client 17:50:31.456759 '226 File transfer complete\r\n' 17:50:31.502862 < 6 bytes data, client => server 17:50:31.502905 'QUIT\r\n' 17:50:31.503177 Received DATA (on stdin) 17:50:31.503194 > 18 bytes data, server => client 17:50:31.503208 '221 bye bye baby\r\n' 17:50:31.510558 ====> Client disconnect 17:50:31.510839 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:31.440530 Running IPv4 version 17:50:31.440639 Listening on port 45683 17:50:31.440680 Wrote pid 134387 to log/12/server/ftp_sockdata.pid 17:50:31.440889 Received PING (on stdin) 17:50:31.441004 Received PORT (on stdin) 17:50:31.445774 ====> Client connect 17:50:31.453683 Received DATA (on stdin) 17:50:31.453704 > 17 bytes data, server => client 17:50:31.453716 'WE ROOLZ: 81047\r\n' 17:50:31.456185 Received DISC (on stdin) 17:50:31.456214 ====> Client forcibly disconnected 17:50:31.456352 Received QUIT (on stdin) 17:50:31.456364 quits 17:50:31.456448 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1044 === End of file server.cmd === Start of file valgrind1044 ==134422== ==134422== Process terminating with default action of signal 4 (SIGILL) ==134422== Illegal opcode at address 0x4014520 ==134422== at 0x4014520: getparameter (tool_getparam.c:2862) ==134422== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134422== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134422== by 0x4003728: main (tool_main.c:186) === End of file valgrind1044 test 1041...[HTTP PUT with resume from end of already-uploaded 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/valgrind1041 ../src/curl -q --output log/18/curl1041.out --include --trace-ascii log/18/trace1041 --trace-time http://127.0.0.1:34067/1041 -Tlog/18/test1041.txt -C - > log/18/stdout1041 2> log/18/stderr1041 1041: 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 1041 === Start of file commands.log ../libtool --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/valgrind1041 ../src/curl -q --output log/18/curl1041.out --include --trace-ascii log/18/trace1041 --trace-time http://127.0.0.1:34067/1041 -Tlog/18/test1041.txt -C - > log/18/stdout1041 2> log/18/stderr1041 === End of file commands.log === Start of file http_server.log 17:50:30.863245 ====> ClCMD (33792): ../libtool --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/valgrind1045 ../src/curl -q --output log/1/curl1045.out --include --trace-ascii log/1/trace1045 --trace-time http://127.0.0.1:39589/1045 --interface 127.0.0.1 > log/1/stdout1045 2> log/1/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/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:34559/1057 > log/5/stdout1057 2> log/5/stderr1057 ient connect 17:50:30.863291 accept_connection 3 returned 4 17:50:30.863311 accept_connection 3 returned 0 17:50:30.863328 Read 93 bytes 17:50:30.863338 Process 93 bytes request 17:50:30.863352 Got request: GET /verifiedserver HTTP/1.1 17:50:30.863363 Are-we-friendly question received 17:50:30.863397 Wrote request (93 bytes) input to log/18/server.input 17:50:30.863416 Identifying ourselves as friends 17:50:30.863483 Response sent (56 bytes) and written to log/18/server.response 17:50:30.863494 special request received, no persistency 17:50:30.863503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === 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 ==134127== ==134127== Process terminating with default action of signal 4 (SIGILL) ==134127== Illegal opcode at address 0x4014520 ==134127== at 0x4014520: getparameter (tool_getparam.c:2862) ==134127== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134127== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134127== by 0x4003728: main (tool_main.c:186) === End of file valgrind1041 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/1/valgrind1045 ../src/curl -q --output log/1/curl1045.out --include --trace-ascii log/1/trace1045 --trace-time http://127.0.0.1:39589/1045 --interface 127.0.0.1 > log/1/stdout1045 2> log/1/stderr1045 1045: 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 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/1/valgrind1045 ../src/curl -q --output log/1/curl1045.out --include --trace-ascii log/1/trace1045 --trace-time http://127.0.0.1:39589/1045 --interface 127.0.0.1 > log/1/stdout1045 2> log/1/stderr1045 === End of file commands.log === Start of file http_server.log 17:50:31.441234 ====> Client connect 17:50:31.441269 accept_connection 3 returned 4 17:50:31.441286 accept_connection 3 returned 0 17:50:31.441300 Read 93 bytes 17:50:31.441310 Process 93 bytes request 17:50:31.441324 Got request: GET /verifiedserver HTTP/1.1 17:50:31.441333 Are-we-friendly question received 17:50:31.441358 Wrote request (93 bytes) input to log/1/server.input 17:50:31.441374 Identifying ourselves as friends 17:50:31.441431 Response sent (56 bytes) and written to log/1/server.response 17:50:31.441440 special request received, no persistency 17:50:31.441449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 59404 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind1045 ==134394== ==134394== Process terminating with default action of signal 4 (SIGILL) ==134394== Illegal opcode at address 0x4014520 ==134394== at 0x4014520: getparameter (tool_getparam.c:2862) ==134394== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134394== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134394== by 0x4003728: main (tool_main.c:186) === End of file valgrind1045 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:34559/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:34559/1057 > log/5/stdout1057 2> log/5/stderr1057 === End of file commands.log === Start of file ftp_server.log 17:50:32.388129 ====> Client connect 17:50:32.388330 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:32.388609 < "USER anonymous" 17:50:32.388642 > "331 We are happy you popped in![CR][LF]" 17:50:32.389071 < "PASS ftp@example.com" 17:50:32.389099 > "230 Welcome you silly person[CR][LF]" 17:50:32.389244 < "PWD" 17:50:32.389275 > "257 "/" is current directory[CR][LF]" 17:50:32.389418 < "EPSV" 17:50:32.389443 ====> Passive DATA channel requested by client 17:50:32.389457 DATA sockfilt for passive data channel starting... 17:50:32.394762 DATA sockfilt for passive data channel started (pid 134855) 17:50:32.394894 DATA sockfilt for passive data channel listens on port 42765 17:50:32.394938 > "229 Entering Passive Mode (|||42765|)[CR][LF]" 17:50:32.394956 Client has been notified that DATA conn will be accepted on port 42765 17:50:32.400171 Client connects to port 42765 17:50:32.400218 ====> Client established passive DATA connection on port 42765 17:50:32.400318 < "TYPE I" 17:50:32.400356 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:32.400531 < "SIZE verifiedserver" 17:50:32.400573 > "213 17[CR][LF]" 17:50:32.400714 < "RETR verifiedserver" 17:50:32.400748 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:32.400834 =====> Closing passive DATA connection... 17:50:32.400850 Server disconnects passive DATA connection 17:50:32.401079 Server disconnected passive DATA connection 17:50:32.401105 DATA sockfilt for passive data channel quits (pid 134855) 17:50:32.401389 DATA sockfilt for passive data channel quit (pid 134855) 17:50:32.401413 =====> Closed passive DATA connection 17:50:32.401439 > "226 File transfer complete[CR][LF]" 17:50:32.446922 < "QUIT" 17:50:32.446979 > "221 bye bye baby[CR][LF]" 17:50:32.448366 MAIN sockfilt said DISC 17:50:32.448410 ====> Client disconnected 17:50:32.448480 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:32.234191 ====> Client connect 17:50:32.234525 Received DATA (on stdin) 17:50:32.234539 > 146 bytes data, server => client 17:50:32.234550 '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/valgrind1047 ../src/curl -q --output log/19/curl1047.out --include --trace-ascii log/19/trace1047 --trace-time ftp://127.0.0.1:40075/ --interface 127.0.0.1 > log/19/stdout1047 2> log/19/stderr1047 _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:32.234560 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:32.234568 '220 \___|\___/|_| \_\_____|\r\n' 17:50:32.234645 < 16 bytes data, client => server 17:50:32.234656 'USER anonymous\r\n' 17:50:32.234824 Received DATA (on stdin) 17:50:32.234835 > 33 bytes data, server => client 17:50:32.234844 '331 We are happy you popped in!\r\n' 17:50:32.234892 < 22 bytes data, client => server 17:50:32.234901 'PASS ftp@example.com\r\n' 17:50:32.235279 Received DATA (on stdin) 17:50:32.235290 > 30 bytes data, server => client 17:50:32.235300 '230 Welcome you silly person\r\n' 17:50:32.235347 < 5 bytes data, client => server 17:50:32.235357 'PWD\r\n' 17:50:32.235452 Received DATA (on stdin) 17:50:32.235462 > 30 bytes data, server => client 17:50:32.235471 '257 "/" is current directory\r\n' 17:50:32.235524 < 6 bytes data, client => server 17:50:32.235534 'EPSV\r\n' 17:50:32.245385 Received DATA (on stdin) 17:50:32.245407 > 39 bytes data, server => client 17:50:32.245418 '229 Entering Passive Mode (|||42765|)\r\n' 17:50:32.246133 < 8 bytes data, client => server 17:50:32.246258 'TYPE I\r\n' 17:50:32.246540 Received DATA (on stdin) 17:50:32.246553 > 33 bytes data, server => client 17:50:32.246562 '200 I modify TYPE as you wanted\r\n' 17:50:32.246626 < 21 bytes data, client => server 17:50:32.246636 'SIZE verifiedserver\r\n' 17:50:32.246752 Received DATA (on stdin) 17:50:32.246762 > 8 bytes data, server => client 17:50:32.246770 '213 17\r\n' 17:50:32.246817 < 21 bytes data, client => server 17:50:32.246826 'RETR verifiedserver\r\n' 17:50:32.247032 Received DATA (on stdin) 17:50:32.247042 > 29 bytes data, server => client 17:50:32.247052 '150 Binary junk (17 bytes).\r\n' 17:50:32.247621 Received DATA (on stdin) 17:50:32.247632 > 28 bytes data, server => client 17:50:32.247642 '226 File transfer complete\r\n' 17:50:32.292937 < 6 bytes data, client => server 17:50:32.292962 'QUIT\r\n' 17:50:32.293167 Received DATA (on stdin) 17:50:32.293180 > 18 bytes data, server => client 17:50:32.293191 '221 bye bye baby\r\n' 17:50:32.294484 ====> Client disconnect 17:50:32.294662 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:32.237923 Running IPv4 version 17:50:32.237975 Listening on port 42765 17:50:32.238010 Wrote pid 134855 to log/5/server/ftp_sockdata.pid 17:50:32.240238 Received PING (on stdin) 17:50:32.240981 Received PORT (on stdin) 17:50:32.246293 ====> Client connect 17:50:32.247106 Received DATA (on stdin) 17:50:32.247120 > 17 bytes data, server => client 17:50:32.247129 'WE ROOLZ: 81078\r\n' 17:50:32.247154 Received DISC (on stdin) 17:50:32.247164 ====> Client forcibly disconnected 17:50:32.247292 Received QUIT (on stdin) 17:50:32.247302 quits 17:50:32.247350 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1057 === End of file server.cmd === Start of file valgrind1057 ==134982== ==134982== Process terminating with default action of signal 4 (SIGILL) ==134982== Illegal opcode at address 0x4014520 ==134982== at 0x4014520: getparameter (tool_getparam.c:2862) ==134982== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134982== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134982== by 0x4003728: main (tool_main.c:186) === End of file valgrind1057 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/19/valgrind1047 ../src/curl -q --output log/19/curl1047.out --include --trace-ascii log/19/trace1047 --trace-time ftp://127.0.0.1:40075/ --interface 127.0.0.1 > log/19/stdout1047 2> log/19/stderr1047 1047: 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 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/19/valgrind1047 ../src/curl -q --output log/19/curl1047.out --include --trace-ascii log/19/trace1047 --trace-time ftp://127.0.0.1:40075/ --interface 127.0.0.1 > log/19/stdout1047 2> log/19/stderr1047 === End of file commands.log === Start of file ftp_server.log 17:50:31.980039 ====> Client connect 17:50:31.980231 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:31.986858 < "USER anonymous" 17:50:31.986945 > "331 We are happy you popped in![CR][LF]" 17:50:31.987189 < "PASS ftp@example.com" 17:50:31.987217 > "230 Welcome you silly person[CR][LF]" 17:50:31.987376 < "PWD" 17:50:31.987409 > "257 "/" is current directory[CR][LF]" 17:50:31.987580 < "EPSV" 17:50:31.987609 ====> Passive DATA channel requested by client 17:50:31.987625 DATA sockfilt for passive data channel starting... 17:50:31.991672 DATA sockfilt for passive data channel started (pid 134541) 17:50:31.991816 DATA sockfilt for passive data channel listens on port 35953 17:50:31.991873 > "229 Entering Passive Mode (|||35953|)[CR][LF]" 17:50:31.991895 Client has been notified that DATA conn will be accepted on port 35953 17:50:31.992227 Client connects to port 35953 17:50:31.992260 ====> Client established passive DATA connection on port 35953 17:50:31.992357 < "TYPE I" 17:50:31.992394 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:31.992569 < "SIZE verifiedserver" 17:50:31.992612 > "213 17[CR][LF]" 17:50:31.992776 < "RETR verifiedserver" 17:50:31.992816 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:31.992907 =====> Closing passive DATA connection... 17:50:31.992926 Server disconnects passive DATA connection 17:50:31.993183 Server disconnected passive DATA connection 17:50:31.993214 DATA sockfilt for passive data channel quits (pid 134541) 17:50:31.993473 DATA sockfilt for passive data channel quit (pid 134541) 17:50:31.993503 =====> Closed passive DATA connection 17:50:31.993536 > "226 File transfer complete[CR][LF]" 17:50:32.036921 < "QUIT" 17:50:32.036982 > "221 bye bye baby[CR][LF]" 17:50:32.038273 MAIN sockfilt said DISC 17:50:32.038316 ====> Client disconnected 17:50:32.038408 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:31.819529 ====> Client connect 17:50:31.829520 Received DATA (on stdin) 17:50:31.829556 > 146 bytes data, server => client 17:50:31.829569 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:31.829578 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:31.829587 '220 \___|\___/|_| \_\_____|\r\n' 17:50:31.829705 < 16 bytes data, client => server 17:50:31.829720 'USER anonymous\r\n' 17:50:31.833137 Received DATA (on stdin) 17:50:31.833155 > 33 bytes data, server => client 17:50:31.833166 '331 We are happy you popped in!\r\n' 17:50:31.833270 < 22 bytes data, client => server 17:50:31.833282 'PASS ftp@example.com\r\n' 17:50:31.833399 Received DATA (on stdin) 17:50:31.833410 > 30 bytes data, server => client 17:50:31.833421 '230 Welcome you silly person\r\n' 17:50:31.833470 < 5 bytes data, client => server 17:50:31.833481 'PWD\r\n' 17:50:31.833591 Received DATA (on stdin) 17:50:31.833603 > 30 bytes data, server => client 17:50:31.833612 '257 "/" is current directory\r\n' 17:50:31.833673 < 6 bytes data, client => server 17:50:31.833684 'EPSV\r\n' 17:50:31.838091 Received DATA (on stdin) 17:50:31.838111 > 39 bytes data, server => client 17:50:31.838122 '229 Entering Passive Mode (|||35953|)\r\n' 17:50:31.838322 < 8 bytes data, client => server 17:50:31.838339 'TYPE I\r\n' 17:50:31.838578 Received DATA (on stdin) 17:50:31.838590 > 33 bytes data, server => client 17:50:31.838601 '200 I modify TYPE as you wanted\r\n' 17:50:31.838656 < 21 bytes data, client => server 17CMD (33792): ../libtool --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/valgrind1048 ../src/curl -q --output log/22/curl1048.out --include --trace-ascii log/22/trace1048 --trace-time -g "ftp://[::1]:40409/" --interface ::1 > log/22/stdout1048 2> log/22/stderr1048 :50:31.838669 'SIZE verifiedserver\r\n' 17:50:31.838795 Received DATA (on stdin) 17:50:31.838807 > 8 bytes data, server => client 17:50:31.838818 '213 17\r\n' 17:50:31.838869 < 21 bytes data, client => server 17:50:31.838881 'RETR verifiedserver\r\n' 17:50:31.839112 Received DATA (on stdin) 17:50:31.839125 > 29 bytes data, server => client 17:50:31.839136 '150 Binary junk (17 bytes).\r\n' 17:50:31.839720 Received DATA (on stdin) 17:50:31.839733 > 28 bytes data, server => client 17:50:31.839743 '226 File transfer complete\r\n' 17:50:31.882886 < 6 bytes data, client => server 17:50:31.882935 'QUIT\r\n' 17:50:31.883172 Received DATA (on stdin) 17:50:31.883185 > 18 bytes data, server => client 17:50:31.883196 '221 bye bye baby\r\n' 17:50:31.884392 ====> Client disconnect 17:50:31.884599 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:31.837458 Running IPv4 version 17:50:31.837553 Listening on port 35953 17:50:31.837596 Wrote pid 134541 to log/19/server/ftp_sockdata.pid 17:50:31.837781 Received PING (on stdin) 17:50:31.837894 Received PORT (on stdin) 17:50:31.838359 ====> Client connect 17:50:31.839195 Received DATA (on stdin) 17:50:31.839210 > 17 bytes data, server => client 17:50:31.839221 'WE ROOLZ: 81054\r\n' 17:50:31.839246 Received DISC (on stdin) 17:50:31.839258 ====> Client forcibly disconnected 17:50:31.839406 Received QUIT (on stdin) 17:50:31.839418 quits 17:50:31.839494 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1047 === End of file server.cmd === Start of file valgrind1047 ==134556== ==134556== Process terminating with default action of signal 4 (SIGILL) ==134556== Illegal opcode at address 0x4014520 ==134556== at 0x4014520: getparameter (tool_getparam.c:2862) ==134556== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134556== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134556== by 0x4003728: main (tool_main.c:186) === End of file valgrind1047 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/22/valgrind1048 ../src/curl -q --output log/22/curl1048.out --include --trace-ascii log/22/trace1048 --trace-time -g "ftp://[::1]:40409/" --interface ::1 > log/22/stdout1048 2> log/22/stderr1048 1048: 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 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/22/valgrind1048 ../src/curl -q --output log/22/curl1048.out --include --trace-ascii log/22/trace1048 --trace-time -g "ftp://[::1]:40409/" --interface ::1 > log/22/stdout1048 2> log/22/stderr1048 === End of file commands.log === Start of file ftp_ipv6_server.log 17:50:31.973363 ====> Client connect 17:50:31.973585 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:31.973973 < "USER anonymous" 17:50:31.974017 > "331 We are happy you popped in![CR][LF]" 17:50:31.974208 < "PASS ftp@example.com" 17:50:31.974243 > "230 Welcome you silly person[CR][LF]" 17:50:31.974420 < "PWD" 17:50:31.974458 > "257 "/" is current directory[CR][LF]" 17:50:31.974652 < "EPSV" 17:50:31.974686 ====> Passive DATA channel requested by client 17:50:31.974703 DATA sockfilt for passive data channel starting... 17:50:31.981156 DATA sockfilt for passive data channel started (pid 134539) 17:50:31.981290 DATA sockfilt for passive data channel listens on port 45423 17:50:31.981346 > "229 Entering Passive Mode (|||45423|)[CR][LF]" 17:50:31.981364 Client has been notified that DATA conn will be accepted on port 45423 17:50:31.981665 Client connects to port 45423 17:50:31.981693 ====> Client established passive DATA connection on port 45423 17:50:31.981786 < "TYPE I" 17:50:31.981818 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:31.981968 < "SIZE verifiedserver" 17:50:31.982010 > "213 17[CR][LF]" 17:50:31.982157 < "RETR verifiedserver" 17:50:31.982189 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:31.982269 =====> Closing passive DATA connection... 17:50:31.982286 Server disconnects passive DATA connection 17:50:31.982433 Server disconnected passive DATA connection 17:50:31.982454 DATA sockfilt for passive data channel quits (pid 134539) 17:50:31.982856 DATA sockfilt for passive data channel quit (pid 134539) 17:50:31.982882 =====> Closed passive DATA connection 17:50:31.982917 > "226 File transfer complete[CR][LF]" 17:50:32.028192 < "QUIT" 17:50:32.028248 > "221 bye bye baby[CR][LF]" 17:50:32.029360 MAIN sockfilt said DISC 17:50:32.029399 ====> Client disconnected 17:50:32.029487 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 17:50:31.816196 ====> Client connect 17:50:31.819786 Received DATA (on stdin) 17:50:31.819806 > 146 bytes data, server => client 17:50:31.819819 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:31.819830 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:31.819840 '220 \___|\___/|_| \_\_____|\r\n' 17:50:31.819972 < 16 bytes data, client => server 17:50:31.819988 'USER anonymous\r\n' 17:50:31.820205 Received DATA (on stdin) 17:50:31.820218 > 33 bytes data, server => client 17:50:31.820228 '331 We are happy you popped in!\r\n' 17:50:31.820286 < 22 bytes data, client => server 17:50:31.820300 'PASS ftp@example.com\r\n' 17:50:31.820428 Received DATA (on stdin) 17:50:31.820441 > 30 bytes data, server => client 17:50:31.820452 '230 Welcome you silly person\r\n' 17:50:31.820507 < 5 bytes data, client => server 17:50:31.820520 'PWD\r\n' 17:50:31.820644 Received DATA (on stdin) 17:50:31.820656 > 30 bytes data, server => client 17:50:31.820668 '257 "/" is current directory\r\n' 17:50:31.820734 < 6 bytes data, client => server 17:50:31.820749 'EPSV\r\n' 17:50:31.827555 Received DATA (on stdin) 17:50:31.827572 > 39 bytes data, server => client 17:50:31.827583 '229 Entering Passive Mode (|||45423|)\r\n' 17:50:31.827770 < 8 bytes data, client => server 17:50:31.827783 'TYPE I\r\n' 17:50:31.827999 Received DATA (on stdin) 17:50:31.828011 > 33 bytes data, server => client 17:50:31.828021 '200 I modify TYPE as you wanted\r\n' 17:50:31.828069 < 21 bytes data, client => server 17:50:31.828079 'SIZE verifiedserver\r\n' 17:50:31.828191 Received DATA (on stdin) 17:50:31.828202 > 8 bytes data, server => client 17:50:31.828212 '213 17\r\n' 17:50:31.828257 < 21 bytes data, client => server 17:50:31.828267 'RETR verifiedserver\r\n' 17:50:31.828467 Received DATA (on stdin) 17:50:31.828478 > 29 bytes data, server => client 17:50:31.828488 '150 Binary junk (17 bytes).\r\n' 17:50:31.829100 Received DATA (on stdin) 17:50:31.829112 > 28 bytes data, server => client 17:50:31.829122 '226 File transfer complete\r\n' 17:50:31.874173 < 6 bytes data, client => server 17:50:31.874207 'QUIT\r\n' 17:50:31.874432 Received DATA (on stdin) 17:50:31.874444 > 18 bytes data, server => client 17:50:31.874454 '221 bye bye baby\r\n' 17:50:31.874915 ====> Client disconnect 17:50:31.875670 Received ACKD (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file ftp_ipv6_sockdata.log 17:50:31.826966 Running IPv6 version 17:50:31.827060 Listening on port 45423 17:50:31.827099 Wrote pid 134539 to log/22/server/ftp_ipv6_sockdata.pid 17:50:31.827279 Received PING (on stdin) 17:50:31.827373 Received PORT (on stdin) 17:50:31.827802 ====> Client connect 17:50:31.828511 Received DATA (on stdin) 17:50:31.828522 > 17 bytes data, server => client 17:50:31.828533 'WE ROOLZ: 90823\r\n' 17:50:31.828555 Received DISC (on stdin) 17:50:31.828565 ====> ClienCMD (33792): ../libtool --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/valgrind1059 ../src/curl -q --output log/15/curl1059.out --include --trace-ascii log/15/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:41057 > log/15/stdout1059 2> log/15/stderr1059 CMD (33792): ../libtool --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/valgrind1053 ../src/curl -q --output log/14/curl1053.out --include --trace-ascii log/14/trace1053 --trace-time http://127.0.0.1:37569/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/14/test1053.txt > log/14/stdout1053 2> log/14/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/8/valgrind1051 ../src/curl -q --output log/8/curl1051.out --include --trace-ascii log/8/trace1051 --trace-time http://127.0.0.1:42045/want/1051 -L -T log/8/test1051.txt > log/8/stdout1051 2> log/8/stderr1051 CMD (33792): ../libtool --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/valgrind1056 ../src/curl -q --output log/24/curl1056.out --include --trace-ascii log/24/trace1056 --trace-time http://127.0.0.1:39649/we/are/all/twits/1056 -L > log/24/stdout1056 2> log/24/stderr1056 t forcibly disconnected 17:50:31.828640 Received QUIT (on stdin) 17:50:31.828649 quits 17:50:31.828865 ============> sockfilt quits === End of file ftp_ipv6_sockdata.log === Start of file server.cmd Testnum 1048 === End of file server.cmd === Start of file valgrind1048 ==134544== ==134544== Process terminating with default action of signal 4 (SIGILL) ==134544== Illegal opcode at address 0x4014520 ==134544== at 0x4014520: getparameter (tool_getparam.c:2862) ==134544== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134544== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134544== by 0x4003728: main (tool_main.c:186) === End of file valgrind1048 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/15/valgrind1059 ../src/curl -q --output log/15/curl1059.out --include --trace-ascii log/15/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:41057 > log/15/stdout1059 2> log/15/stderr1059 1059: 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 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/15/valgrind1059 ../src/curl -q --output log/15/curl1059.out --include --trace-ascii log/15/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:41057 > log/15/stdout1059 2> log/15/stderr1059 === End of file commands.log === Start of file http_server.log 17:50:32.369564 ====> Client connect 17:50:32.369606 accept_connection 3 returned 4 17:50:32.369624 accept_connection 3 returned 0 17:50:32.369639 Read 93 bytes 17:50:32.369649 Process 93 bytes request 17:50:32.369663 Got request: GET /verifiedserver HTTP/1.1 17:50:32.369672 Are-we-friendly question received 17:50:32.369699 Wrote request (93 bytes) input to log/15/server.input 17:50:32.369717 Identifying ourselves as friends 17:50:32.369784 Response sent (56 bytes) and written to log/15/server.response 17:50:32.369795 special request received, no persistency 17:50:32.369804 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 41578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1059 ==135124== ==135124== Process terminating with default action of signal 4 (SIGILL) ==135124== Illegal opcode at address 0x4014520 ==135124== at 0x4014520: getparameter (tool_getparam.c:2862) ==135124== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135124== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135124== by 0x4003728: main (tool_main.c:186) === End of file valgrind1059 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/14/valgrind1053 ../src/curl -q --output log/14/curl1053.out --include --trace-ascii log/14/trace1053 --trace-time http://127.0.0.1:37569/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/14/test1053.txt > log/14/stdout1053 2> log/14/stderr1053 1053: 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 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/14/valgrind1053 ../src/curl -q --output log/14/curl1053.out --include --trace-ascii log/14/trace1053 --trace-time http://127.0.0.1:37569/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/14/test1053.txt > log/14/stdout1053 2> log/14/stderr1053 === End of file commands.log === Start of file http_server.log 17:50:33.087669 ====> Client connect 17:50:33.087704 accept_connection 3 returned 4 17:50:33.087720 accept_connection 3 returned 0 17:50:33.087734 Read 93 bytes 17:50:33.087744 Process 93 bytes request 17:50:33.087757 Got request: GET /verifiedserver HTTP/1.1 17:50:33.087765 Are-we-friendly question received 17:50:33.087791 Wrote request (93 bytes) input to log/14/server.input 17:50:33.087808 Identifying ourselves as friends 17:50:33.087878 Response sent (56 bytes) and written to log/14/server.response 17:50:33.087887 special request received, no persistency 17:50:33.087894 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 38140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === 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 ==134736== ==134736== Process terminating with default action of signal 4 (SIGILL) ==134736== Illegal opcode at address 0x4014520 ==134736== at 0x4014520: getparameter (tool_getparam.c:2862) ==134736== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134736== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134736== by 0x4003728: main (tool_main.c:186) === End of file valgrind1053 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/8/valgrind1051 ../src/curl -q --output log/8/curl1051.out --include --trace-ascii log/8/trace1051 --trace-time http://127.0.0.1:42045/want/1051 -L -T log/8/test1051.txt > log/8/stdout1051 2> log/8/stderr1051 1051: 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 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/8/valgrind1051 ../src/curl -q --output log/8/curl1051.out --include --trace-ascii log/8/trace1051 --trace-time http://127.0.0.1:42045/want/1051 -L -T log/8/test1051.txt > log/8/stdout1051 2> log/8/stderr1051 === End of file commands.log === Start of file http_server.log 17:50:32.009559 ====> Client connect 17:50:32.009597 accept_connection 3 returned 4 17:50:32.009614 accept_connection 3 returned 0 17:50:32.009629 Read 93 bytes 17:50:32.009639 Process 93 bytes request 17:50:32.009651 Got request: GET /verifiedserver HTTP/1.1 17:50:32.009658 Are-we-friendly quesCMD (33792): ../libtool --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/valgrind1054 ../src/curl -q --output log/9/curl1054.out --include --trace-ascii log/9/trace1054 --trace-time http://127.0.0.1:37413/blah/1054 -L -d @log/9/test1054.txt --post301 > log/9/stdout1054 2> log/9/stderr1054 tion received 17:50:32.009686 Wrote request (93 bytes) input to log/8/server.input 17:50:32.009704 Identifying ourselves as friends 17:50:32.009776 Response sent (56 bytes) and written to log/8/server.response 17:50:32.009787 special request received, no persistency 17:50:32.009795 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === 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 ==134689== ==134689== Process terminating with default action of signal 4 (SIGILL) ==134689== Illegal opcode at address 0x4014520 ==134689== at 0x4014520: getparameter (tool_getparam.c:2862) ==134689== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134689== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134689== by 0x4003728: main (tool_main.c:186) === End of file valgrind1051 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/24/valgrind1056 ../src/curl -q --output log/24/curl1056.out --include --trace-ascii log/24/trace1056 --trace-time http://127.0.0.1:39649/we/are/all/twits/1056 -L > log/24/stdout1056 2> log/24/stderr1056 1056: 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 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/24/valgrind1056 ../src/curl -q --output log/24/curl1056.out --include --trace-ascii log/24/trace1056 --trace-time http://127.0.0.1:39649/we/are/all/twits/1056 -L > log/24/stdout1056 2> log/24/stderr1056 === End of file commands.log === Start of file http_ipv6_server.log 17:50:32.325266 ====> Client connect 17:50:32.325307 accept_connection 3 returned 4 17:50:32.325324 accept_connection 3 returned 0 17:50:32.328146 Read 89 bytes 17:50:32.328171 Process 89 bytes request 17:50:32.328199 Got request: GET /verifiedserver HTTP/1.1 17:50:32.328208 Are-we-friendly question received 17:50:32.328220 Wrote request (89 bytes) input to log/24/server.input 17:50:32.328242 Identifying ourselves as friends 17:50:32.328296 Response sent (56 bytes) and written to log/24/server.response 17:50:32.328307 special request received, no persistency 17:50:32.328315 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:39387... * Established connection to ::1 (::1 port 39387) from ::1 port 36086 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:39387 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host ::1:39387 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 90172 === End of file http_ipv6_verify.out === Start of file http_server.log 17:50:32.245739 ====> Client connect 17:50:32.245780 accept_connection 3 returned 4 17:50:32.245798 accept_connection 3 returned 0 17:50:32.247785 Read 93 bytes 17:50:32.247803 Process 93 bytes request 17:50:32.247815 Got request: GET /verifiedserver HTTP/1.1 17:50:32.247824 Are-we-friendly question received 17:50:32.247854 Wrote request (93 bytes) input to log/24/server.input 17:50:32.247869 Identifying ourselves as friends 17:50:32.247918 Response sent (56 bytes) and written to log/24/server.response 17:50:32.247928 special request received, no persistency 17:50:32.247936 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 36986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 90172 === End of file server.response === Start of file valgrind1056 ==135015== ==135015== Process terminating with default action of signal 4 (SIGILL) ==135015== Illegal opcode at address 0x4014520 ==135015== at 0x4014520: getparameter (tool_getparam.c:2862) ==135015== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135015== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135015== by 0x4003728: main (tool_main.c:186) === End of file valgrind1056 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/9/valgrind1054 ../src/curl -q --output log/9/curl1054.out --include --trace-ascii log/9/trace1054 --trace-time http://127.0.0.1:37413/blah/1054 -L -d @log/9/test1054.txt --post301 > log/9/stdout1054 2> log/9/stderr1054 1054: 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 1054 === Start of file commands.log ../libtool --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/valgrind1054 ../src/curl -q --output log/9/curl1054.out --include --trace-ascii log/9/trace1054 --trace-time http://127.0.0.1:37413/blah/1054 -L -d @log/9/test1054.txt --post301 > log/9/stdout1054 2> log/9/stderr1054 === End of file commands.log === Start of file http_server.log 17:50:32.192900 ====> Client connect 17:50:32.192935 accept_connection 3 returned 4 17:50:32.192950 accept_connection 3 returned 0 17:50:32.192964 Read 93 bytes 17:50:32.192972 Process 93 bytes request 17:50:32.192983 Got request: GET /verifiedserver HTTP/1.1 17:50:32.192991 Are-we-friendly question received 17:50:32.193012 Wrote request (93 bytes) input to log/9/server.input 17:50:32.193027 Identifying ourselves as friends 17:50:32.193086 Response sent (56 bytes) and written to log/9/server.response 17:50:32.193094 special request received, no persistency 17:50:32.193102 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 36642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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/17/valgrind1055 ../src/curl -q --output log/17/curl1055.out --include --trace-ascii log/17/trace1055 --trace-time http://127.0.0.1:44593/1055 -L -T log/17/test1055.txt > log/17/stdout1055 2> log/17/stderr1055 ile 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: 74974 === End of file server.response === Start of file test1054.txt field=data === End of file test1054.txt === Start of file valgrind1054 ==134885== ==134885== Process terminating with default action of signal 4 (SIGILL) ==134885== Illegal opcode at address 0x4014520 ==134885== at 0x4014520: getparameter (tool_getparam.c:2862) ==134885== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134885== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134885== by 0x4003728: main (tool_main.c:186) === End of file valgrind1054 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/17/valgrind1055 ../src/curl -q --output log/17/curl1055.out --include --trace-ascii log/17/trace1055 --trace-time http://127.0.0.1:44593/1055 -L -T log/17/test1055.txt > log/17/stdout1055 2> log/17/stderr1055 1055: 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 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/17/valgrind1055 ../src/curl -q --output log/17/curl1055.out --include --trace-ascii log/17/trace1055 --trace-time http://127.0.0.1:44593/1055 -L -T log/17/test1055.txt > log/17/stdout1055 2> log/17/stderr1055 === End of file commands.log === Start of file ftp_server.log 17:50:32.430177 ====> Client connect 17:50:32.430383 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:32.436927 < "USER anonymous" 17:50:32.436995 > "331 We are happy you popped in![CR][LF]" 17:50:32.437232 < "PASS ftp@example.com" 17:50:32.437263 > "230 Welcome you silly person[CR][LF]" 17:50:32.437434 < "PWD" 17:50:32.437470 > "257 "/" is current directory[CR][LF]" 17:50:32.437655 < "EPSV" 17:50:32.437686 ====> Passive DATA channel requested by client 17:50:32.437702 DATA sockfilt for passive data channel starting... 17:50:32.445682 DATA sockfilt for passive data channel started (pid 134937) 17:50:32.445857 DATA sockfilt for passive data channel listens on port 34049 17:50:32.445930 > "229 Entering Passive Mode (|||34049|)[CR][LF]" 17:50:32.445959 Client has been notified that DATA conn will be accepted on port 34049 17:50:32.446308 Client connects to port 34049 17:50:32.446344 ====> Client established passive DATA connection on port 34049 17:50:32.446467 < "TYPE I" 17:50:32.446517 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:32.446751 < "SIZE verifiedserver" 17:50:32.446799 > "213 17[CR][LF]" 17:50:32.446971 < "RETR verifiedserver" 17:50:32.447008 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:32.447109 =====> Closing passive DATA connection... 17:50:32.447128 Server disconnects passive DATA connection 17:50:32.447382 Server disconnected passive DATA connection 17:50:32.447412 DATA sockfilt for passive data channel quits (pid 134937) 17:50:32.447645 DATA sockfilt for passive data channel quit (pid 134937) 17:50:32.447670 =====> Closed passive DATA connection 17:50:32.447700 > "226 File transfer complete[CR][LF]" 17:50:32.493938 < "QUIT" 17:50:32.494003 > "221 bye bye baby[CR][LF]" 17:50:32.495293 MAIN sockfilt said DISC 17:50:32.495345 ====> Client disconnected 17:50:32.540230 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:32.276198 ====> Client connect 17:50:32.276586 Received DATA (on stdin) 17:50:32.276603 > 146 bytes data, server => client 17:50:32.276615 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:32.276626 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:32.276636 '220 \___|\___/|_| \_\_____|\r\n' 17:50:32.282863 < 16 bytes data, client => server 17:50:32.282909 'USER anonymous\r\n' 17:50:32.283186 Received DATA (on stdin) 17:50:32.283200 > 33 bytes data, server => client 17:50:32.283210 '331 We are happy you popped in!\r\n' 17:50:32.283314 < 22 bytes data, client => server 17:50:32.283329 'PASS ftp@example.com\r\n' 17:50:32.283446 Received DATA (on stdin) 17:50:32.283458 > 30 bytes data, server => client 17:50:32.283468 '230 Welcome you silly person\r\n' 17:50:32.283521 < 5 bytes data, client => server 17:50:32.283535 'PWD\r\n' 17:50:32.283654 Received DATA (on stdin) 17:50:32.283667 > 30 bytes data, server => client 17:50:32.283678 '257 "/" is current directory\r\n' 17:50:32.283744 < 6 bytes data, client => server 17:50:32.283758 'EPSV\r\n' 17:50:32.292158 Received DATA (on stdin) 17:50:32.292178 > 39 bytes data, server => client 17:50:32.292189 '229 Entering Passive Mode (|||34049|)\r\n' 17:50:32.292395 < 8 bytes data, client => server 17:50:32.292414 'TYPE I\r\n' 17:50:32.292713 Received DATA (on stdin) 17:50:32.292729 > 33 bytes data, server => client 17:50:32.292740 '200 I modify TYPE as you wanted\r\n' 17:50:32.292807 < 21 bytes data, client => server 17:50:32.292836 'SIZE verifiedserver\r\n' 17:50:32.292983 Received DATA (on stdin) 17:50:32.292994 > 8 bytes data, server => client 17:50:32.293004 '213 17\r\n' 17:50:32.293060 < 21 bytes data, client => server 17:50:32.293072 'RETR verifiedserver\r\n' 17:50:32.293312 Received DATA (on stdin) 17:50:32.293324 > 29 bytes data, server => client 17:50:32.293334 '150 Binary junk (17 bytes).\r\n' 17:50:32.293882 Received DATA (on stdin) 17:50:32.293894 > 28 bytes data, server => client 17:50:32.293904 '226 File transfer complete\r\n' 17:50:32.339731 < 6 bytes data, client => server 17:50:32.339766 'QUIT\r\n' 17:50:32.340199 Received DATA (on stdin) 17:50:32.340216 > 18 bytes data, server => client 17:50:32.340228 '221 bye bye baby\r\n' 17:50:32.340319 ====> Client disconnect 17:50:32.341554 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:32.290368 Running IPv4 version 17:50:32.290456 Listening on port 34049 17:50:32.290507 Wrote pid 134937 to log/17/server/ftp_sockdata.pid 17:50:32.291783 Received PING (on stdin) 17:50:32.291918 Received PORT (on stdin) 17:50:32.292439 ====> Client connect 17:50:32.293392 Received DATA (on stdin) 17:50:32.293406 > 17 bytes data, server => client 17:50:32.293416 'WE ROOLZ: 95543\r\n' 17:50:32.293442 Received DISC (on stdin) 17:50:32.293453 ====> Client forcibly disconnected 17:50:32.293604 Received QUIT (on stdin) 17:50:32.293615 quits 17:50:32.293688 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 17:50:32.212964 ====> Client connect 17:50:32.213022 accept_connection 3 returned 4 17:50:32.213045 accept_connection 3 returned 0 17:50:32.213063 Read 93 bytes 17:50:32.213074 Process 93 bytes request 17:50:32.213089 Got request: GET /verifiedserver HTTP/1.1 17:50:32.213099 Are-we-friendly question received 17:50:32.213131 Wrote request (93 bytes) input to log/17/server.input 17:50:32.213151 Identifying ourselves as friends 17:50:32.213239 Response sent (56 bytes) and written to log/17/server.response 17:50:32.213253 special request received, no persistency 17:50:32.213262 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 60198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out 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/3/valgrind1062 ../src/curl -q --output log/3/curl1062.out --include --trace-ascii log/3/trace1062 --trace-time ftp://127.0.0.1:35383/path/1062 > log/3/stdout1062 2> log/3/stderr1062 ROOLZ: 74818 === End of file http_verify.out === Start of file server.cmd Testnum 1055 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74818 === 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 ==135129== ==135129== Process terminating with default action of signal 4 (SIGILL) ==135129== Illegal opcode at address 0x4014520 ==135129== at 0x4014520: getparameter (tool_getparam.c:2862) ==135129== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135129== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135129== by 0x4003728: main (tool_main.c:186) === End of file valgrind1055 test 1062...[FTP with 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/3/valgrind1062 ../src/curl -q --output log/3/curl1062.out --include --trace-ascii log/3/trace1062 --trace-time ftp://127.0.0.1:35383/path/1062 > log/3/stdout1062 2> log/3/stderr1062 1062: 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 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/3/valgrind1062 ../src/curl -q --output log/3/curl1062.out --include --trace-ascii log/3/trace1062 --trace-time ftp://127.0.0.1:35383/path/1062 > log/3/stdout1062 2> log/3/stderr1062 === End of file commands.log === Start of file ftp_server.log 17:50:32.816815 ====> Client connect 17:50:32.817014 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:32.840519 < "USER anonymous" 17:50:32.840582 > "331 We are happy you popped in![CR][LF]" 17:50:32.841011 < "PASS ftp@example.com" 17:50:32.841041 > "230 Welcome you silly person[CR][LF]" 17:50:32.850544 < "PWD" 17:50:32.850618 > "257 "/" is current directory[CR][LF]" 17:50:32.850860 < "EPSV" 17:50:32.850890 ====> Passive DATA channel requested by client 17:50:32.850905 DATA sockfilt for passive data channel starting... 17:50:32.859961 DATA sockfilt for passive data channel started (pid 135389) 17:50:32.860144 DATA sockfilt for passive data channel listens on port 43149 17:50:32.860207 > "229 Entering Passive Mode (|||43149|)[CR][LF]" 17:50:32.860227 Client has been notified that DATA conn will be accepted on port 43149 17:50:32.861022 Client connects to port 43149 17:50:32.861060 ====> Client established passive DATA connection on port 43149 17:50:32.861185 < "TYPE I" 17:50:32.861235 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:32.861438 < "SIZE verifiedserver" 17:50:32.861487 > "213 17[CR][LF]" 17:50:32.861681 < "RETR verifiedserver" 17:50:32.861725 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:32.861836 =====> Closing passive DATA connection... 17:50:32.861863 Server disconnects passive DATA connection 17:50:32.862161 Server disconnected passive DATA connection 17:50:32.862195 DATA sockfilt for passive data channel quits (pid 135389) 17:50:32.862482 DATA sockfilt for passive data channel quit (pid 135389) 17:50:32.862513 =====> Closed passive DATA connection 17:50:32.862549 > "226 File transfer complete[CR][LF]" 17:50:32.906816 < "QUIT" 17:50:32.906875 > "221 bye bye baby[CR][LF]" 17:50:32.920041 MAIN sockfilt said DISC 17:50:32.920141 ====> Client disconnected 17:50:32.920271 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:32.662863 ====> Client connect 17:50:32.663223 Received DATA (on stdin) 17:50:32.663242 > 146 bytes data, server => client 17:50:32.663254 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:32.663265 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:32.663274 '220 \___|\___/|_| \_\_____|\r\n' 17:50:32.686423 < 16 bytes data, client => server 17:50:32.686463 'USER anonymous\r\n' 17:50:32.686770 Received DATA (on stdin) 17:50:32.686783 > 33 bytes data, server => client 17:50:32.686794 '331 We are happy you popped in!\r\n' 17:50:32.687089 < 22 bytes data, client => server 17:50:32.687105 'PASS ftp@example.com\r\n' 17:50:32.687221 Received DATA (on stdin) 17:50:32.687232 > 30 bytes data, server => client 17:50:32.687242 '230 Welcome you silly person\r\n' 17:50:32.696506 < 5 bytes data, client => server 17:50:32.696546 'PWD\r\n' 17:50:32.696807 Received DATA (on stdin) 17:50:32.696820 > 30 bytes data, server => client 17:50:32.696831 '257 "/" is current directory\r\n' 17:50:32.696946 < 6 bytes data, client => server 17:50:32.696960 'EPSV\r\n' 17:50:32.706423 Received DATA (on stdin) 17:50:32.706444 > 39 bytes data, server => client 17:50:32.706456 '229 Entering Passive Mode (|||43149|)\r\n' 17:50:32.706696 < 8 bytes data, client => server 17:50:32.706715 'TYPE I\r\n' 17:50:32.707428 Received DATA (on stdin) 17:50:32.707443 > 33 bytes data, server => client 17:50:32.707454 '200 I modify TYPE as you wanted\r\n' 17:50:32.707516 < 21 bytes data, client => server 17:50:32.707533 'SIZE verifiedserver\r\n' 17:50:32.707678 Received DATA (on stdin) 17:50:32.707692 > 8 bytes data, server => client 17:50:32.707702 '213 17\r\n' 17:50:32.707761 < 21 bytes data, client => server 17:50:32.707778 'RETR verifiedserver\r\n' 17:50:32.708052 Received DATA (on stdin) 17:50:32.708067 > 29 bytes data, server => client 17:50:32.708078 '150 Binary junk (17 bytes).\r\n' 17:50:32.708737 Received DATA (on stdin) 17:50:32.708751 > 28 bytes data, server => client 17:50:32.708762 '226 File transfer complete\r\n' 17:50:32.750351 < 6 bytes data, client => server 17:50:32.750382 'QUIT\r\n' 17:50:32.753063 Received DATA (on stdin) 17:50:32.753077 > 18 bytes data, server => client 17:50:32.753087 '221 bye bye baby\r\n' 17:50:32.757258 ====> Client disconnect 17:50:32.767436 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:32.703163 Running IPv4 version 17:50:32.703251 Listening on port 43149 17:50:32.703291 Wrote pid 135389 to log/3/server/ftp_sockdata.pid 17:50:32.706035 Received PING (on stdin) 17:50:32.706213 Received PORT (on stdin) 17:50:32.707142 ====> Client connect 17:50:32.708145 Received DATA (on stdin) 17:50:32.708164 > 17 bytes data, server => client 17:50:32.708175 'WE ROOLZ: 81126\r\n' 17:50:32.708208 Received DISC (on stdin) 17:50:32.708222 ====> Client forcibly disconnected 17:50:32.708389 Received QUIT (on stdin) 17:50:32.708403 quits 17:50:32.708488 ============> 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-AAAACMD (33792): ../libtool --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/valgrind1058 ../src/curl -q --output log/6/curl1058.out --include --trace-ascii log/6/trace1058 --trace-time http://127.0.0.1:42747/want/1058 -r -101 > log/6/stdout1058 2> log/6/stderr1058 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-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 ==135496== ==135496== Process terminating with default action of signal 4 (SIGILL) ==135496== Illegal opcode at address 0x4014520 ==135496== at 0x4014520: getparameter (tool_getparam.c:2862) ==135496== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135496== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135496== by 0x4003728: main (tool_main.c:186) === End of file valgrind1062 test 1058...[HTTP range relative to end of file] ../libtool --mode=execuCMD (33792): ../libtool --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/valgrind1061 ../src/curl -q --output log/13/curl1061.out --include --trace-ascii log/13/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:43845 --proxy-user silly:person --proxy-digest --proxytunnel > log/13/stdout1061 2> log/13/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/10/valgrind1052 ../src/curl -q --output log/10/curl1052.out --include --trace-ascii log/10/trace1052 --trace-time http://127.0.0.1:32889/want/1052 -0 -L -T log/10/test1052.txt > log/10/stdout1052 2> log/10/stderr1052 te /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1058 ../src/curl -q --output log/6/curl1058.out --include --trace-ascii log/6/trace1058 --trace-time http://127.0.0.1:42747/want/1058 -r -101 > log/6/stdout1058 2> log/6/stderr1058 1058: 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 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/6/valgrind1058 ../src/curl -q --output log/6/curl1058.out --include --trace-ascii log/6/trace1058 --trace-time http://127.0.0.1:42747/want/1058 -r -101 > log/6/stdout1058 2> log/6/stderr1058 === End of file commands.log === Start of file http_server.log 17:50:32.331120 ====> Client connect 17:50:32.331171 accept_connection 3 returned 4 17:50:32.331191 accept_connection 3 returned 0 17:50:32.331205 Read 93 bytes 17:50:32.331214 Process 93 bytes request 17:50:32.331227 Got request: GET /verifiedserver HTTP/1.1 17:50:32.331236 Are-we-friendly question received 17:50:32.331263 Wrote request (93 bytes) input to log/6/server.input 17:50:32.331281 Identifying ourselves as friends 17:50:32.331336 Response sent (56 bytes) and written to log/6/server.response 17:50:32.331344 special request received, no persistency 17:50:32.331352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 43240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind1058 ==135026== ==135026== Process terminating with default action of signal 4 (SIGILL) ==135026== Illegal opcode at address 0x4014520 ==135026== at 0x4014520: getparameter (tool_getparam.c:2862) ==135026== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135026== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135026== by 0x4003728: main (tool_main.c:186) === End of file valgrind1058 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/13/valgrind1061 ../src/curl -q --output log/13/curl1061.out --include --trace-ascii log/13/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:43845 --proxy-user silly:person --proxy-digest --proxytunnel > log/13/stdout1061 2> log/13/stderr1061 1061: 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 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/13/valgrind1061 ../src/curl -q --output log/13/curl1061.out --include --trace-ascii log/13/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:43845 --proxy-user silly:person --proxy-digest --proxytunnel > log/13/stdout1061 2> log/13/stderr1061 === End of file commands.log === Start of file http_server.log 17:50:33.552731 ====> Client connect 17:50:33.552774 accept_connection 3 returned 4 17:50:33.552795 accept_connection 3 returned 0 17:50:33.552812 Read 93 bytes 17:50:33.552836 Process 93 bytes request 17:50:33.552851 Got request: GET /verifiedserver HTTP/1.1 17:50:33.552860 Are-we-friendly question received 17:50:33.552888 Wrote request (93 bytes) input to log/13/server.input 17:50:33.552906 Identifying ourselves as friends 17:50:33.552976 Response sent (56 bytes) and written to log/13/server.response 17:50:33.552988 special request received, no persistency 17:50:33.552996 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 43294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1061 ==135282== ==135282== Process terminating with default action of signal 4 (SIGILL) ==135282== Illegal opcode at address 0x4014520 ==135282== at 0x4014520: getparameter (tool_getparam.c:2862) ==135282== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135282== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135282== by 0x4003728: main (tool_main.c:186) === End of file valgrind1061 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/10/valgrind1052 ../src/curl -q --output log/10/curl1052.out --include --trace-ascii log/10/trace1052 --trace-time http://127.0.0.1:32889/want/1052 -0 -L -T log/10/test1052.txt > log/10/stdout1052 2> log/10/stderr1052 1052: 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 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/10/valgrind1052 ../src/curl -q --output log/10/curl1052.out --include --trace-ascii log/10/trace1052 --trace-time http://127.0.0.1:32889/want/1052 -0 -L -T log/10/test1052.txt > log/10/stdout1052 2> log/10/stderr1052 === End of file commands.log === Start of file http_server.log 17:50:32.018742 ====> Client connect 17:50:32.018777 accept_connection 3 returned 4 17:50:32.018795 accept_connection 3 returned 0 17:50:32.018809 Read 93 bytes 17:50:32.018819 Process 93 bytes request 17:50:32.018832 Got request: GET /verifiedserver HTTP/1.1 17:50:32.018841 Are-we-friendly question received 17:50:32.018868 Wrote request (93 bytes) input to log/10/server.input 17:50:32.018885 Identifying ourselves as friends 17:50:32.018944 Response sent (56 bytes) and written to log/10/server.response 17:50:32.018953 special request received, no persistency 17:50:32.018962 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 40618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start CMD (33792): ../libtool --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/valgrind1046 ../src/curl -q --output log/11/curl1046.out --include --trace-ascii log/11/trace1046 --trace-time -g "http://[::1]:41713/1046" --interface ::1 > log/11/stdout1046 2> log/11/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/16/valgrind1065 ../src/curl -q --include --trace-ascii log/16/trace1065 --trace-time -H "Expect:" -T log/16/1065 http://127.0.0.1:40899/1065.upload1 http://127.0.0.1:40899/10650002.url2 > log/16/stdout1065 2> log/16/stderr1065 of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === 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 ==134690== ==134690== Process terminating with default action of signal 4 (SIGILL) ==134690== Illegal opcode at address 0x4014520 ==134690== at 0x4014520: getparameter (tool_getparam.c:2862) ==134690== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==134690== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==134690== by 0x4003728: main (tool_main.c:186) === End of file valgrind1052 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 134413 port 41713 * pid http-ipv6 => 134413 134413 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/11/valgrind1046 ../src/curl -q --output log/11/curl1046.out --include --trace-ascii log/11/trace1046 --trace-time -g "http://[::1]:41713/1046" --interface ::1 > log/11/stdout1046 2> log/11/stderr1046 1046: 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 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/11/valgrind1046 ../src/curl -q --output log/11/curl1046.out --include --trace-ascii log/11/trace1046 --trace-time -g "http://[::1]:41713/1046" --interface ::1 > log/11/stdout1046 2> log/11/stderr1046 === End of file commands.log === Start of file http_ipv6_server.log 17:50:31.613325 Running HTTP IPv6 version on port 41713 17:50:31.613437 Wrote pid 134413 to log/11/server/http_ipv6_server.pid 17:50:31.613472 Wrote port 41713 to log/11/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 ==135231== ==135231== Process terminating with default action of signal 4 (SIGILL) ==135231== Illegal opcode at address 0x4014520 ==135231== at 0x4014520: getparameter (tool_getparam.c:2862) ==135231== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135231== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135231== by 0x4003728: main (tool_main.c:186) === End of file valgrind1046 CMD (33792): ../libtool --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/valgrind1063 ../src/curl -q --output log/4/curl1063.out --include --trace-ascii log/4/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/4/test1063.txt > log/4/stdout1063 2> log/4/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/valgrind1060 ../src/curl -q --output log/2/curl1060.out --include --trace-ascii log/2/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:38779 --proxy-user silly:person --proxy-digest --proxytunnel > log/2/stdout1060 2> log/2/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/23/valgrind1050 ../src/curl -q --output log/23/curl1050.out --include --trace-ascii log/23/trace1050 --trace-time -g "ftp://[::1]:41269/" -P ::1 > log/23/stdout1050 2> log/23/stderr1050 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/16/valgrind1065 ../src/curl -q --include --trace-ascii log/16/trace1065 --trace-time -H "Expect:" -T log/16/1065 http://127.0.0.1:40899/1065.upload1 http://127.0.0.1:40899/10650002.url2 > log/16/stdout1065 2> log/16/stderr1065 1065: stdout FAILED: --- log/16/check-expected 2026-01-28 17:50:35.259888732 +0000 +++ log/16/check-generated 2026-01-28 17:50:35.259888732 +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/16/ 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/16/valgrind1065 ../src/curl -q --include --trace-ascii log/16/trace1065 --trace-time -H "Expect:" -T log/16/1065 http://127.0.0.1:40899/1065.upload1 http://127.0.0.1:40899/10650002.url2 > log/16/stdout1065 2> log/16/stderr1065 === End of file commands.log === Start of file http_server.log 17:50:33.166237 ====> Client connect 17:50:33.166276 accept_connection 3 returned 4 17:50:33.166293 accept_connection 3 returned 0 17:50:33.166309 Read 93 bytes 17:50:33.166318 Process 93 bytes request 17:50:33.166332 Got request: GET /verifiedserver HTTP/1.1 17:50:33.166340 Are-we-friendly question received 17:50:33.166367 Wrote request (93 bytes) input to log/16/server.input 17:50:33.166382 Identifying ourselves as friends 17:50:33.166459 Response sent (56 bytes) and written to log/16/server.response 17:50:33.166468 special request received, no persistency 17:50:33.166477 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 58610 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind1065 ==135756== ==135756== Process terminating with default action of signal 4 (SIGILL) ==135756== Illegal opcode at address 0x4014520 ==135756== at 0x4014520: getparameter (tool_getparam.c:2862) ==135756== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135756== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135756== by 0x4003728: main (tool_main.c:186) === End of file valgrind1065 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/4/valgrind1063 ../src/curl -q --output log/4/curl1063.out --include --trace-ascii log/4/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/4/test1063.txt > log/4/stdout1063 2> log/4/stderr1063 curl returned 132, when expecting 36 1063: exit FAILED == Contents of files in the log/4/ 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/4/valgrind1063 ../src/curl -q --output log/4/curl1063.out --include --trace-ascii log/4/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/4/test1063.txt > log/4/stdout1063 2> log/4/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 ==135435== ==135435== Process terminating with default action of signal 4 (SIGILL) ==135435== Illegal opcode at address 0x4014520 ==135435== at 0x4014520: getparameter (tool_getparam.c:2862) ==135435== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135435== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135435== by 0x4003728: main (tool_main.c:186) === End of file valgrind1063 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/2/valgrind1060 ../src/curl -q --output log/2/curl1060.out --include --trace-ascii log/2/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:38779 --proxy-user silly:person --proxy-digest --proxytunnel > log/2/stdout1060 2> log/2/stderr1060 1060: 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 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/2/valgrind1060 ../src/curl -q --output log/2/curl1060.out --include --trace-ascii log/2/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:38779 --proxy-user silly:person --proxy-digest --proxytunnel > log/2/stdout1060 2> log/2/stderr1060 === End of file commands.log === Start of file http_server.log 17:50:32.592913 ====> Client connect 17:50:32.592958 accept_connection 3 returned 4 17:50:32.592978 accept_connection 3 returned 0 17:50:32.592998 Read 93 bytes 17:50:32.593009 Process 93 bytes request 17:50:32.593025 Got request: GET /verifiedserver HTTP/1.1 17:50:32.593035 Are-we-friendly question received 17:50:32.593064 Wrote request (93 bytes) input to log/2/server.input 17:50:32.593082 Identifying ourselves as friends 17:50:32.593173 Response sent (56 bytes) and written to log/2/server.response 17:50:32.593186 special request received, no persistency 17:50:32.593196 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 43024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1060 ==135331== ==135331== Process terminating with default action of signal 4 (SIGILL) ==135331== Illegal opcode at address 0x401452CMD (33792): ../libtool --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/valgrind1066 ../src/curl -q --include --trace-ascii log/20/trace1066 --trace-time http://127.0.0.1:46725/want/1066 http://127.0.0.1:46725/want/10660001 --dump-header - > log/20/stdout1066 2> log/20/stderr1066 0 ==135331== at 0x4014520: getparameter (tool_getparam.c:2862) ==135331== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135331== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135331== by 0x4003728: main (tool_main.c:186) === End of file valgrind1060 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/ftp_ipv6_server.pid" --logfile "log/23/ftp_ipv6_server.log" --logdir "log/23" --portfile "log/23/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 41269 (log/23/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 134563 port 41269 * pid ftp-ipv6 => 134563 134563 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/23/valgrind1050 ../src/curl -q --output log/23/curl1050.out --include --trace-ascii log/23/trace1050 --trace-time -g "ftp://[::1]:41269/" -P ::1 > log/23/stdout1050 2> log/23/stderr1050 1050: 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 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/23/valgrind1050 ../src/curl -q --output log/23/curl1050.out --include --trace-ascii log/23/trace1050 --trace-time -g "ftp://[::1]:41269/" -P ::1 > log/23/stdout1050 2> log/23/stderr1050 === End of file commands.log === Start of file ftp_ipv6_server.log 17:50:32.167498 FTP server listens on port IPv6/41269 17:50:32.167596 logged pid 134563 in log/23/server/ftp_ipv6_server.pid 17:50:32.167625 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 17:50:32.013256 Running IPv6 version 17:50:32.013351 Listening on port 41269 17:50:32.013391 Wrote pid 134642 to log/23/server/ftp_ipv6_sockctrl.pid 17:50:32.013420 Wrote port 41269 to log/23/server/ftp_ipv6_server.port 17:50:32.013584 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 ==135610== ==135610== Process terminating with default action of signal 4 (SIGILL) ==135610== Illegal opcode at address 0x4014520 ==135610== at 0x4014520: getparameter (tool_getparam.c:2862) ==135610== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135610== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135610== by 0x4003728: main (tool_main.c:186) === End of file valgrind1050 CMD (33792): ../libtool --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/valgrind1049 ../src/curl -q --output log/21/curl1049.out --include --trace-ascii log/21/trace1049 --trace-time tftp://127.0.0.1:43887//1049 --interface 127.0.0.1 > log/21/stdout1049 2> log/21/stderr1049 CMD (33792): ../libtool --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/valgrind1064 ../src/curl -q --include --trace-ascii log/7/trace1064 --trace-time -H "Expect:" -T log/7/1064 http://127.0.0.1:35671/1064.upload1 -T log/7/1064 http://127.0.0.1:35671/10640002.upload2 > log/7/stdout1064 2> log/7/stderr1064 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/20/valgrind1066 ../src/curl -q --include --trace-ascii log/20/trace1066 --trace-time http://127.0.0.1:46725/want/1066 http://127.0.0.1:46725/want/10660001 --dump-header - > log/20/stdout1066 2> log/20/stderr1066 1066: stdout FAILED: --- log/20/check-expected 2026-01-28 17:50:35.486555399 +0000 +++ log/20/check-generated 2026-01-28 17:50:35.486555399 +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/20/ 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/20/valgrind1066 ../src/curl -q --include --trace-ascii log/20/trace1066 --trace-time http://127.0.0.1:46725/want/1066 http://127.0.0.1:46725/want/10660001 --dump-header - > log/20/stdout1066 2> log/20/stderr1066 === End of file commands.log === Start of file http_server.log 17:50:33.336067 ====> Client connect 17:50:33.336112 accept_connection 3 returned 4 17:50:33.336133 accept_connection 3 returned 0 17:50:33.337058 Read 93 bytes 17:50:33.337080 Process 93 bytes request 17:50:33.337097 Got request: GET /verifiedserver HTTP/1.1 17:50:33.337108 Are-we-friendly question received 17:50:33.337149 Wrote request (93 bytes) input to log/20/server.input 17:50:33.337170 Identifying ourselves as friends 17:50:33.337344 Response sent (56 bytes) and written to log/20/server.response 17:50:33.337358 special request received, no persistency 17:50:33.337369 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 43882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1066 ==135829== ==135829== Process terminating with default action of signal 4 (SIGILL) ==135829== Illegal opcode at address 0x4014520 ==135829== at 0x4014520: getparameter (tool_getparam.c:2862) ==135829== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135829== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135829== by 0x4003728: main (tool_main.c:186) === End of file valgrind1066 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 134525 port 43887 * pid tftp => 134525 134525 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-callers=16 --log-file=log/21/valgrind1049 ../src/curl -q --output log/21/curl1049.out --include --trace-ascii log/21/trace1049 --trace-time tftp://127.0.0.1:43887//1049 --interface 127.0.0.1 > log/21/stdout1049 2> log/21/stderr1049 1049: 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 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/21/valgrind1049 ../src/curl -q --output log/21/curl1049.out --include --trace-ascii log/21/trace1049 --trace-time tftp://127.0.0.1:43887//1049 --interface 127.0.0.1 > log/21/stdout1049 2> log/21/stderr1049 === End of file commands.log === Start of file server.cmd Testnum 1049 === End of file server.cmd === Start of file tftp_server.log 17:50:31.821622 Wrote pid 134525 to log/21/server/tftp_server.pid 17:50:31.821681 Wrote port 43887 to log/21/server/tftp_server.port 17:50:31.821692 Running IPv4 version on port UDP/43887 === End of file tftp_server.log === Start of file valgrind1049 ==135480== ==135480== Process terminating with default action of signal 4 (SIGILL) ==135480== Illegal opcode at address 0x4014520 ==135480== at 0x4014520: getparameter (tool_getparam.c:2862) ==135480== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135480== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135480== by 0x4003728: main (tool_main.c:186) === End of file valgrind1049 CMD (33792): ../libtool --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/valgrind1067 ../src/curl -q --output log/12/curl1067.out --include --trace-ascii log/12/trace1067 --trace-time http://127.0.0.1:36641/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/12/stdout1067 2> log/12/stderr1067 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/7/valgrind1064 ../src/curl -q --include --trace-ascii log/7/trace1064 --trace-time -H "Expect:" -T log/7/1064 http://127.0.0.1:35671/1064.upload1 -T log/7/1064 http://127.0.0.1:35671/10640002.upload2 > log/7/stdout1064 2> log/7/stderr1064 1064: stdout FAILED: --- log/7/check-expected 2026-01-28 17:50:35.576555398 +0000 +++ log/7/check-generated 2026-01-28 17:50:35.576555398 +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/7/ 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/7/valgrind1064 ../src/curl -q --include --trace-ascii log/7/trace1064 --trace-time -H "Expect:" -T log/7/1064 http://127.0.0.1:35671/1064.upload1 -T log/7/1064 http://127.0.0.1:35671/10640002.upload2 > log/7/stdout1064 2> log/7/stderr1064 === End of file commands.log === Start of file http_server.log 17:50:33.009271 ====> Client connect 17:50:33.009313 accept_connection 3 returned 4 17:50:33.009331 accept_connection 3 returned 0 17:50:33.009348 Read 93 bytes 17:50:33.009358 Process 93 bytes request 17:50:33.009372 Got request: GET /verifiedserver HTTP/1.1 17:50:33.009381 Are-we-friendly question received 17:50:33.009408 Wrote request (93 bytes) input to log/7/server.input 17:50:33.009425 Identifying ourselves as friends 17:50:33.009529 Response sent (56 bytes) and written to log/7/server.response 17:50:33.009542 special request received, no persistency 17:50:33.009551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 48180 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1064 ==135665== ==135665== Process terminating with default action of signal 4 (SIGILL) ==135665== Illegal opcode at address 0x4014520 ==135665== at 0x4014520: getparameter (tool_getparam.c:2862) ==135665== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135665== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135665== by 0x4003728: main (tool_main.c:186) === End of file valgrind1064 CMD (33792): ../libtool --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/valgrind1068 ../src/curl -q --output log/18/curl1068.out --include --trace-ascii log/18/trace1068 --trace-time http://127.0.0.1:34067/bzz/1068 -T - log/18/stdout1068 2> log/18/stderr1068 CMD (33792): ../libtool --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:39589/bzz/1069 -T - -0 log/1/stdout1069 2> log/1/stderr1069 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/12/valgrind1067 ../src/curl -q --output log/12/curl1067.out --include --trace-ascii log/12/trace1067 --trace-time http://127.0.0.1:36641/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/12/stdout1067 2> log/12/stderr1067 1067: stderr FAILED: --- log/12/check-expected 2026-01-28 17:50:35.796555399 +0000 +++ log/12/check-generated 2026-01-28 17:50:35.796555399 +0000 @@ -1 +0,0 @@ -|http://127.0.0.1:36641/want/1067| == Contents of files in the log/12/ directory after test 1067 === Start of file check-expected |http://127.0.0.1:36641/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/12/valgrind1067 ../src/curl -q --output log/12/curl1067.out --include --trace-ascii log/12/trace1067 --trace-time http://127.0.0.1:36641/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/12/stdout1067 2> log/12/stderr1067 === End of file commands.log === Start of file http_server.log 17:50:33.742943 ====> Client connect 17:50:33.742989 accept_connection 3 returned 4 17:50:33.743011 accept_connection 3 returned 0 17:50:33.743027 Read 93 bytes 17:50:33.743039 Process 93 bytes request 17:50:33.743053 Got request: GET /verifiedserver HTTP/1.1 17:50:33.743063 Are-we-friendly question received 17:50:33.743093 Wrote request (93 bytes) input to log/12/server.input 17:50:33.743112 Identifying ourselves as friends 17:50:33.743187 Response sent (56 bytes) and written to log/12/server.response 17:50:33.743199 special request received, no persistency 17:50:33.743208 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 49722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1067 ==135936== ==135936== Process terminating with default action of signal 4 (SIGILL) ==135936== Illegal opcode at address 0x4014520 ==135936== at 0x4014520: getparameter (tool_getparam.c:2862) ==135936== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135936== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135936== by 0x4003728: main (tool_main.c:186) === End of file valgrind1067 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/18/valgrind1068 ../src/curl -q --output log/18/curl1068.out --include --trace-ascii log/18/trace1068 --trace-time http://127.0.0.1:34067/bzz/1068 -T - log/18/stdout1068 2> log/18/stderr1068 1068: 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 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/18/valgrind1068 ../src/curl -q --output log/18/curl1068.out --include --trace-ascii log/18/trace1068 --trace-time http://127.0.0.1:34067/bzz/1068 -T - log/18/stdout1068 2> log/18/stderr1068 === End of file commands.log === Start of file http_server.log 17:50:33.852947 ====> Client connect 17:50:33.852997 accept_connection 3 returned 4 17:50:33.853020 accept_connection 3 returned 0 17:50:33.853037 Read 93 bytes 17:50:33.853048 Process 93 bytes request 17:50:33.853064 Got request: GET /verifiedserver HTTP/1.1 17:50:33.853074 Are-we-friendly question received 17:50:33.853108 Wrote request (93 bytes) input to log/18/server.input 17:50:33.853129 Identifying ourselves as friends 17:50:33.853208 Response sent (56 bytes) and written to log/18/server.response 17:50:33.853221 special request received, no persistency 17:50:33.853231 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === 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 ==135992== ==135992== Process terminating with default action of signal 4 (SIGILL) ==135992== Illegal opcode at address 0x4014520 ==135992== at 0x4014520: getparameter (tool_getparam.c:2862) ==135992== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==135992== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==135992== by 0x4003728: main (tool_main.c:186) === 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:39589/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:39589/bzz/1069 -T - -0 log/1/stdout1069 2> log/1/stderr1069 === End of file commands.log === Start of file http_server.log 17:50:34.037703 ====> Client connect 17:50:34.037735 accept_connection 3 returned 4 17:50:34.037751 accept_connection 3 returned 0 17:50:34.037765 Read 93 bytes 17:50:34.037774 Process 93 bytes request 17:50:34.037787 Got request: GET /verifiedserver HTTP/1.1 17:50:34.037796 Are-we-friendly question received 17:50:34.037818 Wrote request (93 bytes) input to log/1/server.input 17:50:34.037835 Identifying ourselves as friends 17:50:34.037888 Response sent (56 bytes) and written to log/1/server.response 17:50:34.037897 special request received, no persistency 17:50:34.037906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 59418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: 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/24/valgrind1076 ../src/curl -q --output log/24/curl1076.out --include --trace-ascii log/24/trace1076 --trace-time http://127.0.0.1:39649/blah/1076 -L -d "moo" --post302 > log/24/stdout1076 2> log/24/stderr1076 CMD (33792): ../libtool --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/valgrind1080 ../src/curl -q --include --trace-ascii log/6/trace1080 --trace-time http://127.0.0.1:42747/we/want/our/1080 http://127.0.0.1:42747/we/want/our/1080 -w '%{redirect_url}\n' > log/6/stdout1080 2> log/6/stderr1080 8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === 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 ==136066== ==136066== Process terminating with default action of signal 4 (SIGILL) ==136066== Illegal opcode at address 0x4014520 ==136066== at 0x4014520: getparameter (tool_getparam.c:2862) ==136066== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136066== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136066== by 0x4003728: main (tool_main.c:186) === End of file valgrind1069 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/24/valgrind1076 ../src/curl -q --output log/24/curl1076.out --include --trace-ascii log/24/trace1076 --trace-time http://127.0.0.1:39649/blah/1076 -L -d "moo" --post302 > log/24/stdout1076 2> log/24/stderr1076 1076: 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 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/24/valgrind1076 ../src/curl -q --output log/24/curl1076.out --include --trace-ascii log/24/trace1076 --trace-time http://127.0.0.1:39649/blah/1076 -L -d "moo" --post302 > log/24/stdout1076 2> log/24/stderr1076 === End of file commands.log === Start of file http_server.log 17:50:34.566237 ====> Client connect 17:50:34.566277 accept_connection 3 returned 4 17:50:34.566295 accept_connection 3 returned 0 17:50:34.566311 Read 93 bytes 17:50:34.566321 Process 93 bytes request 17:50:34.566335 Got request: GET /verifiedserver HTTP/1.1 17:50:34.566344 Are-we-friendly question received 17:50:34.566370 Wrote request (93 bytes) input to log/24/server.input 17:50:34.566387 Identifying ourselves as friends 17:50:34.566461 Response sent (56 bytes) and written to log/24/server.response 17:50:34.566473 special request received, no persistency 17:50:34.566482 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 36990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1076 ==136323== ==136323== Process terminating with default action of signal 4 (SIGILL) ==136323== Illegal opcode at address 0x4014520 ==136323== at 0x4014520: getparameter (tool_getparam.c:2862) ==136323== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136323== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136323== by 0x4003728: main (tool_main.c:186) === End of file valgrind1076 CMD (33792): ../libtool --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/valgrind1077 ../src/curl -q --output log/9/curl1077.out --include --trace-ascii log/9/trace1077 --trace-time -x 127.0.0.1:37413 ftp://127.0.0.1:37413/we/want/that/page/1077 ftp://127.0.0.1:37413/we/want/that/page/10770002 > log/9/stdout1077 2> log/9/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/3/valgrind1079 ../src/curl -q --output log/3/curl1079.out --include --trace-ascii log/3/trace1079 --trace-time http://127.0.0.1:45927/1079 -u testuser:testpass --digest > log/3/stdout1079 2> log/3/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/19/valgrind1071 ../src/curl -q --output log/19/curl1071.out --include --trace-ascii log/19/trace1071 --trace-time http://127.0.0.1:36987/1071 -T log/19/put1071 -u testuser:testpass --anyauth > log/19/stdout1071 2> log/19/stderr1071 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/6/valgrind1080 ../src/curl -q --include --trace-ascii log/6/trace1080 --trace-time http://127.0.0.1:42747/we/want/our/1080 http://127.0.0.1:42747/we/want/our/1080 -w '%{redirect_url}\n' > log/6/stdout1080 2> log/6/stderr1080 1080: stdout FAILED: --- log/6/check-expected 2026-01-28 17:50:36.939888731 +0000 +++ log/6/check-generated 2026-01-28 17:50:36.939888731 +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:42747/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:42747/we/want/our/data/10800002.txt?coolsite=yes[LF] == Contents of files in the log/6/ 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:42747/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:42747/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/6/valgrind1080 ../src/curl -q --include --trace-ascii log/6/trace1080 --trace-time http://127.0.0.1:42747/we/want/our/1080 http://127.0.0.1:42747/we/want/our/1080 -w '%{redirect_url}\n' > log/6/stdout1080 2> log/6/stderr1080 === End of file commands.log === Start of file http_server.log 17:50:34.952910 ====> Client connect 17:50:34.952956 accept_connection 3 returned 4 17:50:34.952974 accept_connection 3 returned 0 17:50:34.952989 Read 93 bytes 17:50:34.952999 Process 93 bytes request 17:50:34.953011 Got request: GET /verifiedserver HTTP/1.1 17:50:34.953020 Are-we-friendly question received 17:50:34.953046 Wrote request (93 bytes) input to log/6/server.input 17:50:34.953062 Identifying ourselves as friends 17:50:34.953138 Response sent (56 bytes) and written to log/6/server.response 17:50:34.953147 special request received, no persistency 17:50:34.953156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 43246 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind1080 ==136727== ==136727== Process terminating with default action of signal 4 (SIGILL) ==136727== Illegal opcode at address 0x4014520 ==136727== at 0x4014520: getparameter (tool_getparam.c:2862) ==136727== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136727== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136727== by 0x4003728: main (tool_main.c:186) === End of file valgrind1080 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/9/valgrind1077 ../src/curl -q --output log/9/curl1077.out --include --trace-ascii log/9/trace1077 --trace-time -x 127.0.0.1:37413 ftp://127.0.0.1:37413/we/want/that/page/1077 ftp://127.0.0.1:37413/we/want/that/page/10770002 > log/9/stdout1077 2> log/9/stderr1077 1077: 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 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/9/valgrind1077 ../src/curl -q --output log/9/curl1077.out --include --trace-ascii log/9/trace1077 --trace-time -x 127.0.0.1:37413 ftp://127.0.0.1:37413/we/want/that/page/1077 ftp://127.0.0.1:37413/we/want/that/page/10770002 > log/9/stdout1077 2> log/9/stderr1077 === End of file commands.log === Start of file http_server.log 17:50:34.609570 ====> Client connect 17:50:34.609607 accept_connection 3 returned 4 17:50:34.609625 accept_connection 3 returned 0 17:50:34.609639 Read 93 bytes 17:50:34.609649 Process 93 bytes request 17:50:34.609662 Got request: GET /verifiedserver HTTP/1.1 17:50:34.609671 Are-we-friendly question received 17:50:34.609697 Wrote request (93 bytes) input to log/9/server.input 17:50:34.609714 Identifying ourselves as friends 17:50:34.609783 Response sent (56 bytes) and written to log/9/server.response 17:50:34.609794 special request received, no persistency 17:50:34.609802 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 36654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind1077 ==136423== ==136423== Process terminating with default action of signal 4 (SIGILL) ==136423== Illegal opcode at address 0x4014520 ==136423== at 0x4014520: getparameter (tool_getparam.c:2862) ==136423== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136423== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136423== by 0x4003728: main (tool_main.c:186) === End of file valgrind1077 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/3/valgrind1079 ../src/curl -q --output log/3/curl1079.out --include --trace-ascii log/3/trace1079 --trace-time http://127.0.0.1:45927/1079 -u testuser:testpass --digest > log/3/stdout1079 2> log/3/stderr1079 1079: 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 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 --nuCMD (33792): ../libtool --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/valgrind1075 ../src/curl -q --output log/8/curl1075.out --include --trace-ascii log/8/trace1075 --trace-time http://127.0.0.1:42045/1075 -T log/8/put1075 -u testuser:testpass --anyauth > log/8/stdout1075 2> log/8/stderr1075 CMD (33792): ../libtool --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/valgrind1082 ../src/curl -q --output log/10/curl1082.out --include --trace-ascii log/10/trace1082 --trace-time http://127.0.0.1:32889/1082 -4 --interface 127.0.0.1 > log/10/stdout1082 2> log/10/stderr1082 m-callers=16 --log-file=log/3/valgrind1079 ../src/curl -q --output log/3/curl1079.out --include --trace-ascii log/3/trace1079 --trace-time http://127.0.0.1:45927/1079 -u testuser:testpass --digest > log/3/stdout1079 2> log/3/stderr1079 === End of file commands.log === Start of file http_server.log 17:50:34.942925 ====> Client connect 17:50:34.942982 accept_connection 3 returned 4 17:50:34.943006 accept_connection 3 returned 0 17:50:34.943026 Read 93 bytes 17:50:34.943038 Process 93 bytes request 17:50:34.943053 Got request: GET /verifiedserver HTTP/1.1 17:50:34.943063 Are-we-friendly question received 17:50:34.943094 Wrote request (93 bytes) input to log/3/server.input 17:50:34.943115 Identifying ourselves as friends 17:50:34.943214 Response sent (56 bytes) and written to log/3/server.response 17:50:34.943224 special request received, no persistency 17:50:34.943233 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 54446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1079 ==136738== ==136738== Process terminating with default action of signal 4 (SIGILL) ==136738== Illegal opcode at address 0x4014520 ==136738== at 0x4014520: getparameter (tool_getparam.c:2862) ==136738== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136738== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136738== by 0x4003728: main (tool_main.c:186) === End of file valgrind1079 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/19/valgrind1071 ../src/curl -q --output log/19/curl1071.out --include --trace-ascii log/19/trace1071 --trace-time http://127.0.0.1:36987/1071 -T log/19/put1071 -u testuser:testpass --anyauth > log/19/stdout1071 2> log/19/stderr1071 1071: 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 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/19/valgrind1071 ../src/curl -q --output log/19/curl1071.out --include --trace-ascii log/19/trace1071 --trace-time http://127.0.0.1:36987/1071 -T log/19/put1071 -u testuser:testpass --anyauth > log/19/stdout1071 2> log/19/stderr1071 === End of file commands.log === Start of file http_server.log 17:50:34.512976 ====> Client connect 17:50:34.513014 accept_connection 3 returned 4 17:50:34.513031 accept_connection 3 returned 0 17:50:34.513046 Read 93 bytes 17:50:34.513055 Process 93 bytes request 17:50:34.513066 Got request: GET /verifiedserver HTTP/1.1 17:50:34.513075 Are-we-friendly question received 17:50:34.513102 Wrote request (93 bytes) input to log/19/server.input 17:50:34.513117 Identifying ourselves as friends 17:50:34.513183 Response sent (56 bytes) and written to log/19/server.response 17:50:34.513193 special request received, no persistency 17:50:34.513202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 52420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1071 ==136279== ==136279== Process terminating with default action of signal 4 (SIGILL) ==136279== Illegal opcode at address 0x4014520 ==136279== at 0x4014520: getparameter (tool_getparam.c:2862) ==136279== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136279== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136279== by 0x4003728: main (tool_main.c:186) === End of file valgrind1071 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/8/valgrind1075 ../src/curl -q --output log/8/curl1075.out --include --trace-ascii log/8/trace1075 --trace-time http://127.0.0.1:42045/1075 -T log/8/put1075 -u testuser:testpass --anyauth > log/8/stdout1075 2> log/8/stderr1075 1075: 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 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/8/valgrind1075 ../src/curl -q --output log/8/curl1075.out --include --trace-ascii log/8/trace1075 --trace-time http://127.0.0.1:42045/1075 -T log/8/put1075 -u testuser:testpass --anyauth > log/8/stdout1075 2> log/8/stderr1075 === End of file commands.log === Start of file http_server.log 17:50:34.535892 ====> Client connect 17:50:34.535923 accept_connection 3 returned 4 17:50:34.535938 accept_connection 3 returned 0 17:50:34.535951 Read 93 bytes 17:50:34.535961 Process 93 bytes request 17:50:34.535974 Got request: GET /verifiedserver HTTP/1.1 17:50:34.535982 Are-we-friendly question received 17:50:34.536014 Wrote request (93 bytes) input to log/8/server.input 17:50:34.536030 Identifying ourselves as friends 17:50:34.536084 Response sent (56 bytes) and written to log/8/server.response 17:50:34.536094 special request received, no persistency 17:50:34.536102 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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 HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75033 === End of file server.response === Start of file valgrind1075 ==136319== ==136319== Process terminating with default action of signal 4 (SIGILL) ==136319== Illegal opcode at address 0x4014520 ==136319== at 0x4014520: getparameter (tool_getparam.c:2862) ==136319== by 0x40037CMD (33792): ../libtool --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/valgrind1074 ../src/curl -q --include --trace-ascii log/14/trace1074 --trace-time http://127.0.0.1:37569/want/1074 http://127.0.0.1:37569/wantmore/10740001 > log/14/stdout1074 2> log/14/stderr1074 28: UnknownInlinedFun (tool_getparam.c:3045) ==136319== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136319== by 0x4003728: main (tool_main.c:186) === End of file valgrind1075 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/10/valgrind1082 ../src/curl -q --output log/10/curl1082.out --include --trace-ascii log/10/trace1082 --trace-time http://127.0.0.1:32889/1082 -4 --interface 127.0.0.1 > log/10/stdout1082 2> log/10/stderr1082 1082: 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 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/10/valgrind1082 ../src/curl -q --output log/10/curl1082.out --include --trace-ascii log/10/trace1082 --trace-time http://127.0.0.1:32889/1082 -4 --interface 127.0.0.1 > log/10/stdout1082 2> log/10/stderr1082 === End of file commands.log === Start of file http_server.log 17:50:35.174908 ====> Client connect 17:50:35.174951 accept_connection 3 returned 4 17:50:35.174969 accept_connection 3 returned 0 17:50:35.174984 Read 93 bytes 17:50:35.174995 Process 93 bytes request 17:50:35.175008 Got request: GET /verifiedserver HTTP/1.1 17:50:35.175017 Are-we-friendly question received 17:50:35.175051 Wrote request (93 bytes) input to log/10/server.input 17:50:35.175070 Identifying ourselves as friends 17:50:35.175153 Response sent (56 bytes) and written to log/10/server.response 17:50:35.175163 special request received, no persistency 17:50:35.175171 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 40632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind1082 ==136918== ==136918== Process terminating with default action of signal 4 (SIGILL) ==136918== Illegal opcode at address 0x4014520 ==136918== at 0x4014520: getparameter (tool_getparam.c:2862) ==136918== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136918== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136918== by 0x4003728: main (tool_main.c:186) === End of file valgrind1082 CMD (33792): ../libtool --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/valgrind1072 ../src/curl -q --output log/22/curl1072.out --include --trace-ascii log/22/trace1072 --trace-time http://127.0.0.1:42933/1072 -T - -u testuser:testpass --anyauth log/22/stdout1072 2> log/22/stderr1072 CMD (33792): ../libtool --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/valgrind1073 ../src/curl -q --output log/15/curl1073.out --include --trace-ascii log/15/trace1073 --trace-time http://127.0.0.1:41057/1073 -T - -L log/15/stdout1073 2> log/15/stderr1073 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/14/valgrind1074 ../src/curl -q --include --trace-ascii log/14/trace1074 --trace-time http://127.0.0.1:37569/want/1074 http://127.0.0.1:37569/wantmore/10740001 > log/14/stdout1074 2> log/14/stderr1074 1074: stdout FAILED: --- log/14/check-expected 2026-01-28 17:50:37.236555397 +0000 +++ log/14/check-generated 2026-01-28 17:50:37.236555397 +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/14/ 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/14/valgrind1074 ../src/curl -q --include --trace-ascii log/14/trace1074 --trace-time http://127.0.0.1:37569/want/1074 http://127.0.0.1:37569/wantmore/10740001 > log/14/stdout1074 2> log/14/stderr1074 === End of file commands.log === Start of file http_server.log 17:50:35.552913 ====> Client connect 17:50:35.552952 accept_connection 3 returned 4 17:50:35.552970 accept_connection 3 returned 0 17:50:35.552985 Read 93 bytes 17:50:35.552994 Process 93 bytes request 17:50:35.553007 Got request: GET /verifiedserver HTTP/1.1 17:50:35.553019 Are-we-friendly question received 17:50:35.553044 Wrote request (93 bytes) input to log/14/server.input 17:50:35.553060 Identifying ourselves as friends 17:50:35.553125 Response sent (56 bytes) and written to log/14/server.response 17:50:35.553134 special request received, no persistency 17:50:35.553142 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 38148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1074 ==136300== ==136300== Process terminating with default action of signal 4 (SIGILL) ==136300== Illegal opcode at address 0x4014520 ==136300== at 0x4014520: getparameter (tool_getparam.c:2862) ==136300== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136300== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136300== by 0x4003728: main (tool_main.c:186) === End of file valgrind1074 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/22/valgrind1072 ../src/curl -q --output log/22/curl1072.out --include --trace-ascii log/22/trace1072 --trace-time http://127.0.0.1:42933/1072 -T - -u testuser:testpass --anyauth log/22/stdout1072 2> log/22/stderr1072 1072: 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 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/22/valgrind1072 ../src/curl -q --output log/22/curl1072.out --include --trace-ascii log/22/trace1072 --trace-time http://127.0.0.1:42933/1072 -T - -u testuser:testpass --anyauth log/22/stdout1072 2> log/22/stderr1072 === End of file commands.log === Start of file http_server.log 17:50:34.558195 ====> Client connect 17:50:34.558232 accept_connection 3 returned 4 17:50:34.558247 accept_connection 3 returned 0 17:50:34.558262 Read 93 bytes 17:50:34.558271 Process 93 bytes request 17:50:34.558285 Got request: GET /verifiedserver HTTP/1.1 17:50:34.558294 Are-we-friendly question received 17:50:34.558321 Wrote request (93 bytes) input to log/22/server.input 17:50:34.558337 Identifying ourselves as friends 17:50:34.558392 Response sent (56 bytes) and written to log/22/server.response 17:50:34.558402 special request received, no persistency 17:50:34.558410 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 34348 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === 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 ==136301== ==136301== Process terminating with default action of signal 4 (SIGILL) ==136301== Illegal opcode at address 0x4014520 ==136301== at 0x4014520: getparameter (tool_getparam.c:2862) ==136301== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136301== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136301== by 0x4003728: main (tool_main.c:186) === End of file valgrind1072 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/15/valgrind1073 ../src/curl -q --output log/15/curl1073.out --include --trace-ascii log/15/trace1073 --trace-time http://127.0.0.1:41057/1073 -T - -L log/15/stdout1073 2> log/15/stderr1073 1073: 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 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/15/valgrind1073 ../src/curl -q --output log/15/curl1073.out --include --trace-ascii log/15/trace1073 --trace-time http://127.0.0.1:41057/1073 -T - -L log/15/stdout1073 2> log/15/stderr1073 === End of file commands.log === Start of file http_server.log 17:50:34.535803 ====> Client connect 17:50:34.535837 accept_connection 3 returned 4 17:50:34.535852 accept_connection 3 returned 0 17:50:34.535964 Read 93 bytes 17:50:34.535975 Process 93 bytes request 17:50:34.535984 Got request: 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/16/valgrind1084 ../src/curl -q --output log/16/curl1084.out --include --trace-ascii log/16/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/16/stdout1084 2> log/16/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/5/valgrind1070 ../src/curl -q --output log/5/curl1070.out --include --trace-ascii log/5/trace1070 --trace-time -d @log/5/input1070 http://127.0.0.1:46875/1070 -H "Expect: 100-continue" > log/5/stdout1070 2> log/5/stderr1070 17:50:34.535992 Are-we-friendly question received 17:50:34.536020 Wrote request (93 bytes) input to log/15/server.input 17:50:34.536036 Identifying ourselves as friends 17:50:34.536084 Response sent (56 bytes) and written to log/15/server.response 17:50:34.536094 special request received, no persistency 17:50:34.536102 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 41590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === 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 ==136320== ==136320== Process terminating with default action of signal 4 (SIGILL) ==136320== Illegal opcode at address 0x4014520 ==136320== at 0x4014520: getparameter (tool_getparam.c:2862) ==136320== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136320== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136320== by 0x4003728: main (tool_main.c:186) === End of file valgrind1073 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/16/valgrind1084 ../src/curl -q --output log/16/curl1084.out --include --trace-ascii log/16/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/16/stdout1084 2> log/16/stderr1084 curl returned 132, when expecting 45 1084: exit FAILED == Contents of files in the log/16/ 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/16/valgrind1084 ../src/curl -q --output log/16/curl1084.out --include --trace-ascii log/16/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/16/stdout1084 2> log/16/stderr1084 === End of file commands.log === Start of file server.cmd Testnum 1084 === End of file server.cmd === Start of file valgrind1084 ==136846== ==136846== Process terminating with default action of signal 4 (SIGILL) ==136846== Illegal opcode at address 0x4014520 ==136846== at 0x4014520: getparameter (tool_getparam.c:2862) ==136846== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136846== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136846== by 0x4003728: main (tool_main.c:186) === End of file valgrind1084 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/5/valgrind1070 ../src/curl -q --output log/5/curl1070.out --include --trace-ascii log/5/trace1070 --trace-time -d @log/5/input1070 http://127.0.0.1:46875/1070 -H "Expect: 100-continue" > log/5/stdout1070 2> log/5/stderr1070 1070: 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 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/5/valgrind1070 ../src/curl -q --output log/5/curl1070.out --include --trace-ascii log/5/trace1070 --trace-time -d @log/5/input1070 http://127.0.0.1:46875/1070 -H "Expect: 100-continue" > log/5/stdout1070 2> log/5/stderr1070 === End of file commands.log === Start of file http_server.log 17:50:34.510872 ====> Client connect 17:50:34.510916 accept_connection 3 returned 4 17:50:34.510937 accept_connection 3 returned 0 17:50:34.510954 Read 93 bytes 17:50:34.510964 Process 93 bytes request 17:50:34.510979 Got request: GET /verifiedserver HTTP/1.1 17:50:34.510989 Are-we-friendly question received 17:50:34.511020 Wrote request (93 bytes) input to log/5/server.input 17:50:34.511039 Identifying ourselves as friends 17:50:34.511109 Response sent (56 bytes) and written to log/5/server.response 17:50:34.511121 special request received, no persistency 17:50:34.511131 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 33906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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': OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO === 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: 77918 ===CMD (33792): ../libtool --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/valgrind1086 ../src/curl -q --output log/2/curl1086.out --include --trace-ascii log/2/trace1086 --trace-time ftp://127.0.0.1:40597/1086 -m 5 > log/2/stdout1086 2> log/2/stderr1086 * kill pid for ftp-ctrl => 81161 RUN: Process with pid 81160 signalled to die RUN: Process with pid 81160 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/11/valgrind1083 ../src/curl -q --output log/11/curl1083.out --include --trace-ascii log/11/trace1083 --trace-time -g "http://[::1]:41713/1083" --interface ip6-localhost > log/11/stdout1083 2> log/11/stderr1083 End of file server.response === Start of file valgrind1070 ==136280== ==136280== Process terminating with default action of signal 4 (SIGILL) ==136280== Illegal opcode at address 0x4014520 ==136280== at 0x4014520: getparameter (tool_getparam.c:2862) ==136280== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136280== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136280== by 0x4003728: main (tool_main.c:186) === End of file valgrind1070 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/2/valgrind1086 ../src/curl -q --output log/2/curl1086.out --include --trace-ascii log/2/trace1086 --trace-time ftp://127.0.0.1:40597/1086 -m 5 > log/2/stdout1086 2> log/2/stderr1086 1086: 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 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/2/valgrind1086 ../src/curl -q --output log/2/curl1086.out --include --trace-ascii log/2/trace1086 --trace-time ftp://127.0.0.1:40597/1086 -m 5 > log/2/stdout1086 2> log/2/stderr1086 === End of file commands.log === Start of file ftp_server.log 17:50:35.483486 ====> Client connect 17:50:35.483653 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:35.483974 < "USER anonymous" 17:50:35.484022 > "331 We are happy you popped in![CR][LF]" 17:50:35.489289 < "PASS ftp@example.com" 17:50:35.489334 > "230 Welcome you silly person[CR][LF]" 17:50:35.489539 < "PWD" 17:50:35.489575 > "257 "/" is current directory[CR][LF]" 17:50:35.489894 < "EPSV" 17:50:35.489923 ====> Passive DATA channel requested by client 17:50:35.489938 DATA sockfilt for passive data channel starting... 17:50:35.504345 DATA sockfilt for passive data channel started (pid 137076) 17:50:35.504516 DATA sockfilt for passive data channel listens on port 37937 17:50:35.504575 > "229 Entering Passive Mode (|||37937|)[CR][LF]" 17:50:35.504595 Client has been notified that DATA conn will be accepted on port 37937 17:50:35.504933 Client connects to port 37937 17:50:35.504965 ====> Client established passive DATA connection on port 37937 17:50:35.505066 < "TYPE I" 17:50:35.505103 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:35.505270 < "SIZE verifiedserver" 17:50:35.505308 > "213 17[CR][LF]" 17:50:35.505459 < "RETR verifiedserver" 17:50:35.505495 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:35.505586 =====> Closing passive DATA connection... 17:50:35.505601 Server disconnects passive DATA connection 17:50:35.508326 Server disconnected passive DATA connection 17:50:35.508376 DATA sockfilt for passive data channel quits (pid 137076) 17:50:35.508670 DATA sockfilt for passive data channel quit (pid 137076) 17:50:35.508697 =====> Closed passive DATA connection 17:50:35.508733 > "226 File transfer complete[CR][LF]" 17:50:35.566875 < "QUIT" 17:50:35.566942 > "221 bye bye baby[CR][LF]" 17:50:35.572040 MAIN sockfilt said DISC 17:50:35.572096 ====> Client disconnected 17:50:35.572178 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:36.329535 ====> Client connect 17:50:36.329850 Received DATA (on stdin) 17:50:36.329868 > 146 bytes data, server => client 17:50:36.329880 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:36.329890 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:36.329900 '220 \___|\___/|_| \_\_____|\r\n' 17:50:36.329985 < 16 bytes data, client => server 17:50:36.329999 'USER anonymous\r\n' 17:50:36.330209 Received DATA (on stdin) 17:50:36.330223 > 33 bytes data, server => client 17:50:36.330234 '331 We are happy you popped in!\r\n' 17:50:36.330291 < 22 bytes data, client => server 17:50:36.330303 'PASS ftp@example.com\r\n' 17:50:36.335519 Received DATA (on stdin) 17:50:36.335533 > 30 bytes data, server => client 17:50:36.335545 '230 Welcome you silly person\r\n' 17:50:36.335618 < 5 bytes data, client => server 17:50:36.335631 'PWD\r\n' 17:50:36.335885 Received DATA (on stdin) 17:50:36.335900 > 30 bytes data, server => client 17:50:36.335909 '257 "/" is current directory\r\n' 17:50:36.335974 < 6 bytes data, client => server 17:50:36.335987 'EPSV\r\n' 17:50:36.350788 Received DATA (on stdin) 17:50:36.350807 > 39 bytes data, server => client 17:50:36.350819 '229 Entering Passive Mode (|||37937|)\r\n' 17:50:36.351059 < 8 bytes data, client => server 17:50:36.351071 'TYPE I\r\n' 17:50:36.351288 Received DATA (on stdin) 17:50:36.351300 > 33 bytes data, server => client 17:50:36.351311 '200 I modify TYPE as you wanted\r\n' 17:50:36.351363 < 21 bytes data, client => server 17:50:36.351375 'SIZE verifiedserver\r\n' 17:50:36.351490 Received DATA (on stdin) 17:50:36.351501 > 8 bytes data, server => client 17:50:36.351511 '213 17\r\n' 17:50:36.351558 < 21 bytes data, client => server 17:50:36.351569 'RETR verifiedserver\r\n' 17:50:36.351863 Received DATA (on stdin) 17:50:36.351874 > 29 bytes data, server => client 17:50:36.351883 '150 Binary junk (17 bytes).\r\n' 17:50:36.354920 Received DATA (on stdin) 17:50:36.354935 > 28 bytes data, server => client 17:50:36.354945 '226 File transfer complete\r\n' 17:50:36.406209 < 6 bytes data, client => server 17:50:36.406248 'QUIT\r\n' 17:50:36.413134 Received DATA (on stdin) 17:50:36.413155 > 18 bytes data, server => client 17:50:36.413166 '221 bye bye baby\r\n' 17:50:36.418148 ====> Client disconnect 17:50:36.418869 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:35.338308 Running IPv4 version 17:50:35.338382 Listening on port 37937 17:50:35.338426 Wrote pid 137076 to log/2/server/ftp_sockdata.pid 17:50:35.350426 Received PING (on stdin) 17:50:35.350587 Received PORT (on stdin) 17:50:35.351030 ====> Client connect 17:50:35.351781 Received DATA (on stdin) 17:50:35.351793 > 17 bytes data, server => client 17:50:35.351803 'WE ROOLZ: 81160\r\n' 17:50:35.351829 Received DISC (on stdin) 17:50:35.351840 ====> Client forcibly disconnected 17:50:35.354582 Received QUIT (on stdin) 17:50:35.354596 quits 17:50:35.354686 ============> 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 ==137246== ==137246== Process terminating with default action of signal 4 (SIGILL) ==137246== Illegal opcode at address 0x4014520 ==137246== at 0x4014520: getparameter (tool_getparam.c:2862) ==137246== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137246== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137246== by 0x4003728: main (tool_main.c:186) === End of file valgrind1086 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/11/valgrind1083 ../src/curl -q --output log/11/curl1083.out --include --trace-ascii log/11/trace1083 --trace-time -g "http://[::1]:41713/1083" --interface ip6-localhost > log/11/stdout1083 2> log/11/stderr1083 1083: 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 aftCMD (33792): ../libtool --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/valgrind1085 ../src/curl -q --output log/4/curl1085.out --include --trace-ascii log/4/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/4/stdout1085 2> log/4/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/13/valgrind1081 ../src/curl -q --include --trace-ascii log/13/trace1081 --trace-time http://127.0.0.1:43845/we/want/our/1081 http://127.0.0.1:43845/we/want/our/10810002 -w '%{redirect_url}\n' > log/13/stdout1081 2> log/13/stderr1081 er 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/11/valgrind1083 ../src/curl -q --output log/11/curl1083.out --include --trace-ascii log/11/trace1083 --trace-time -g "http://[::1]:41713/1083" --interface ip6-localhost > log/11/stdout1083 2> log/11/stderr1083 === End of file commands.log === Start of file http_ipv6_server.log 17:50:35.188636 ====> Client connect 17:50:35.188675 accept_connection 3 returned 4 17:50:35.188693 accept_connection 3 returned 0 17:50:35.188708 Read 89 bytes 17:50:35.188718 Process 89 bytes request 17:50:35.188741 Got request: GET /verifiedserver HTTP/1.1 17:50:35.188750 Are-we-friendly question received 17:50:35.188777 Wrote request (89 bytes) input to log/11/server.input 17:50:35.188798 Identifying ourselves as friends 17:50:35.188859 Response sent (57 bytes) and written to log/11/server.response 17:50:35.188871 special request received, no persistency 17:50:35.188879 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:41713... * Established connection to ::1 (::1 port 41713) from ::1 port 54778 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:41713 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1:41713 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 134413 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 1083 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 134413 === End of file server.response === Start of file valgrind1083 ==136953== ==136953== Process terminating with default action of signal 4 (SIGILL) ==136953== Illegal opcode at address 0x4014520 ==136953== at 0x4014520: getparameter (tool_getparam.c:2862) ==136953== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136953== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136953== by 0x4003728: main (tool_main.c:186) === End of file valgrind1083 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/4/valgrind1085 ../src/curl -q --output log/4/curl1085.out --include --trace-ascii log/4/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/4/stdout1085 2> log/4/stderr1085 curl returned 132, when expecting 45 1085: exit FAILED == Contents of files in the log/4/ 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/4/valgrind1085 ../src/curl -q --output log/4/curl1085.out --include --trace-ascii log/4/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/4/stdout1085 2> log/4/stderr1085 === End of file commands.log === Start of file server.cmd Testnum 1085 === End of file server.cmd === Start of file valgrind1085 ==136898== ==136898== Process terminating with default action of signal 4 (SIGILL) ==136898== Illegal opcode at address 0x4014520 ==136898== at 0x4014520: getparameter (tool_getparam.c:2862) ==136898== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136898== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136898== by 0x4003728: main (tool_main.c:186) === 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/21/valgrind1089 ../src/curl -q --include --trace-ascii log/21/trace1089 --trace-time http://127.0.0.1:41669/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/21/stdout1089 2> log/21/stderr1089 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/13/valgrind1081 ../src/curl -q --include --trace-ascii log/13/trace1081 --trace-time http://127.0.0.1:43845/we/want/our/1081 http://127.0.0.1:43845/we/want/our/10810002 -w '%{redirect_url}\n' > log/13/stdout1081 2> log/13/stderr1081 1081: stdout FAILED: --- log/13/check-expected 2026-01-28 17:50:37.779888731 +0000 +++ log/13/check-generated 2026-01-28 17:50:37.779888731 +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:43845/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/13/ 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:43845/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/13/valgrind1081 ../src/curl -q --include --trace-ascii log/13/trace1081 --trace-time http://127.0.0.1:43845/we/want/our/1081 http://127.0.0.1:43845/we/want/our/10810002 -w '%{redirect_url}\n' > log/13/stdout1081 2> log/13/stderr1081 === End of file commands.log === Start of file http_server.log 17:50:36.184953 ====> Client connect 17:50:36.184991 accept_connection 3 returned 4 17:50:36.185012 accept_connection 3 returned 0 17:50:36.185028 Read 93 bytes 17:50:36.185038 Process 93 bytes request 17:50:36.185053 Got request: GET /verifiedserver HTTP/1.1 17:50:36.185063 Are-we-friendly question received 17:50:36.185091 Wrote request (93 bytes) input to log/13/server.input 17:50:36.185113 Identifying ourselves as friends 17:50:36.185175 Response sent (56 bytes) and written to log/13/server.response 17:50:36.185185 special request received, no persistency 17:50:36.185194 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 43304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1081 ==136903== ==136903== Process terminating with default action of signal 4 (SIGILL) ==136903== Illegal opcode at address 0x4014520 ==136903== at 0x4014520: getparameter (tool_getparam.c:2862) ==136903== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==136903== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==136903== by 0x4003728: main (tool_main.c:186) === End of file valgrind1081 CMD (33792): ../libtool --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/valgrind1088 ../src/curl -q --output log/20/curl1088.out --include --trace-ascii log/20/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:46725 --user iam:myself --location-trusted --anyauth > log/20/stdout1088 2> log/20/stderr1088 CMD (33792): ../libtool --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/valgrind1090 ../src/curl -q --include --trace-ascii log/7/trace1090 --trace-time http://127.0.0.1:35671/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/7/stdout1090 2> log/7/stderr1090 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/21/valgrind1089 ../src/curl -q --include --trace-ascii log/21/trace1089 --trace-time http://127.0.0.1:41669/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/21/stdout1089 2> log/21/stderr1089 1089: stdout FAILED: --- log/21/check-expected 2026-01-28 17:50:37.906555397 +0000 +++ log/21/check-generated 2026-01-28 17:50:37.906555397 +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:41669/10890001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/21/ 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:41669/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/21/valgrind1089 ../src/curl -q --include --trace-ascii log/21/trace1089 --trace-time http://127.0.0.1:41669/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/21/stdout1089 2> log/21/stderr1089 === End of file commands.log === Start of file http_server.log 17:50:35.473148 ====> Client connect 17:50:35.473175 accept_connection 3 returned 4 17:50:35.473189 accept_connection 3 returned 0 17:50:35.473200 Read 93 bytes 17:50:35.473208 Process 93 bytes request 17:50:35.473218 Got request: GET /verifiedserver HTTP/1.1 17:50:35.473225 Are-we-friendly question received 17:50:35.473246 Wrote request (93 bytes) input to log/21/server.input 17:50:35.473260 Identifying ourselves as friends 17:50:35.473307 Response sent (56 bytes) and written to log/21/server.response 17:50:35.473315 special request received, no persistency 17:50:35.473322 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 36318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind1089 ==137256== ==137256== Process terminating with default action of signal 4 (SIGILL) ==137256== Illegal opcode at address 0x4014520 ==137256== at 0x4014520: getparameter (tool_getparam.c:2862) ==137256== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137256== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137256== by 0x4003728: main (tool_main.c:186) === End of file valgrind1089 test 1088...[HTTP, proxy with --anyauth and Location: to new host 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/20/valgrind1088 ../src/curl -q --output log/20/curl1088.out --include --trace-ascii log/20/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:46725 --user iam:myself --location-trusted --anyauth > log/20/stdout1088 2> log/20/stderr1088 1088: 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 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/20/valgrind1088 ../src/curl -q --output log/20/curl1088.out --include --trace-ascii log/20/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:46725 --user iam:myself --location-trusted --anyauth > log/20/stdout1088 2> log/20/stderr1088 === End of file commands.log === Start of file http_server.log 17:50:35.470457 ====> Client connect 17:50:35.470493 accept_connection 3 returned 4 17:50:35.470510 accept_connection 3 returned 0 17:50:35.470523 Read 93 bytes 17:50:35.470531 Process 93 bytes request 17:50:35.470545 Got request: GET /verifiedserver HTTP/1.1 17:50:35.470553 Are-we-friendly question received 17:50:35.470577 Wrote request (93 bytes) input to log/20/server.input 17:50:35.470591 Identifying ourselves as friends 17:50:35.470643 Response sent (56 bytes) and written to log/20/server.response 17:50:35.470651 special request received, no persistency 17:50:35.470659 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 43886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1088 ==137235== ==137235== Process terminating with default action of signal 4 (SIGILL) ==137235== Illegal opcode at address 0x4014520 ==137235== at 0x4014520: getparameter (tool_getparam.c:2862) ==137235== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137235== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137235== by 0x4003728: main (tool_main.c:186) === End of file valgrind1088 CMD (33792): ../libtool --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/valgrind1087 ../src/curl -q --output log/23/curl1087.out --include --trace-ascii log/23/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:39173 --user iam:myself --location --anyauth > log/23/stdout1087 2> log/23/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/17/valgrind1078 ../src/curl -q --include --trace-ascii log/17/trace1078 --trace-time --proxy1.0 127.0.0.1:43101 -p http://127.0.0.1:44593/we/want/that/page/1078 http://127.0.0.1:44593/we/want/that/page/1078 > log/17/stdout1078 2> log/17/stderr1078 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/7/valgrind1090 ../src/curl -q --include --trace-ascii log/7/trace1090 --trace-time http://127.0.0.1:35671/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/7/stdout1090 2> log/7/stderr1090 1090: stdout FAILED: --- log/7/check-expected 2026-01-28 17:50:37.943222064 +0000 +++ log/7/check-generated 2026-01-28 17:50:37.943222064 +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:35671/10900001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/7/ 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:35671/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/7/valgrind1090 ../src/curl -q --include --trace-ascii log/7/trace1090 --trace-time http://127.0.0.1:35671/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/7/stdout1090 2> log/7/stderr1090 === End of file commands.log === Start of file http_server.log 17:50:35.557840 ====> Client connect 17:50:35.557883 accept_connection 3 returned 4 17:50:35.557903 accept_connection 3 returned 0 17:50:35.557920 Read 93 bytes 17:50:35.557931 Process 93 bytes request 17:50:35.557947 Got request: GET /verifiedserver HTTP/1.1 17:50:35.557957 Are-we-friendly question received 17:50:35.557988 Wrote request (93 bytes) input to log/7/server.input 17:50:35.558008 Identifying ourselves as friends 17:50:35.558077 Response sent (56 bytes) and written to log/7/server.response 17:50:35.558090 special request received, no persistency 17:50:35.558099 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 48182 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1090 ==137353== ==137353== Process terminating with default action of signal 4 (SIGILL) ==137353== Illegal opcode at address 0x4014520 ==137353== at 0x4014520: getparameter (tool_getparam.c:2862) ==137353== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137353== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137353== by 0x4003728: main (tool_main.c:186) === End of file valgrind1090 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/23/valgrind1087 ../src/curl -q --output log/23/curl1087.out --include --trace-ascii log/23/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:39173 --user iam:myself --location --anyauth > log/23/stdout1087 2> log/23/stderr1087 1087: 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 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/23/valgrind1087 ../src/curl -q --output log/23/curl1087.out --include --trace-ascii log/23/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:39173 --user iam:myself --location --anyauth > log/23/stdout1087 2> log/23/stderr1087 === End of file commands.log === Start of file http_server.log 17:50:36.318919 ====> Client connect 17:50:36.318966 accept_connection 3 returned 4 17:50:36.318984 accept_connection 3 returned 0 17:50:36.319000 Read 93 bytes 17:50:36.319011 Process 93 bytes request 17:50:36.319026 Got request: GET /verifiedserver HTTP/1.1 17:50:36.319035 Are-we-friendly question received 17:50:36.319062 Wrote request (93 bytes) input to log/23/server.input 17:50:36.319079 Identifying ourselves as friends 17:50:36.319160 Response sent (56 bytes) and written to log/23/server.response 17:50:36.319171 special request received, no persistency 17:50:36.319180 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 45648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1087 ==137141== ==137141== Process terminating with default action of signal 4 (SIGILL) ==137141== Illegal opcode at address 0x4014520 ==137141== at 0x4014520: getparameter (tool_getparam.c:2862) ==137141== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137141== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137141== by 0x4003728: main (tool_main.c:186) === End of file valgrind1087 CMD (33792): ../libtool --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/valgrind1091 ../src/curl -q --output log/12/curl1091.out --include --trace-ascii log/12/trace1091 --trace-time "ftp://127.0.0.1:38035/%2ftmp/moo/1091;type=i" --use-ascii > log/12/stdout1091 2> log/12/stderr1091 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/17/server/http2_server.pid" --logfile "log/17/http2_server.log" --logdir "log/17" --portfile log/17/server/http2_server.port --config log/17/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 136331 port 43101 * pid http-proxy => 136331 136331 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/17/valgrind1078 ../src/curl -q --include --trace-ascii log/17/trace1078 --trace-time --proxy1.0 127.0.0.1:43101 -p http://127.0.0.1:44593/we/want/that/page/1078 http://127.0.0.1:44593/we/want/that/page/1078 > log/17/stdout1078 2> log/17/stderr1078 1078: stdout FAILED: --- log/17/check-expected 2026-01-28 17:50:38.039888731 +0000 +++ log/17/check-generated 2026-01-28 17:50:38.039888731 +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/17/ 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/17/valgrind1078 ../src/curl -q --include --trace-ascii log/17/trace1078 --trace-time --proxy1.0 127.0.0.1:43101 -p http://127.0.0.1:44593/we/want/that/page/1078 http://127.0.0.1:44593/we/want/that/page/1078 > log/17/stdout1078 2> log/17/stderr1078 === End of file commands.log === Start of file http2_server.log 17:50:34.632892 Run as proxy, CONNECT to host 127.0.0.1 17:50:34.633059 Running HTTP IPv4 version on port 43101 17:50:34.633120 Wrote pid 136331 to log/17/server/http2_server.pid 17:50:34.633155 Wrote port 43101 to log/17/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:50:34.591695 ====> Client connect 17:50:34.591740 accept_connection 3 returned 4 17:50:34.591759 accept_connection 3 returned 0 17:50:34.596189 Read 93 bytes 17:50:34.596233 Process 93 bytes request 17:50:34.596250 Got request: GET /verifiedserver HTTP/1.1 17:50:34.596260 Are-we-friendly question received 17:50:34.596302 Wrote request (93 bytes) input to log/17/server.input 17:50:34.596324 Identifying ourselves as friends 17:50:34.596401 Response sent (56 bytes) and written to log/17/server.response 17:50:34.596412 special request received, no persistency 17:50:34.596420 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 60214 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1078 ==137380== ==137380== Process terminating with default action of signal 4 (SIGILL) ==137380== Illegal opcode at address 0x4014520 ==137380== at 0x4014520: getparameter (tool_getparam.c:2862) ==137380== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137380== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137380== by 0x4003728: main (tool_main.c:186) === End of file valgrind1078 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/12/valgrind1091 ../src/curl -q --output log/12/curl1091.out --include --trace-ascii log/12/trace1091 --trace-time "ftp://127.0.0.1:38035/%2ftmp/moo/1091;type=i" --use-ascii > log/12/stdout1091 2> log/12/stderr1091 1091: 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 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/12/valgrind1091 ../src/curl -q --output log/12/curl1091.out --include --trace-ascii log/12/trace1091 --trace-time "ftp://127.0.0.1:38035/%2ftmp/moo/1091;type=i" --use-ascii > log/12/stdout1091 2> log/12/stderr1091 === End of file commands.log === Start of file ftp_server.log 17:50:35.923369 ====> Client connect 17:50:35.923579 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:35.930360 < "USER anonymous" 17:50:35.930416 > "331 We are happy you popped in![CR][LF]" 17:50:35.930571 < "PASS ftp@example.com" 17:50:35.930596 > "230 Welcome you silly person[CR][LF]" 17:50:35.930738 < "PWD" 17:50:35.930771 > "257 "/" is current directory[CR][LF]" 17:50:35.930934 < "EPSV" 17:50:35.930964 ====> Passive DATA channel requested by client 17:50:35.930979 DATA sockfilt for passive data channel starting... 17:50:35.941408 DATA sockfilt for passive data channel started (pid 137512) 17:50:35.941550 DATA sockfilt for passive data channel listens on port 40991 17:50:35.941599 > "229 Entering Passive Mode (|||40991|)[CR][LF]" 17:50:35.941618 Client has been notified that DATA conn will be accepted on port 40991 17:50:35.946753 Client connects to port 40991 17:50:35.946820 ====> Client established passive DATA connection on port 40991 17:50:35.946940 < "TYPE I" 17:50:35.946982 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:35.950301 < "SIZE verifiedserver" 17:50:35.950365 > "213 17[CR][LF]" 17:50:35.950511 < "RETR verifiedserver" 17:50:35.950545 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:35.950645 =====> Closing passive DATA connection... 17:50:35.950661 Server disconnects passive DATA connection 17:50:35.950901 Server disconnected passive DATA connection 17:50:35.950930 DATA sockfilt for passive data channel quits (pid 137512) 17:50:35.951290 DATA sockfilt for passive data channel quit (pid 137512) 17:50:35.951317 =====> Closed passive DATA connection 17:50:35.951349 > "226 File transfer complete[CR][LF]" 17:50:35.997086 < "QUIT" 17:50:35.997168 > "221 bye bye baby[CR][LF]" 17:50:35.998629 MAIN sockfilt said DISC 17:50:35.998672 ====> Client disconnected 17:50:35.998768 Awaiting input === End of file ftp_server.log === Start CMD (33792): ../libtool --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/valgrind1092 ../src/curl -q --output log/18/curl1092.out --include --trace-ascii log/18/trace1092 --trace-time "ftp://127.0.0.1:34067/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:34067 > log/18/stdout1092 2> log/18/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/6/valgrind1095 ../src/curl -q --output log/6/curl1095.out --include --trace-ascii log/6/trace1095 --trace-time http://127.0.0.1:42747/1095 -u testuser:testpass --digest > log/6/stdout1095 2> log/6/stderr1095 of file ftp_sockctrl.log 17:50:35.765295 ====> Client connect 17:50:35.772854 Received DATA (on stdin) 17:50:35.772898 > 146 bytes data, server => client 17:50:35.772911 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:35.772921 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:35.772931 '220 \___|\___/|_| \_\_____|\r\n' 17:50:35.776286 < 16 bytes data, client => server 17:50:35.776318 'USER anonymous\r\n' 17:50:35.776599 Received DATA (on stdin) 17:50:35.776611 > 33 bytes data, server => client 17:50:35.776621 '331 We are happy you popped in!\r\n' 17:50:35.776670 < 22 bytes data, client => server 17:50:35.776680 'PASS ftp@example.com\r\n' 17:50:35.776774 Received DATA (on stdin) 17:50:35.776784 > 30 bytes data, server => client 17:50:35.776794 '230 Welcome you silly person\r\n' 17:50:35.776836 < 5 bytes data, client => server 17:50:35.776846 'PWD\r\n' 17:50:35.776950 Received DATA (on stdin) 17:50:35.776961 > 30 bytes data, server => client 17:50:35.776970 '257 "/" is current directory\r\n' 17:50:35.777031 < 6 bytes data, client => server 17:50:35.777042 'EPSV\r\n' 17:50:35.787808 Received DATA (on stdin) 17:50:35.787826 > 39 bytes data, server => client 17:50:35.787837 '229 Entering Passive Mode (|||40991|)\r\n' 17:50:35.789670 < 8 bytes data, client => server 17:50:35.789696 'TYPE I\r\n' 17:50:35.796180 Received DATA (on stdin) 17:50:35.796213 > 33 bytes data, server => client 17:50:35.796224 '200 I modify TYPE as you wanted\r\n' 17:50:35.796330 < 21 bytes data, client => server 17:50:35.796341 'SIZE verifiedserver\r\n' 17:50:35.796546 Received DATA (on stdin) 17:50:35.796557 > 8 bytes data, server => client 17:50:35.796566 '213 17\r\n' 17:50:35.796613 < 21 bytes data, client => server 17:50:35.796622 'RETR verifiedserver\r\n' 17:50:35.796843 Received DATA (on stdin) 17:50:35.796854 > 29 bytes data, server => client 17:50:35.796864 '150 Binary junk (17 bytes).\r\n' 17:50:35.797533 Received DATA (on stdin) 17:50:35.797546 > 28 bytes data, server => client 17:50:35.797557 '226 File transfer complete\r\n' 17:50:35.843013 < 6 bytes data, client => server 17:50:35.843058 'QUIT\r\n' 17:50:35.843369 Received DATA (on stdin) 17:50:35.843386 > 18 bytes data, server => client 17:50:35.843397 '221 bye bye baby\r\n' 17:50:35.844740 ====> Client disconnect 17:50:35.844963 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:35.787164 Running IPv4 version 17:50:35.787279 Listening on port 40991 17:50:35.787323 Wrote pid 137512 to log/12/server/ftp_sockdata.pid 17:50:35.787528 Received PING (on stdin) 17:50:35.787630 Received PORT (on stdin) 17:50:35.792852 ====> Client connect 17:50:35.796893 Received DATA (on stdin) 17:50:35.796909 > 17 bytes data, server => client 17:50:35.796919 'WE ROOLZ: 81047\r\n' 17:50:35.796943 Received DISC (on stdin) 17:50:35.796954 ====> Client forcibly disconnected 17:50:35.797120 Received QUIT (on stdin) 17:50:35.797132 quits 17:50:35.797216 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1091 === End of file server.cmd === Start of file valgrind1091 ==137536== ==137536== Process terminating with default action of signal 4 (SIGILL) ==137536== Illegal opcode at address 0x4014520 ==137536== at 0x4014520: getparameter (tool_getparam.c:2862) ==137536== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137536== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137536== by 0x4003728: main (tool_main.c:186) === End of file valgrind1091 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/18/valgrind1092 ../src/curl -q --output log/18/curl1092.out --include --trace-ascii log/18/trace1092 --trace-time "ftp://127.0.0.1:34067/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:34067 > log/18/stdout1092 2> log/18/stderr1092 1092: 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 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/18/valgrind1092 ../src/curl -q --output log/18/curl1092.out --include --trace-ascii log/18/trace1092 --trace-time "ftp://127.0.0.1:34067/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:34067 > log/18/stdout1092 2> log/18/stderr1092 === End of file commands.log === Start of file http_server.log 17:50:36.219149 ====> Client connect 17:50:36.219192 accept_connection 3 returned 4 17:50:36.219215 accept_connection 3 returned 0 17:50:36.219231 Read 93 bytes 17:50:36.219242 Process 93 bytes request 17:50:36.219256 Got request: GET /verifiedserver HTTP/1.1 17:50:36.219265 Are-we-friendly question received 17:50:36.219297 Wrote request (93 bytes) input to log/18/server.input 17:50:36.219315 Identifying ourselves as friends 17:50:36.219391 Response sent (56 bytes) and written to log/18/server.response 17:50:36.219404 special request received, no persistency 17:50:36.219413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1092 ==137628== ==137628== Process terminating with default action of signal 4 (SIGILL) ==137628== Illegal opcode at address 0x4014520 ==137628== at 0x4014520: getparameter (tool_getparam.c:2862) ==137628== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137628== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137628== by 0x4003728: main (tool_main.c:186) === End of file valgrind1092 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:42747/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:42747/1095 -u testuser:testpass --digest > log/6/stdout1095 2> log/6/stderr1095 === End of file commands.log === Start of file http_server.log 17:50:36.839585 ====> Client connect 17:50:36.839636 accept_connection 3 returned 4 17:50:36.839656 accept_connection 3 returned 0 17:50:36.839673 Read 93 bytes 17:50:36.839682 Process 93 bytes request 17:50:36.839698 Got request: GET /verifiedserver HTTP/1.1 17:50:36.839707 Are-we-friendly question received 17:50:36.839738 Wrote request (93 bytes) input to log/6/server.input 17:50:36.839758 Identifying ourselves as friendCMD (33792): ../libtool --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/valgrind1096 ../src/curl -q --output log/9/curl1096.out --include --trace-ascii log/9/trace1096 --trace-time ftp://127.0.0.1:36391/dir/1096 ftp://127.0.0.1:36391/dir/1096 > log/9/stdout1096 2> log/9/stderr1096 s 17:50:36.839847 Response sent (56 bytes) and written to log/6/server.response 17:50:36.839860 special request received, no persistency 17:50:36.839870 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 43260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind1095 ==137730== ==137730== Process terminating with default action of signal 4 (SIGILL) ==137730== Illegal opcode at address 0x4014520 ==137730== at 0x4014520: getparameter (tool_getparam.c:2862) ==137730== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137730== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137730== by 0x4003728: main (tool_main.c:186) === End of file valgrind1095 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/9/valgrind1096 ../src/curl -q --output log/9/curl1096.out --include --trace-ascii log/9/trace1096 --trace-time ftp://127.0.0.1:36391/dir/1096 ftp://127.0.0.1:36391/dir/1096 > log/9/stdout1096 2> log/9/stderr1096 1096: 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 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/9/valgrind1096 ../src/curl -q --output log/9/curl1096.out --include --trace-ascii log/9/trace1096 --trace-time ftp://127.0.0.1:36391/dir/1096 ftp://127.0.0.1:36391/dir/1096 > log/9/stdout1096 2> log/9/stderr1096 === End of file commands.log === Start of file ftp_server.log 17:50:37.086814 ====> Client connect 17:50:37.086985 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:37.090214 < "USER anonymous" 17:50:37.090270 > "331 We are happy you popped in![CR][LF]" 17:50:37.090477 < "PASS ftp@example.com" 17:50:37.090504 > "230 Welcome you silly person[CR][LF]" 17:50:37.090645 < "PWD" 17:50:37.090673 > "257 "/" is current directory[CR][LF]" 17:50:37.090826 < "EPSV" 17:50:37.090851 ====> Passive DATA channel requested by client 17:50:37.090865 DATA sockfilt for passive data channel starting... 17:50:37.098630 DATA sockfilt for passive data channel started (pid 137779) 17:50:37.098779 DATA sockfilt for passive data channel listens on port 36697 17:50:37.098838 > "229 Entering Passive Mode (|||36697|)[CR][LF]" 17:50:37.098859 Client has been notified that DATA conn will be accepted on port 36697 17:50:37.101755 Client connects to port 36697 17:50:37.101800 ====> Client established passive DATA connection on port 36697 17:50:37.101899 < "TYPE I" 17:50:37.101943 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:37.102166 < "SIZE verifiedserver" 17:50:37.102211 > "213 17[CR][LF]" 17:50:37.102392 < "RETR verifiedserver" 17:50:37.102433 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:37.102534 =====> Closing passive DATA connection... 17:50:37.102559 Server disconnects passive DATA connection 17:50:37.102818 Server disconnected passive DATA connection 17:50:37.102846 DATA sockfilt for passive data channel quits (pid 137779) 17:50:37.103074 DATA sockfilt for passive data channel quit (pid 137779) 17:50:37.103100 =====> Closed passive DATA connection 17:50:37.103130 > "226 File transfer complete[CR][LF]" 17:50:37.147009 < "QUIT" 17:50:37.147076 > "221 bye bye baby[CR][LF]" 17:50:37.148204 MAIN sockfilt said DISC 17:50:37.148241 ====> Client disconnected 17:50:37.148321 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:36.932857 ====> Client connect 17:50:36.933176 Received DATA (on stdin) 17:50:36.933189 > 146 bytes data, server => client 17:50:36.933202 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:36.933212 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:36.933222 '220 \___|\___/|_| \_\_____|\r\n' 17:50:36.936177 < 16 bytes data, client => server 17:50:36.936205 'USER anonymous\r\n' 17:50:36.936456 Received DATA (on stdin) 17:50:36.936468 > 33 bytes data, server => client 17:50:36.936479 '331 We are happy you popped in!\r\n' 17:50:36.936564 < 22 bytes data, client => server 17:50:36.936575 'PASS ftp@example.com\r\n' 17:50:36.936682 Received DATA (on stdin) 17:50:36.936693 > 30 bytes data, server => client 17:50:36.936703 '230 Welcome you silly person\r\n' 17:50:36.936748 < 5 bytes data, client => server 17:50:36.936758 'PWD\r\n' 17:50:36.936851 Received DATA (on stdin) 17:50:36.936862 > 30 bytes data, server => client 17:50:36.936872 '257 "/" is current directory\r\n' 17:50:36.936928 < 6 bytes data, client => server 17:50:36.936938 'EPSV\r\n' 17:50:36.945051 Received DATA (on stdin) 17:50:36.945069 > 39 bytes data, server => client 17:50:36.945080 '229 Entering Passive Mode (|||36697|)\r\n' 17:50:36.947625 < 8 bytes data, client => server 17:50:36.947649 'TYPE I\r\n' 17:50:36.948131 Received DATA (on stdin) 17:50:36.948146 > 33 bytes data, server => client 17:50:36.948157 '200 I modify TYPE as you wanted\r\n' 17:50:36.948244 < 21 bytes data, client => server 17:50:36.948261 'SIZE verifiedserver\r\n' 17:50:36.948397 Received DATA (on stdin) 17:50:36.948410 > 8 bytes data, server => client 17:50:36.948420 '213 17\r\n' 17:50:36.948477 < 21 bytes data, client => server 17:50:36.948492 'RETR verifiedserver\r\n' 17:50:36.948743 Received DATA (on stdin) 17:50:36.948755 > 29 bytes data, server => client 17:50:36.948765 '150 Binary junk (17 bytes).\r\n' 17:50:36.949311 Received DATA (on stdin) 17:50:36.949323 > 28 bytes data, server => client 17:50:36.949332 '226 File transfer complete\r\n' 17:50:36.992944 < 6 bytes data, client => server 17:50:36.992978 'QUIT\r\n' 17:50:36.993269 Received DATA (on stdin) 17:50:36.993283 > 18 bytes data, server => client 17:50:36.993294 '221 bye bye baby\r\n' 17:50:36.994332 ====> Client disconnect 17:50:36.994513 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:37.943714 Running IPv4 version 17:50:37.943803 Listening on port 36697 17:50:37.943842 Wrote pid 137779 to log/9/server/ftp_sockdata.pid 17:50:37.944742 Received PING (on stdin) 17:50:37.944858 Received PORT (on stdin) 17:50:37.947875 ====> Client connect 17:50:37.948827 Received DATA (on stdin) 17:50:37.948842 > 17 bytes data, server => client 17:50:37.948852 'WE ROOLZ: 80975\r\n' 17:50:37.948880 Received DISC (on stdin) 17:50:37.948891 ====> Client forcibly disconnected 17:50:37.949034 Received QUIT (on stdin) 17:50:37.949045 quits 17:50:37.949113 ============> 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 ==137815== ==137815== Process terminating with default action of signal 4 (SIGILL) ==137815== Illegal opcode at address 0x4014520 ==137815== at 0x4014520: getparameter (tool_getparam.c:2862) ==137815== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137815== by 0x4003728: 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/8/valgrind1101 ../src/curl -q --output log/8/curl1101.out --include --trace-ascii log/8/trace1101 --trace-time http://user:secret@127.0.0.1:42045/gimme/1101 > log/8/stdout1101 2> log/8/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/19/valgrind1098 ../src/curl -q --include --trace-ascii log/19/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:36987 > log/19/stdout1098 2> log/19/stderr1098 tool_operate.c:2244) ==137815== by 0x4003728: main (tool_main.c:186) === End of file valgrind1096 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/8/valgrind1101 ../src/curl -q --output log/8/curl1101.out --include --trace-ascii log/8/trace1101 --trace-time http://user:secret@127.0.0.1:42045/gimme/1101 > log/8/stdout1101 2> log/8/stderr1101 1101: 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 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/8/valgrind1101 ../src/curl -q --output log/8/curl1101.out --include --trace-ascii log/8/trace1101 --trace-time http://user:secret@127.0.0.1:42045/gimme/1101 > log/8/stdout1101 2> log/8/stderr1101 === End of file commands.log === Start of file http_server.log 17:50:37.152729 ====> Client connect 17:50:37.152765 accept_connection 3 returned 4 17:50:37.152782 accept_connection 3 returned 0 17:50:37.152946 Read 93 bytes 17:50:37.152960 Process 93 bytes request 17:50:37.152972 Got request: GET /verifiedserver HTTP/1.1 17:50:37.152981 Are-we-friendly question received 17:50:37.153013 Wrote request (93 bytes) input to log/8/server.input 17:50:37.153029 Identifying ourselves as friends 17:50:37.153088 Response sent (56 bytes) and written to log/8/server.response 17:50:37.153097 special request received, no persistency 17:50:37.153106 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56186 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind1101 ==138043== ==138043== Process terminating with default action of signal 4 (SIGILL) ==138043== Illegal opcode at address 0x4014520 ==138043== at 0x4014520: getparameter (tool_getparam.c:2862) ==138043== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138043== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138043== by 0x4003728: main (tool_main.c:186) === End of file valgrind1101 CMD (33792): ../libtool --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/valgrind1104 ../src/curl -q --output log/22/curl1104.out --include --trace-ascii log/22/trace1104 --trace-time http://127.0.0.1:42933/want/1104 -L -x 127.0.0.1:42933 -c log/22/cookies1104.jar > log/22/stdout1104 2> log/22/stderr1104 CMD (33792): ../libtool --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/valgrind1099 ../src/curl -q --include --trace-ascii log/3/trace1099 --trace-time tftp://127.0.0.1:55780/an/invalid-file tftp://127.0.0.1:55780//1099 > log/3/stdout1099 2> log/3/stderr1099 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/19/valgrind1098 ../src/curl -q --include --trace-ascii log/19/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:36987 > log/19/stdout1098 2> log/19/stderr1098 1098: stdout FAILED: --- log/19/check-expected 2026-01-28 17:50:39.279888730 +0000 +++ log/19/check-generated 2026-01-28 17:50:39.279888730 +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/19/ 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/19/valgrind1098 ../src/curl -q --include --trace-ascii log/19/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:36987 > log/19/stdout1098 2> log/19/stderr1098 === End of file commands.log === Start of file http_server.log 17:50:36.994235 ====> Client connect 17:50:36.994278 accept_connection 3 returned 4 17:50:36.994297 accept_connection 3 returned 0 17:50:36.994313 Read 93 bytes 17:50:36.994323 Process 93 bytes request 17:50:36.994337 Got request: GET /verifiedserver HTTP/1.1 17:50:36.994347 Are-we-friendly question received 17:50:36.994376 Wrote request (93 bytes) input to log/19/server.input 17:50:36.994394 Identifying ourselves as friends 17:50:36.994456 Response sent (56 bytes) and written to log/19/server.response 17:50:36.994467 special request received, no persistency 17:50:36.994476 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 52426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1098 ==137847== ==137847== Process terminating with default action of signal 4 (SIGILL) ==137847== Illegal opcode at address 0x4014520 ==137847== at 0x4014520: getparameter (tool_getparam.c:2862) ==137847== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137847== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137847== by 0x4003728: main (tool_main.c:186) === End of file valgrind1098 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/22/valgrind1104 ../src/curl -q --output log/22/curl1104.out --include --trace-ascii log/22/trace1104 --trace-time http://127.0.0.1:42933/want/1104 -L -x 127.0.0.1:42933 -c log/22/cookies1104.jar > log/22/stdout1104 2> log/22/stderr1104 1104: 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 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/22/valgrind1104 ../src/curl -q --output log/22/curl1104.out --include --trace-ascii log/22/trace1104 --trace-time http://127.0.0.1:42933/want/1104 -L -x 127.0.0.1:42933 -c log/22/cookies1104.jar > log/22/stdout1104 2> log/22/stderr1104 === End of file commands.log === Start of file http_server.log 17:50:37.178100 ====> Client connect 17:50:37.178137 accept_connection 3 returned 4 17:50:37.178153 accept_connection 3 returned 0 17:50:37.178167 Read 93 bytes 17:50:37.178176 Process 93 bytes request 17:50:37.178190 Got request: GET /verifiedserver HTTP/1.1 17:50:37.178199 Are-we-friendly question received 17:50:37.178227 Wrote request (93 bytes) input to log/22/server.input 17:50:37.178243 Identifying ourselves as friends 17:50:37.178297 Response sent (56 bytes) and written to log/22/server.response 17:50:37.178305 special request received, no persistency 17:50:37.178313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 34364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind1104 ==138056== ==138056== Process terminating with default action of signal 4 (SIGILL) ==138056== Illegal opcode at address 0x4014520 ==138056== at 0x4014520: getparameter (tool_getparam.c:2862) ==138056== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138056== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138056== by 0x4003728: main (tool_main.c:186) === End of file valgrind1104 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/18/stdout1119 2> log/18/stderr1119 CMD (33792): ../libtool --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:41693/1102 > log/10/stdout1102 2> log/10/stderr1102 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/3/valgrind1099 ../src/curl -q --include --trace-ascii log/3/trace1099 --trace-time tftp://127.0.0.1:55780/an/invalid-file tftp://127.0.0.1:55780//1099 > log/3/stdout1099 2> log/3/stderr1099 1099: stdout FAILED: --- log/3/check-expected 2026-01-28 17:50:39.306555397 +0000 +++ log/3/check-generated 2026-01-28 17:50:39.306555397 +0000 @@ -1 +0,0 @@ -data for 1099[LF] == Contents of files in the log/3/ 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/3/valgrind1099 ../src/curl -q --include --trace-ascii log/3/trace1099 --trace-time tftp://127.0.0.1:55780/an/invalid-file tftp://127.0.0.1:55780//1099 > log/3/stdout1099 2> log/3/stderr1099 === End of file commands.log === Start of file server.cmd Testnum 1099 === End of file server.cmd === Start of file tftp_server.log 17:50:36.992675 trying to get file: verifiedserver mode 1 17:50:36.992708 Are-we-friendly question received 17:50:36.992723 write 17:50:36.992754 read 17:50:37.002114 read: 4 17:50:37.002193 end of one transfer === End of file tftp_server.log === Start of file valgrind1099 ==137823== ==137823== Process terminating with default action of signal 4 (SIGILL) ==137823== Illegal opcode at address 0x4014520 ==137823== at 0x4014520: getparameter (tool_getparam.c:2862) ==137823== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137823== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137823== by 0x4003728: main (tool_main.c:186) === End of file valgrind1099 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/18/stdout1119 2> log/18/stderr1119 valgrind SKIPPED s------e--- OK (1064 out of 1760, remaining: 01:10, took 0.697s, duration: 01:47) 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:41693/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:41693/1102 > log/10/stdout1102 2> log/10/stderr1102 === End of file commands.log === Start of file ftp_server.log 17:50:37.332706 ====> Client connect 17:50:37.332884 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:37.333181 < "USER anonymous" 17:50:37.333220 > "331 We are happy you popped in![CR][LF]" 17:50:37.333497 < "PASS ftp@example.com" 17:50:37.333541 > "230 Welcome you silly person[CR][LF]" 17:50:37.333773 < "PWD" 17:50:37.333817 > "257 "/" is current directory[CR][LF]" 17:50:37.334047 < "EPSV" 17:50:37.334079 ====> Passive DATA channel requested by client 17:50:37.334097 DATA sockfilt for passive data channel starting... 17:50:37.343373 DATA sockfilt for passive data channel started (pid 138030) 17:50:37.347222 DATA sockfilt for passive data channel listens on port 44119 17:50:37.347319 > "229 Entering Passive Mode (|||44119|)[CR][LF]" 17:50:37.347350 Client has been notified that DATA conn will be accepted on port 44119 17:50:37.348110 Client connects to port 44119 17:50:37.348153 ====> Client established passive DATA connection on port 44119 17:50:37.348264 < "TYPE I" 17:50:37.348305 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:37.348490 < "SIZE verifiedserver" 17:50:37.348531 > "213 17[CR][LF]" 17:50:37.348719 < "RETR verifiedserver" 17:50:37.348762 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:37.348877 =====> Closing passive DATA connection... 17:50:37.348902 Server disconnects passive DATA connection 17:50:37.349166 Server disconnected passive DATA connection 17:50:37.349200 DATA sockfilt for passive data channel quits (pid 138030) 17:50:37.349520 DATA sockfilt for passive data channel quit (pid 138030) 17:50:37.349550 =====> Closed passive DATA connection 17:50:37.349585 > "226 File transfer complete[CR][LF]" 17:50:37.393664 < "QUIT" 17:50:37.393724 > "221 bye bye baby[CR][LF]" 17:50:37.394925 MAIN sockfilt said DISC 17:50:37.394968 ====> Client disconnected 17:50:37.395049 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:37.178764 ====> Client connect 17:50:37.179078 Received DATA (on stdin) 17:50:37.179093 > 146 bytes data, server => client 17:50:37.179103 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:37.179112 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:37.179120 '220 \___|\___/|_| \_\_____|\r\n' 17:50:37.179190 < 16 bytes data, client => server 17:50:37.179200 'USER anonymous\r\n' 17:50:37.179406 Received DATA (on stdin) 17:50:37.179421 > 33 bytes data, server => client 17:50:37.179432 '331 We are happy you popped in!\r\n' 17:50:37.179511 < 22 bytes data, client => server 17:50:37.179528 'PASS ftp@example.com\r\n' 17:50:37.179730 Received DATA (on stdin) 17:50:37.179744 > 30 bytes data, server => client 17:50:37.179755 '230 Welcome you silly person\r\n' 17:50:37.179816 < 5 bytes data, client => server 17:50:37.179857 'PWD\r\n' 17:50:37.180005 Received DATA (on stdin) 17:50:37.180018 > 30 bytes data, server => client 17:50:37.180028 '257 "/" is current directory\r\n' 17:50:37.180094 < 6 bytes data, client => server 17:50:37.180136 'EPSV\r\n' 17:50:37.193552 Received DATA (on stdin) 17:50:37.193577 > 39 bytes data, server => client 17:50:37.193589 '229 Entering Passive Mode (|||44119|)\r\n' 17:50:37.193825 < 8 bytes data, client => server 17:50:37.193846 'TYPE I\r\n' 17:50:37.194488 Received DATA (on stdin) 17:50:37.194503 > 33 bytes data, server => client 17:50:37.194513 '200 I modify TYPE as you wanted\r\n' 17:50:37.194576 < 21 bytes data, client => server 17:50:37.194587 'SIZE verifiedserver\r\n' 17:50:37.194715 Received DATA (on stdin) 17:50:37.194728 > 8 bytes data, server => client 17:50:37.194739 '213 17\r\n' 17:50:37.194797 < 21 bytes data, client => server 17:50:37.194812 'RETR verifiedserver\r\n' 17:50:37.195190 Received DATA (on stdin) 17:50:37.195202 > 29 bytes data, server => client 17:50:37.195213 '150 Binary junk (17 bytes).\r\n' 17:50:37.195772 Received DATA (on stdin) 17:50:37.195787 > 28 bytes data, server => client 17:50:37.195798 '226 File transfer complete\r\n' 17:50:37.239645 < 6 bytes data, client => server 17:50:37.239673 'QUIT\r\n' 17:50:37.239916 Received DATA (on stdin) 17:50:37.239932 > 18 bytes data, server => client 17:50:37.239943 '221 bye bye baby\r\n' 17:50:37.241044 ====> Client disconnect 17:50:37.241237 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:37.187401 Running IPv4 version 17:50:37.187492 Listening on port 44119 17:50:37.187533 Wrote pid 138030 to log/10/server/ftp_sockdata.pid 17:50:37.187555 Received PING (on stdin) 17:50:37.192865 Received PORT (on stdin) 17:50:37.193875 ====> Client connect 17:50:37.195092 ReceiveCMD (33792): ../libtool --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/valgrind1103 ../src/curl -q --output log/14/curl1103.out --include --trace-ascii log/14/trace1103 --trace-time ftp://127.0.0.1:38643/1103 > log/14/stdout1103 2> log/14/stderr1103 CMD (33792): ../libtool --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/valgrind1093 ../src/curl -q --output log/1/curl1093.out --include --trace-ascii log/1/trace1093 --trace-time "tftp://127.0.0.1:33255//1093;mode=octet" --use-ascii > log/1/stdout1093 2> log/1/stderr1093 d DATA (on stdin) 17:50:37.195108 > 17 bytes data, server => client 17:50:37.195119 'WE ROOLZ: 81055\r\n' 17:50:37.195148 Received DISC (on stdin) 17:50:37.195162 ====> Client forcibly disconnected 17:50:37.195397 Received QUIT (on stdin) 17:50:37.195412 quits 17:50:37.195488 ============> 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 ==138128== ==138128== Process terminating with default action of signal 4 (SIGILL) ==138128== Illegal opcode at address 0x4014520 ==138128== at 0x4014520: getparameter (tool_getparam.c:2862) ==138128== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138128== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138128== by 0x4003728: main (tool_main.c:186) === End of file valgrind1102 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/14/valgrind1103 ../src/curl -q --output log/14/curl1103.out --include --trace-ascii log/14/trace1103 --trace-time ftp://127.0.0.1:38643/1103 > log/14/stdout1103 2> log/14/stderr1103 1103: 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 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/14/valgrind1103 ../src/curl -q --output log/14/curl1103.out --include --trace-ascii log/14/trace1103 --trace-time ftp://127.0.0.1:38643/1103 > log/14/stdout1103 2> log/14/stderr1103 === End of file commands.log === Start of file ftp_server.log 17:50:37.356699 ====> Client connect 17:50:37.356875 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:37.360351 < "USER anonymous" 17:50:37.360407 > "331 We are happy you popped in![CR][LF]" 17:50:37.360610 < "PASS ftp@example.com" 17:50:37.360646 > "230 Welcome you silly person[CR][LF]" 17:50:37.360803 < "PWD" 17:50:37.360834 > "257 "/" is current directory[CR][LF]" 17:50:37.360995 < "EPSV" 17:50:37.361018 ====> Passive DATA channel requested by client 17:50:37.361032 DATA sockfilt for passive data channel starting... 17:50:37.365352 DATA sockfilt for passive data channel started (pid 138053) 17:50:37.365470 DATA sockfilt for passive data channel listens on port 41125 17:50:37.365519 > "229 Entering Passive Mode (|||41125|)[CR][LF]" 17:50:37.365539 Client has been notified that DATA conn will be accepted on port 41125 17:50:37.367160 Client connects to port 41125 17:50:37.367193 ====> Client established passive DATA connection on port 41125 17:50:37.367284 < "TYPE I" 17:50:37.367316 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:37.367710 < "SIZE verifiedserver" 17:50:37.367751 > "213 17[CR][LF]" 17:50:37.367905 < "RETR verifiedserver" 17:50:37.367942 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:37.368034 =====> Closing passive DATA connection... 17:50:37.368056 Server disconnects passive DATA connection 17:50:37.368320 Server disconnected passive DATA connection 17:50:37.368356 DATA sockfilt for passive data channel quits (pid 138053) 17:50:37.368631 DATA sockfilt for passive data channel quit (pid 138053) 17:50:37.368661 =====> Closed passive DATA connection 17:50:37.368692 > "226 File transfer complete[CR][LF]" 17:50:37.413725 < "QUIT" 17:50:37.413785 > "221 bye bye baby[CR][LF]" 17:50:37.415131 MAIN sockfilt said DISC 17:50:37.415167 ====> Client disconnected 17:50:37.415255 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:37.199525 ====> Client connect 17:50:37.203079 Received DATA (on stdin) 17:50:37.203101 > 146 bytes data, server => client 17:50:37.203113 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:37.203123 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:37.203132 '220 \___|\___/|_| \_\_____|\r\n' 17:50:37.206296 < 16 bytes data, client => server 17:50:37.206331 'USER anonymous\r\n' 17:50:37.206597 Received DATA (on stdin) 17:50:37.206610 > 33 bytes data, server => client 17:50:37.206621 '331 We are happy you popped in!\r\n' 17:50:37.206686 < 22 bytes data, client => server 17:50:37.206698 'PASS ftp@example.com\r\n' 17:50:37.206826 Received DATA (on stdin) 17:50:37.206837 > 30 bytes data, server => client 17:50:37.206848 '230 Welcome you silly person\r\n' 17:50:37.206897 < 5 bytes data, client => server 17:50:37.206908 'PWD\r\n' 17:50:37.207013 Received DATA (on stdin) 17:50:37.207024 > 30 bytes data, server => client 17:50:37.207034 '257 "/" is current directory\r\n' 17:50:37.207094 < 6 bytes data, client => server 17:50:37.207105 'EPSV\r\n' 17:50:37.212082 Received DATA (on stdin) 17:50:37.212101 > 39 bytes data, server => client 17:50:37.212113 '229 Entering Passive Mode (|||41125|)\r\n' 17:50:37.213228 < 8 bytes data, client => server 17:50:37.213245 'TYPE I\r\n' 17:50:37.213498 Received DATA (on stdin) 17:50:37.213511 > 33 bytes data, server => client 17:50:37.213521 '200 I modify TYPE as you wanted\r\n' 17:50:37.213576 < 21 bytes data, client => server 17:50:37.213588 'SIZE verifiedserver\r\n' 17:50:37.213931 Received DATA (on stdin) 17:50:37.213943 > 8 bytes data, server => client 17:50:37.213952 '213 17\r\n' 17:50:37.214003 < 21 bytes data, client => server 17:50:37.214014 'RETR verifiedserver\r\n' 17:50:37.214339 Received DATA (on stdin) 17:50:37.214353 > 29 bytes data, server => client 17:50:37.214365 '150 Binary junk (17 bytes).\r\n' 17:50:37.214878 Received DATA (on stdin) 17:50:37.214892 > 28 bytes data, server => client 17:50:37.214903 '226 File transfer complete\r\n' 17:50:37.259677 < 6 bytes data, client => server 17:50:37.259721 'QUIT\r\n' 17:50:37.259971 Received DATA (on stdin) 17:50:37.259984 > 18 bytes data, server => client 17:50:37.259994 '221 bye bye baby\r\n' 17:50:37.261254 ====> Client disconnect 17:50:37.261436 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:37.210473 Running IPv4 version 17:50:37.210531 Listening on port 41125 17:50:37.210569 Wrote pid 138053 to log/14/server/ftp_sockdata.pid 17:50:37.211467 Received PING (on stdin) 17:50:37.211561 Received PORT (on stdin) 17:50:37.213290 ====> Client connect 17:50:37.214243 Received DATA (on stdin) 17:50:37.214257 > 17 bytes data, server => client 17:50:37.214268 'WE ROOLZ: 81129\r\n' 17:50:37.214297 Received DISC (on stdin) 17:50:37.214310 ====> Client forcibly disconnected 17:50:37.214553 Received QUIT (on stdin) 17:50:37.214566 quits 17:50:37.214643 ============> 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 ==138162== ==138162== Process terminating with default action of signal 4 (SIGILL) ==138162== Illegal opcode at address 0x4014520 ==138162== at 0x4014520: getparameter (tool_getparam.c:2862) ==138162== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138162== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138162== by 0x4003728: main (tool_main.c:186) === End of file valgrind1103 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 137609 port 33255 * pid tftp => 137609 137609 test 1093...[TFTP retCMD (33792): ../libtool --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/valgrind1105 ../src/curl -q --output log/15/curl1105.out --include --trace-ascii log/15/trace1105 --trace-time "http://127.0.0.1:41057/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/15/cookie1105.txt -d "userid=myname&password=mypassword" > log/15/stdout1105 2> log/15/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/5/valgrind1107 ../src/curl -q --output log/5/curl1107.out --include --trace-ascii log/5/trace1107 --trace-time ftp://127.0.0.1:34559/1107 --ftp-pret > log/5/stdout1107 2> log/5/stderr1107 rieve 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/1/valgrind1093 ../src/curl -q --output log/1/curl1093.out --include --trace-ascii log/1/trace1093 --trace-time "tftp://127.0.0.1:33255//1093;mode=octet" --use-ascii > log/1/stdout1093 2> log/1/stderr1093 1093: 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 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/1/valgrind1093 ../src/curl -q --output log/1/curl1093.out --include --trace-ascii log/1/trace1093 --trace-time "tftp://127.0.0.1:33255//1093;mode=octet" --use-ascii > log/1/stdout1093 2> log/1/stderr1093 === End of file commands.log === Start of file server.cmd Testnum 1093 === End of file server.cmd === Start of file tftp_server.log 17:50:36.169101 Wrote pid 137609 to log/1/server/tftp_server.pid 17:50:36.169160 Wrote port 33255 to log/1/server/tftp_server.port 17:50:36.169171 Running IPv4 version on port UDP/33255 === End of file tftp_server.log === Start of file valgrind1093 ==137997== ==137997== Process terminating with default action of signal 4 (SIGILL) ==137997== Illegal opcode at address 0x4014520 ==137997== at 0x4014520: getparameter (tool_getparam.c:2862) ==137997== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==137997== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==137997== by 0x4003728: main (tool_main.c:186) === End of file valgrind1093 test 1105...[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/15/valgrind1105 ../src/curl -q --output log/15/curl1105.out --include --trace-ascii log/15/trace1105 --trace-time "http://127.0.0.1:41057/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/15/cookie1105.txt -d "userid=myname&password=mypassword" > log/15/stdout1105 2> log/15/stderr1105 1105: 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 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/15/valgrind1105 ../src/curl -q --output log/15/curl1105.out --include --trace-ascii log/15/trace1105 --trace-time "http://127.0.0.1:41057/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/15/cookie1105.txt -d "userid=myname&password=mypassword" > log/15/stdout1105 2> log/15/stderr1105 === End of file commands.log === Start of file http_server.log 17:50:37.221461 ====> Client connect 17:50:37.221502 accept_connection 3 returned 4 17:50:37.221520 accept_connection 3 returned 0 17:50:37.221536 Read 93 bytes 17:50:37.221546 Process 93 bytes request 17:50:37.221560 Got request: GET /verifiedserver HTTP/1.1 17:50:37.221570 Are-we-friendly question received 17:50:37.221603 Wrote request (93 bytes) input to log/15/server.input 17:50:37.221622 Identifying ourselves as friends 17:50:37.221689 Response sent (56 bytes) and written to log/15/server.response 17:50:37.221702 special request received, no persistency 17:50:37.221712 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 41602 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1105 ==138120== ==138120== Process terminating with default action of signal 4 (SIGILL) ==138120== Illegal opcode at address 0x4014520 ==138120== at 0x4014520: getparameter (tool_getparam.c:2862) ==138120== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138120== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138120== by 0x4003728: main (tool_main.c:186) === End of file valgrind1105 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/5/valgrind1107 ../src/curl -q --output log/5/curl1107.out --include --trace-ascii log/5/trace1107 --trace-time ftp://127.0.0.1:34559/1107 --ftp-pret > log/5/stdout1107 2> log/5/stderr1107 1107: 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 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/5/valgrind1107 ../src/curl -q --output log/5/curl1107.out --include --trace-ascii log/5/trace1107 --trace-time ftp://127.0.0.1:34559/1107 --ftp-pret > log/5/stdout1107 2> log/5/stderr1107 === End of file commands.log === Start of file ftp_server.log 17:50:37.596302 ====> Client connect 17:50:37.596474 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:37.597855 < "USER anonymous" 17:50:37.597904 > "331 We are happy you popped in![CR][LF]" 17:50:37.598087 < "PASS ftp@example.com" 17:50:37.598119 > "230 Welcome you silly person[CR][LF]" 17:50:37.598300 < "PWD" 17:50:37.598335 > "257 "/" is current directory[CR][LF]" 17:50:37.598512 < "EPSV" 17:50:37.598542 ====> Passive DATA channel requested by client 17:50:37.598559 DATA sockfilt for passive data channel starting... 17:50:37.601391 DATA sockfilt for passive data channel started (pid 138387) 17:50:37.601522 DATA sockfilt for passive data channel listens on port 39257 17:50:37.601569 > "229 Entering Passive Mode (|||39257|)[CR][LF]" 17:50:37.601588 Client has been notified that DATA conn will be accepted on port 39257 17:50:37.601864 Client connects to port 39257 17:50:37.601893 ====> Client established passive DATA connection on port 39257 17:50:37.601977 < "TYPE I" 17:50:37.602007 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:37.602160 < "SIZE verifiedserver" 17:50:37.604450 > "213 17[CR][LF]" 17:50:37.605098 < "RETR verifiedserver" 17:50:37.605199 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:37.605330 =====> Closing passive DATA connection... 17:50:37.605358 Server disconnects passive DATA connection 17:50:37.605643 Server disconnected passive DATA connection 17:50:37.605679 DATA sockfilt for passive data channel quits (pid 138387) 17:50:37.605962 DATA sockfilt for passive data channel quit (pid 138387) 17:50:37.605993 =====> Closed passive DATA connection 17:50:37.606027 > "226 File transfer complete[CR][LF]" 17:50:37.657087 < "QUIT" 17:50:37.657163 > "221 bye bye baby[CR][LF]" 17:50:37.658445 MAIN sockfilt said DISC 17:50:37.658490 ====> Client disconnected 17:50:37.658592 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:37.442347 ====> Client connect 17:50:37.443710 Received DATA (on stdin) 17:50:37.443736 > 146 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/16/valgrind1106 ../src/curl -q --output log/16/curl1106.out --include --trace-ascii log/16/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/16/stdout1106 2> log/16/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/4/valgrind1110 ../src/curl -q --output log/4/curl1110.out --include --trace-ascii log/4/trace1110 --trace-time http://127.0.0.1:34411/1110?q=foobar#fragment > log/4/stdout1110 2> log/4/stderr1110 17:50:37.443749 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:37.443760 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:37.443770 '220 \___|\___/|_| \_\_____|\r\n' 17:50:37.443862 < 16 bytes data, client => server 17:50:37.443877 'USER anonymous\r\n' 17:50:37.444092 Received DATA (on stdin) 17:50:37.444104 > 33 bytes data, server => client 17:50:37.444115 '331 We are happy you popped in!\r\n' 17:50:37.444171 < 22 bytes data, client => server 17:50:37.444184 'PASS ftp@example.com\r\n' 17:50:37.444303 Received DATA (on stdin) 17:50:37.444315 > 30 bytes data, server => client 17:50:37.444325 '230 Welcome you silly person\r\n' 17:50:37.444378 < 5 bytes data, client => server 17:50:37.444390 'PWD\r\n' 17:50:37.444518 Received DATA (on stdin) 17:50:37.444530 > 30 bytes data, server => client 17:50:37.444541 '257 "/" is current directory\r\n' 17:50:37.444603 < 6 bytes data, client => server 17:50:37.444615 'EPSV\r\n' 17:50:37.447774 Received DATA (on stdin) 17:50:37.447788 > 39 bytes data, server => client 17:50:37.447800 '229 Entering Passive Mode (|||39257|)\r\n' 17:50:37.447964 < 8 bytes data, client => server 17:50:37.447977 'TYPE I\r\n' 17:50:37.448188 Received DATA (on stdin) 17:50:37.448199 > 33 bytes data, server => client 17:50:37.448210 '200 I modify TYPE as you wanted\r\n' 17:50:37.448258 < 21 bytes data, client => server 17:50:37.448269 'SIZE verifiedserver\r\n' 17:50:37.450496 Received DATA (on stdin) 17:50:37.450549 > 8 bytes data, server => client 17:50:37.450686 '213 17\r\n' 17:50:37.451119 < 21 bytes data, client => server 17:50:37.451138 'RETR verifiedserver\r\n' 17:50:37.451317 Received DATA (on stdin) 17:50:37.451334 > 29 bytes data, server => client 17:50:37.451549 '150 Binary junk (17 bytes).\r\n' 17:50:37.452216 Received DATA (on stdin) 17:50:37.452231 > 28 bytes data, server => client 17:50:37.452242 '226 File transfer complete\r\n' 17:50:37.503015 < 6 bytes data, client => server 17:50:37.503062 'QUIT\r\n' 17:50:37.503364 Received DATA (on stdin) 17:50:37.503383 > 18 bytes data, server => client 17:50:37.503395 '221 bye bye baby\r\n' 17:50:37.504559 ====> Client disconnect 17:50:37.504786 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:37.447215 Running IPv4 version 17:50:37.447280 Listening on port 39257 17:50:37.447322 Wrote pid 138387 to log/5/server/ftp_sockdata.pid 17:50:37.447512 Received PING (on stdin) 17:50:37.447605 Received PORT (on stdin) 17:50:37.447998 ====> Client connect 17:50:37.451591 Received DATA (on stdin) 17:50:37.451611 > 17 bytes data, server => client 17:50:37.451622 'WE ROOLZ: 81078\r\n' 17:50:37.451654 Received DISC (on stdin) 17:50:37.451668 ====> Client forcibly disconnected 17:50:37.451876 Received QUIT (on stdin) 17:50:37.451891 quits 17:50:37.451972 ============> 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 ==138437== ==138437== Process terminating with default action of signal 4 (SIGILL) ==138437== Illegal opcode at address 0x4014520 ==138437== at 0x4014520: getparameter (tool_getparam.c:2862) ==138437== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138437== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138437== by 0x4003728: main (tool_main.c:186) === End of file valgrind1107 setenv ftp_proxy = http://127.0.0.1:40899/ 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/16/valgrind1106 ../src/curl -q --output log/16/curl1106.out --include --trace-ascii log/16/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/16/stdout1106 2> log/16/stderr1106 1106: 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 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/16/valgrind1106 ../src/curl -q --output log/16/curl1106.out --include --trace-ascii log/16/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/16/stdout1106 2> log/16/stderr1106 === End of file commands.log === Start of file http_server.log 17:50:37.289770 ====> Client connect 17:50:37.289808 accept_connection 3 returned 4 17:50:37.289824 accept_connection 3 returned 0 17:50:37.289839 Read 93 bytes 17:50:37.289848 Process 93 bytes request 17:50:37.289862 Got request: GET /verifiedserver HTTP/1.1 17:50:37.289871 Are-we-friendly question received 17:50:37.289898 Wrote request (93 bytes) input to log/16/server.input 17:50:37.289915 Identifying ourselves as friends 17:50:37.290081 Response sent (56 bytes) and written to log/16/server.response 17:50:37.290094 special request received, no persistency 17:50:37.290103 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 58626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind1106 ==138222== ==138222== Process terminating with default action of signal 4 (SIGILL) ==138222== Illegal opcode at address 0x4014520 ==138222== at 0x4014520: getparameter (tool_getparam.c:2862) ==138222== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138222== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138222== by 0x4003728: main (tool_main.c:186) === End of file valgrind1106 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/4/valgrind1110 ../src/curl -q --output log/4/curl1110.out --include --trace-ascii log/4/trace1110 --trace-time http://127.0.0.1:34411/1110?q=foobar#fragment > log/4/stdout1110 2> log/4/stderr1110 1110: 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 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/4/valgrind1110 ../src/curl -q --output log/4/curl1110.out --include --trace-ascii log/4/trace1110 --trace-time http://127.0.0.1:34411/1110?q=foobar#fragment > log/4/stdout1110 2> log/4/stderr1110 === End of file commands.log === Start of file http_server.log 17:50:37.709570 ====> Client connect 17:50:37.709619 accept_connection 3 returned 4 17:50:37.709638 accept_connection 3 returned 0 17:50:37.709655 Read 93 bytes 17:50:37.709665 Process 93 bytes request 17:50:37.709679 Got request: GET /verifiedserver HTTP/1.1 17:50:37.709688 Are-we-friendly question received 17:50:37.709719 Wrote request (93 bytes) input to log/4/server.input 17:50:37.709739 Identifying ourselves as friends 17:50:37.709821 Response sent (56 bytes) and written to log/4/server.response 17:50:37.709834 special request received, no persistency 17:50:37.709843 ====> Client disconnect 0 === End 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/7/valgrind1115 ../src/curl -q --output log/7/curl1115.out --include --trace-ascii log/7/trace1115 --trace-time http://127.0.0.1:35671/1115 > log/7/stdout1115 2> log/7/stderr1115 CMD (33792): ../libtool --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/valgrind1094 ../src/curl -q --output log/24/curl1094.out --include --trace-ascii log/24/trace1094 --trace-time "tftp://127.0.0.1:38315//1094;mode=netascii" > log/24/stdout1094 2> log/24/stderr1094 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/7/stdout1135 2> log/7/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/13/valgrind1111 ../src/curl -q --output log/13/curl1111.out --include --trace-ascii log/13/trace1111 --trace-time http://127.0.0.1:43845/1111?q=foobar#fragment#fragment2 > log/13/stdout1111 2> log/13/stderr1111 e http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 57258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind1110 ==138555== ==138555== Process terminating with default action of signal 4 (SIGILL) ==138555== Illegal opcode at address 0x4014520 ==138555== at 0x4014520: getparameter (tool_getparam.c:2862) ==138555== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138555== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138555== by 0x4003728: main (tool_main.c:186) === End of file valgrind1110 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/7/valgrind1115 ../src/curl -q --output log/7/curl1115.out --include --trace-ascii log/7/trace1115 --trace-time http://127.0.0.1:35671/1115 > log/7/stdout1115 2> log/7/stderr1115 1115: 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 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/7/valgrind1115 ../src/curl -q --output log/7/curl1115.out --include --trace-ascii log/7/trace1115 --trace-time http://127.0.0.1:35671/1115 > log/7/stdout1115 2> log/7/stderr1115 === End of file commands.log === Start of file http_server.log 17:50:37.892914 ====> Client connect 17:50:37.892957 accept_connection 3 returned 4 17:50:37.892974 accept_connection 3 returned 0 17:50:37.892992 Read 93 bytes 17:50:37.893001 Process 93 bytes request 17:50:37.893016 Got request: GET /verifiedserver HTTP/1.1 17:50:37.893024 Are-we-friendly question received 17:50:37.893049 Wrote request (93 bytes) input to log/7/server.input 17:50:37.893066 Identifying ourselves as friends 17:50:37.893151 Response sent (56 bytes) and written to log/7/server.response 17:50:37.893161 special request received, no persistency 17:50:37.893170 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 44438 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1115 ==138795== ==138795== Process terminating with default action of signal 4 (SIGILL) ==138795== Illegal opcode at address 0x4014520 ==138795== at 0x4014520: getparameter (tool_getparam.c:2862) ==138795== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138795== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138795== by 0x4003728: main (tool_main.c:186) === End of file valgrind1115 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 137703 port 38315 * pid tftp => 137703 137703 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/24/valgrind1094 ../src/curl -q --output log/24/curl1094.out --include --trace-ascii log/24/trace1094 --trace-time "tftp://127.0.0.1:38315//1094;mode=netascii" > log/24/stdout1094 2> log/24/stderr1094 1094: 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 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/24/valgrind1094 ../src/curl -q --output log/24/curl1094.out --include --trace-ascii log/24/trace1094 --trace-time "tftp://127.0.0.1:38315//1094;mode=netascii" > log/24/stdout1094 2> log/24/stderr1094 === End of file commands.log === Start of file server.cmd Testnum 1094 === End of file server.cmd === Start of file tftp_server.log 17:50:36.730261 Wrote pid 137703 to log/24/server/tftp_server.pid 17:50:36.730340 Wrote port 38315 to log/24/server/tftp_server.port 17:50:36.730355 Running IPv4 version on port UDP/38315 === End of file tftp_server.log === Start of file valgrind1094 ==138528== ==138528== Process terminating with default action of signal 4 (SIGILL) ==138528== Illegal opcode at address 0x4014520 ==138528== at 0x4014520: getparameter (tool_getparam.c:2862) ==138528== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138528== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138528== by 0x4003728: main (tool_main.c:186) === End of file valgrind1094 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/7/stdout1135 2> log/7/stderr1135 valgrind SKIPPED s------e--- OK (1079 out of 1760, remaining: 01:08, took 0.088s, duration: 01:48) 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/13/valgrind1111 ../src/curl -q --output log/13/curl1111.out --include --trace-ascii log/13/trace1111 --trace-time http://127.0.0.1:43845/1111?q=foobar#fragment#fragment2 > log/13/stdout1111 2> log/13/stderr1111 1111: 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 1111 === Start of file commands.log ../libtool --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/valgrind1111 ../src/curl -q --output log/13/curl1111.out --include --trace-ascii log/13/trace1111 --trace-time http://127.0.0.1:43845/1111?q=foobar#fragment#fragment2 > log/13/stdout1111 2> log/13/stderr1111 === End of file commands.log === Start of file http_server.log 17:50:38.699253 ====> Client connect 17:50:38.699295 accept_connection 3 returned 4 17:50:38.699316 accept_connection 3 returned 0 17:50:38.706420 Read 93 bytes 17:50:38.706447 Process 93 bytes request 17:50:38.706460 Got request: GET /verifiedserver HTTP/1.1 17:50:38.706470 Are-we-friendly question received 17:50:38.706519 Wrote request (93 bytes) input to log/13/server.input 17:50:38.706541 Identifying ourselves as friends 17:50:38.706609 Response sent (56 bytes) and written to log/13/server.resCMD (33792): ../libtool --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:36641?email=name@example.com/1118 > log/12/stdout1118 2> log/12/stderr1118 CMD (33792): ../libtool --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/valgrind1116 ../src/curl -q --output log/23/curl1116.out --include --trace-ascii log/23/trace1116 --trace-time http://127.0.0.1:39173/1116 -D log/23/heads1116 > log/23/stdout1116 2> log/23/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/20/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:35215/fully_simulated/DOS/*.txt" > log/20/stdout1113 2> log/20/stderr1113 ponse 17:50:38.706622 special request received, no persistency 17:50:38.706631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 58676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1111 ==138531== ==138531== Process terminating with default action of signal 4 (SIGILL) ==138531== Illegal opcode at address 0x4014520 ==138531== at 0x4014520: getparameter (tool_getparam.c:2862) ==138531== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138531== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138531== by 0x4003728: main (tool_main.c:186) === End of file valgrind1111 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:36641?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:36641?email=name@example.com/1118 > log/12/stdout1118 2> log/12/stderr1118 === End of file commands.log === Start of file http_server.log 17:50:38.226295 ====> Client connect 17:50:38.226345 accept_connection 3 returned 4 17:50:38.226366 accept_connection 3 returned 0 17:50:38.226384 Read 93 bytes 17:50:38.226394 Process 93 bytes request 17:50:38.226409 Got request: GET /verifiedserver HTTP/1.1 17:50:38.226418 Are-we-friendly question received 17:50:38.226447 Wrote request (93 bytes) input to log/12/server.input 17:50:38.226464 Identifying ourselves as friends 17:50:38.226558 Response sent (56 bytes) and written to log/12/server.response 17:50:38.226570 special request received, no persistency 17:50:38.226579 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 43898 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1118 ==139083== ==139083== Process terminating with default action of signal 4 (SIGILL) ==139083== Illegal opcode at address 0x4014520 ==139083== at 0x4014520: getparameter (tool_getparam.c:2862) ==139083== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139083== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139083== by 0x4003728: main (tool_main.c:186) === End of file valgrind1118 CMD (33792): ../libtool --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/valgrind1109 ../src/curl -q --output log/11/curl1109.out --include --trace-ascii log/11/trace1109 --trace-time http://127.0.0.1:46439/1109#test > log/11/stdout1109 2> log/11/stderr1109 test 1113...[FTP wildcard download - changed fnmatch, 2x perform (DOS 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/20/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:35215/fully_simulated/DOS/*.txt" > log/20/stdout1113 2> log/20/stderr1113 1113: stdout FAILED: --- log/20/check-expected 2026-01-28 17:50:40.519888729 +0000 +++ log/20/check-generated 2026-01-28 17:50:40.519888729 +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/20/ 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/20/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:35215/fully_simulated/DOS/*.txt" > log/20/stdout1113 2> log/20/stderr1113 === End of file commands.log === Start of file ftp_server.log 17:50:38.010479 ====> Client connect 17:50:38.010653 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:38.014779 < "USER anonymous" 17:50:38.014836 > "331 We are happy you popped in![CR][LF]" 17:50:38.020195 < "PASS ftp@example.com" 17:50:38.020259 > "230 Welcome you silly person[CR][LF]" 17:50:38.020509 < "PWD" 17:50:38.020559 > "257 "/" is current directory[CR][LF]" 17:50:38.020751 < "EPSV" 17:50:38.020781 ====> Passive DATA channel requested by client 17:50:38.020796 DATA sockfilt for passive data channel starting... 17:50:38.028024 DATA sockfilt for passive data channel started (pid 138712) 17:50:38.028165 DATA sockfilt for passive data channel listens on port 45791 17:50:38.028223 > "229 Entering Passive Mode (|||45791|)[CR][LF]" 17:50:38.028244 Client has been notified that DATA conn will be accepted on port 45791 17:50:38.028556 Client connects to port 45791 17:50:38.028588 ====> Client established passive DATA connection on port 45791 17:50:38.028690 < "TYPE I" 17:50:38.028728 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:38.028899 < "SIZE verifiedserver" 17:50:38.028943 > "213 17[CR][LF]" 17:50:38.029105 < "RETR verifiedserver" 17:50:38.029142 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:38.029231 =====> Closing passive DATA connection... 17:50:38.029251 Server disconnects passive DATA connection 17:50:38.029511 Server disconnected passive DATA connection 17:50:38.029543 DATA sockfilt for passive data channel quits (pid 138712) 17:50:38.029771 DATA sockfilt for passive data channel quit (pid 138712) 17:50:38.029798 =====> Closed passive DATA connection 17:50:38.029827 > "226 File transfer complete[CR][LF]" 17:50:38.073675 < "QUIT" 17:50:38.073740 > "221 bye bye baby[CR][LF]" 17:50:38.075170 MAIN sockfilt said DISC 17:50:38.075218 ====> Client disconnected 17:50:38.075295 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:37.856536 ====> Client connect 17:50:37.856850 Received DATA (on stdin) 17:50:37.859521 > 146 bytes data, server => client 17:50:37.859538 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:37.859549 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:37.859558 '220 \___|\___/|_| \_\_____|\r\n' 17:50:37.859648 < 16 bytes data, client => server 17:50:37.859661 'USER anonymous\r\n' 17:50:37.861024 Received DATA (on stdin) 17:50:37.861039 > 33 bytes data, server => client 17:50:37.861050 '331 We are happy you popped in!\r\n' 17:50:37.866172 < 22 bytes data, client => server 17:50:37.866204 'PASS ftp@example.com\r\n' 17:50:37.866451 Received DATA (on stdin) 17:50:37.866466 > 30 bytes data, server => client 17:50:37.866477 '230 Welcome you silly person\r\n' 17:50:37.866575 < 5 bytes data, client => server 17:50:37.866588 'PWD\r\n' 17:50:37.866742 Received DATA (on stdin) 17:50:37.866754 > 30 bytes data, server => client 17:50:37.866765 '257 "/" is current directory\r\n' 17:50:37.866836 < 6 bytes data, client => server 17:50:37.866847 'EPSV\r\n' 17:50:37.874437 Received DATA (on stdin) 17:50:37.874456 > 39 bytes data, server => client 17:50:37.874468 '229 Entering Passive Mode (|||45791|)\r\n' 17:50:37.874649 < 8 bytes data, client => server 17:50:37.874665 'TYPE I\r\n' 17:50:37.874912 Received DATA (on stdin) 17:50:37.874925 > 33 bytes data, server => client 17:50:37.874935 '200 I modify TYPE as you wanted\r\n' 17:50:37.874989 < 21 bytes data, client => server 17:50:37.875001 'SIZE verifiedserver\r\n' 17:50:37.875126 Received DATA (on stdin) 17:50:37.875138 > 8 bytes data, server => client 17:50:37.875148 '213 17\r\n' 17:50:37.875199 < 21 bytes data, client => server 17:50:37.875211 'RETR verifiedserver\r\n' 17:50:37.875435 Received DATA (on stdin) 17:50:37.875447 > 29 bytes data, server => client 17:50:37.875458 '150 Binary junk (17 bytes).\r\n' 17:50:37.876009 Received DATA (on stdin) 17:50:37.876022 > 28 bytes data, server => client 17:50:37.876032 '226 File transfer complete\r\n' 17:50:37.919639 < 6 bytes data, client => server 17:50:37.919677 'QUIT\r\n' 17:50:37.919935 Received DATA (on stdin) 17:50:37.919951 > 18 bytes data, server => client 17:50:37.919962 '221 bye bye baby\r\n' 17:50:37.921280 ====> Client disconnect 17:50:37.921488 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:38.873826 Running IPv4 version 17:50:38.874075 Listening on port 45791 17:50:38.874121 Wrote pid 138712 to log/20/server/ftp_sockdata.pid 17:50:38.874143 Received PING (on stdin) 17:50:38.874246 Received PORT (on stdin) 17:50:38.874687 ====> Client connect 17:50:38.875516 Received DATA (on stdin) 17:50:38.875532 > 17 bytes data, server => client 17:50:38.875543 'WE ROOLZ: 81259\r\n' 17:50:38.875572 Received DISC (on stdin) 17:50:38.875583 ====> Client forcibly disconnected 17:50:38.875733 Received QUIT (on stdin) 17:50:38.875745 quits 17:50:38.875813 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1113 === End of file server.cmd === Start of file stderr1113 URL: ftp://127.0.0.1:35215/fully_simulated/DOS/*.txt === End of file stderr1113 === Start of file valgrind1113 ==138833== ==138833== Process terminating with default action of signal 4 (SIGILL) ==138833== Illegal opcode at address 0x51D97AF ==138833== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==138833== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==138833== by 0x51D97AF: Curl_open (url.c:502) ==138833== by 0x515120F: curl_easy_init (easy.c:365) ==138833== by 0x4014866: test_lib574.lto_priv.0 (lib574.c:44) ==138833== by 0x40034B5: main (first.c:279) ==138833== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==138833== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==138833== by 0x51D96BD: Curl_open (url.c:479) ==138833== by 0x515120F: curl_easy_init (easy.c:365) ==138833== by 0x4014866: test_lib574.lto_priv.0 (lib574.c:44) ==138833== by 0x40034B5: main (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/12/stdout1139 2> log/12/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/23/stdout1140 2> log/23/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/17/valgrind1117 ../src/curl -q --include --trace-ascii log/17/trace1117 --trace-time -r 10-22 http://127.0.0.1:44593/want/1117 http://127.0.0.1:44593/wantmore/11170001 > log/17/stdout1117 2> log/17/stderr1117 first.c:279) ==138833== === End of file valgrind1113 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/23/valgrind1116 ../src/curl -q --output log/23/curl1116.out --include --trace-ascii log/23/trace1116 --trace-time http://127.0.0.1:39173/1116 -D log/23/heads1116 > log/23/stdout1116 2> log/23/stderr1116 1116: 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 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/23/valgrind1116 ../src/curl -q --output log/23/curl1116.out --include --trace-ascii log/23/trace1116 --trace-time http://127.0.0.1:39173/1116 -D log/23/heads1116 > log/23/stdout1116 2> log/23/stderr1116 === End of file commands.log === Start of file http_server.log 17:50:38.879412 ====> Client connect 17:50:38.879446 accept_connection 3 returned 4 17:50:38.879463 accept_connection 3 returned 0 17:50:38.879477 Read 93 bytes 17:50:38.879508 Process 93 bytes request 17:50:38.879523 Got request: GET /verifiedserver HTTP/1.1 17:50:38.879532 Are-we-friendly question received 17:50:38.879560 Wrote request (93 bytes) input to log/23/server.input 17:50:38.879577 Identifying ourselves as friends 17:50:38.879635 Response sent (56 bytes) and written to log/23/server.response 17:50:38.879645 special request received, no persistency 17:50:38.879654 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 44170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1116 ==138778== ==138778== Process terminating with default action of signal 4 (SIGILL) ==138778== Illegal opcode at address 0x4014520 ==138778== at 0x4014520: getparameter (tool_getparam.c:2862) ==138778== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138778== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138778== by 0x4003728: main (tool_main.c:186) === End of file valgrind1116 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/11/valgrind1109 ../src/curl -q --output log/11/curl1109.out --include --trace-ascii log/11/trace1109 --trace-time http://127.0.0.1:46439/1109#test > log/11/stdout1109 2> log/11/stderr1109 1109: 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 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/11/valgrind1109 ../src/curl -q --output log/11/curl1109.out --include --trace-ascii log/11/trace1109 --trace-time http://127.0.0.1:46439/1109#test > log/11/stdout1109 2> log/11/stderr1109 === End of file commands.log === Start of file http_server.log 17:50:37.746231 ====> Client connect 17:50:37.746272 accept_connection 3 returned 4 17:50:37.746292 accept_connection 3 returned 0 17:50:37.746307 Read 93 bytes 17:50:37.746316 Process 93 bytes request 17:50:37.746330 Got request: GET /verifiedserver HTTP/1.1 17:50:37.746339 Are-we-friendly question received 17:50:37.746370 Wrote request (93 bytes) input to log/11/server.input 17:50:37.746388 Identifying ourselves as friends 17:50:37.746463 Response sent (56 bytes) and written to log/11/server.response 17:50:37.746477 special request received, no persistency 17:50:37.746487 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 54318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind1109 ==138587== ==138587== Process terminating with default action of signal 4 (SIGILL) ==138587== Illegal opcode at address 0x4014520 ==138587== at 0x4014520: getparameter (tool_getparam.c:2862) ==138587== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138587== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138587== by 0x4003728: main (tool_main.c:186) === End of file valgrind1109 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/12/stdout1139 2> log/12/stderr1139 valgrind SKIPPED -r-----e--- OK (1083 out of 1760, remaining: 01:07, took 0.101s, duration: 01:48) 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/23/stdout1140 2> log/23/stderr1140 valgrind SKIPPED s------e--- OK (1084 out of 1760, remaining: 01:07, took 0.133s, duration: 01:48) CMD (33792): ../libtool --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/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:37113/fully_simulated/DOS/* > log/21/stdout1114 2> log/21/stderr1114 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/17/valgrind1117 ../src/curl -q --include --trace-ascii log/17/trace1117 --trace-time -r 10-22 http://127.0.0.1:44593/want/1117 http://127.0.0.1:44593/wantmore/11170001 > log/17/stdout1117 2> log/17/stderr1117 1117: stdout FAILED: --- log/17/check-expected 2026-01-28 17:50:40.719888729 +0000 +++ log/17/check-generated 2026-01-28 17:50:40.719888729 +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/17/ 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/17/valgrind1117 ../src/curl -q --include --trace-ascii log/17/trace1117 --trace-time -r 10-22 http://127.0.0.1:44593/want/1117 http://127.0.0.1:44593/wantmore/11170001 > log/17/stdout1117 2> log/17/stderr1117 === End of file commands.log === Start of file http_server.log 17:50:37.992912 ====> Client connect 17:50:37.992953 accept_connection 3 returned 4 17:50:37.992970 accept_connection 3 returned 0 17:50:37.992987 Read 93 bytes 17:50:37.992996 Process 93 bytes request 17:50:37.993010 Got request: GET /verifiedserver HTTP/1.1 17:50:37.993019 Are-we-friendly question received 17:50:37.993042 Wrote request (93 bytes) input to log/17/server.input 17:50:37.993058 Identifying ourselves as friends 17:50:37.993138 Response sent (56 bytes) and written to log/17/server.response 17:50:37.993149 special request received, no persistency 17:50:37.993158 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 48986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1117 ==138880== ==138880== Process terminating with default action of signal 4 (SIGILL) ==138880== Illegal opcode at address 0x4014520 ==138880== at 0x4014520: getparameter (tool_getparam.c:2862) ==138880== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==138880== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==138880== by 0x4003728: main (tool_main.c:186) === End of file valgrind1117 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/21/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:37113/fully_simulated/DOS/* > log/21/stdout1114 2> log/21/stderr1114 1114: stdout FAILED: --- log/21/check-expected 2026-01-28 17:50:40.919888729 +0000 +++ log/21/check-generated 2026-01-28 17:50:40.919888729 +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/21/ 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/21/valgrind1114 ./libtest/liCMD (33792): ../libtool --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/valgrind1121 ../src/curl -q --output log/9/curl1121.out --include --trace-ascii log/9/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:37413/1121 > log/9/stdout1121 2> log/9/stderr1121 btests lib576 ftp://127.0.0.1:37113/fully_simulated/DOS/* > log/21/stdout1114 2> log/21/stderr1114 === End of file commands.log === Start of file ftp_server.log 17:50:37.993513 ====> Client connect 17:50:37.993726 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:38.000315 < "USER anonymous" 17:50:38.000386 > "331 We are happy you popped in![CR][LF]" 17:50:38.006843 < "PASS ftp@example.com" 17:50:38.006906 > "230 Welcome you silly person[CR][LF]" 17:50:38.011628 < "PWD" 17:50:38.011690 > "257 "/" is current directory[CR][LF]" 17:50:38.012299 < "EPSV" 17:50:38.012329 ====> Passive DATA channel requested by client 17:50:38.012345 DATA sockfilt for passive data channel starting... 17:50:38.021530 DATA sockfilt for passive data channel started (pid 138698) 17:50:38.021681 DATA sockfilt for passive data channel listens on port 38263 17:50:38.021736 > "229 Entering Passive Mode (|||38263|)[CR][LF]" 17:50:38.021753 Client has been notified that DATA conn will be accepted on port 38263 17:50:38.023398 Client connects to port 38263 17:50:38.023437 ====> Client established passive DATA connection on port 38263 17:50:38.023540 < "TYPE I" 17:50:38.023580 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:38.030214 < "SIZE verifiedserver" 17:50:38.030283 > "213 17[CR][LF]" 17:50:38.030441 < "RETR verifiedserver" 17:50:38.030479 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:38.030576 =====> Closing passive DATA connection... 17:50:38.030592 Server disconnects passive DATA connection 17:50:38.030761 Server disconnected passive DATA connection 17:50:38.030786 DATA sockfilt for passive data channel quits (pid 138698) 17:50:38.031005 DATA sockfilt for passive data channel quit (pid 138698) 17:50:38.031029 =====> Closed passive DATA connection 17:50:38.031059 > "226 File transfer complete[CR][LF]" 17:50:38.083736 < "QUIT" 17:50:38.083796 > "221 bye bye baby[CR][LF]" 17:50:38.085830 MAIN sockfilt said DISC 17:50:38.085878 ====> Client disconnected 17:50:38.085966 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:37.839528 ====> Client connect 17:50:37.839936 Received DATA (on stdin) 17:50:37.839957 > 146 bytes data, server => client 17:50:37.839970 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:37.839981 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:37.839991 '220 \___|\___/|_| \_\_____|\r\n' 17:50:37.846228 < 16 bytes data, client => server 17:50:37.846269 'USER anonymous\r\n' 17:50:37.846579 Received DATA (on stdin) 17:50:37.846594 > 33 bytes data, server => client 17:50:37.846604 '331 We are happy you popped in!\r\n' 17:50:37.850034 < 22 bytes data, client => server 17:50:37.850067 'PASS ftp@example.com\r\n' 17:50:37.856180 Received DATA (on stdin) 17:50:37.856224 > 30 bytes data, server => client 17:50:37.856237 '230 Welcome you silly person\r\n' 17:50:37.856361 < 5 bytes data, client => server 17:50:37.856377 'PWD\r\n' 17:50:37.857879 Received DATA (on stdin) 17:50:37.857893 > 30 bytes data, server => client 17:50:37.857904 '257 "/" is current directory\r\n' 17:50:37.857979 < 6 bytes data, client => server 17:50:37.857992 'EPSV\r\n' 17:50:37.868703 Received DATA (on stdin) 17:50:37.868728 > 39 bytes data, server => client 17:50:37.868740 '229 Entering Passive Mode (|||38263|)\r\n' 17:50:37.868919 < 8 bytes data, client => server 17:50:37.868937 'TYPE I\r\n' 17:50:37.870054 Received DATA (on stdin) 17:50:37.870074 > 33 bytes data, server => client 17:50:37.870086 '200 I modify TYPE as you wanted\r\n' 17:50:37.876230 < 21 bytes data, client => server 17:50:37.876255 'SIZE verifiedserver\r\n' 17:50:37.876466 Received DATA (on stdin) 17:50:37.876478 > 8 bytes data, server => client 17:50:37.876488 '213 17\r\n' 17:50:37.876538 < 21 bytes data, client => server 17:50:37.876549 'RETR verifiedserver\r\n' 17:50:37.876876 Received DATA (on stdin) 17:50:37.876886 > 29 bytes data, server => client 17:50:37.876896 '150 Binary junk (17 bytes).\r\n' 17:50:37.877241 Received DATA (on stdin) 17:50:37.877253 > 28 bytes data, server => client 17:50:37.877264 '226 File transfer complete\r\n' 17:50:37.929710 < 6 bytes data, client => server 17:50:37.929740 'QUIT\r\n' 17:50:37.929987 Received DATA (on stdin) 17:50:37.930001 > 18 bytes data, server => client 17:50:37.930012 '221 bye bye baby\r\n' 17:50:37.931398 ====> Client disconnect 17:50:37.932155 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:38.860239 Running IPv4 version 17:50:38.860304 Listening on port 38263 17:50:38.860344 Wrote pid 138698 to log/21/server/ftp_sockdata.pid 17:50:38.867621 Received PING (on stdin) 17:50:38.867760 Received PORT (on stdin) 17:50:38.869522 ====> Client connect 17:50:38.876781 Received DATA (on stdin) 17:50:38.876798 > 17 bytes data, server => client 17:50:38.876809 'WE ROOLZ: 81123\r\n' 17:50:38.876839 Received DISC (on stdin) 17:50:38.876851 ====> Client forcibly disconnected 17:50:38.876973 Received QUIT (on stdin) 17:50:38.876983 quits 17:50:38.877041 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1114 === End of file server.cmd === Start of file stderr1114 URL: ftp://127.0.0.1:37113/fully_simulated/DOS/* === End of file stderr1114 === Start of file valgrind1114 ==138836== ==138836== Process terminating with default action of signal 4 (SIGILL) ==138836== Illegal opcode at address 0x51D97AF ==138836== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==138836== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==138836== by 0x51D97AF: Curl_open (url.c:502) ==138836== by 0x515120F: curl_easy_init (easy.c:365) ==138836== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==138836== by 0x40034B5: main (first.c:279) ==138836== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==138836== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==138836== by 0x51D96BD: Curl_open (url.c:479) ==138836== by 0x515120F: curl_easy_init (easy.c:365) ==138836== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==138836== by 0x40034B5: main (first.c:279) ==138836== === End of file valgrind1114 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/9/valgrind1121 ../src/curl -q --output log/9/curl1121.out --include --trace-ascii log/9/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:37413/1121 > log/9/stdout1121 2> log/9/stderr1121 1121: 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 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/9/valgrind1121 ../src/curl -q --output log/9/curl1121.out --include --trace-ascii log/9/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:37413/1121 > log/9/stdout1121 2> log/9/stderr1121 === End of file commands.log === Start of file http_server.log 17:50:39.099623 ====> Client connect 17:50:39.099667 accept_connection 3 returned 4 17:50:39.099689 accept_connection 3 returned 0 17:50:39.099705 Read 93 bytes 17:50:39.099716 Process 93 bytes request 17:50:39.099733 Got request: GET /verifiedserver HTTP/1.1 17:50:39.099742 Are-we-friendly question received 17:50:39.099771 Wrote request (93 bytes) input to log/9/server.input 17:50:39.099790 Identifying ourselves as friends 17:50:39.099874 Response sent (56 bytes) and written to log/9/server.response 17:50:39.099887 special request received, no persistency 17:50:39.099896 ====> 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/2/valgrind1108 ../src/curl -q --output log/2/curl1108.out --include --trace-ascii log/2/trace1108 --trace-time ftp://127.0.0.1:38789/1108 --ftp-pret > log/2/stdout1108 2> log/2/stderr1108 CMD (33792): ../libtool --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/valgrind1123 ../src/curl -q --output log/19/curl1123.out --include --trace-ascii log/19/trace1123 --trace-time http://127.0.0.1:36987/1123 --tr-encoding > log/19/stdout1123 2> log/19/stderr1123 CMD (33792): ../libtool --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/valgrind1127 ../src/curl -q --output log/10/curl1127.out --include --trace-ascii log/10/trace1127 --trace-time http://127.0.0.1:32889/1127 -z "dec 12 12:00:00 1999 GMT" > log/10/stdout1127 2> log/10/stderr1127 CMD (33792): ../libtool --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/valgrind1124 ../src/curl -q --output log/22/curl1124.out --include --trace-ascii log/22/trace1124 --trace-time http://127.0.0.1:42933/1124 --tr-encoding > log/22/stdout1124 2> log/22/stderr1124 disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 53012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind1121 ==139298== ==139298== Process terminating with default action of signal 4 (SIGILL) ==139298== Illegal opcode at address 0x4014520 ==139298== at 0x4014520: getparameter (tool_getparam.c:2862) ==139298== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139298== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139298== by 0x4003728: main (tool_main.c:186) === End of file valgrind1121 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 38789 (log/2/server/ftp_server.port) RUN: FTP server is PID 138418 port 38789 * pid ftp => 138418 138418 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/2/valgrind1108 ../src/curl -q --output log/2/curl1108.out --include --trace-ascii log/2/trace1108 --trace-time ftp://127.0.0.1:38789/1108 --ftp-pret > log/2/stdout1108 2> log/2/stderr1108 1108: 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 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/2/valgrind1108 ../src/curl -q --output log/2/curl1108.out --include --trace-ascii log/2/trace1108 --trace-time ftp://127.0.0.1:38789/1108 --ftp-pret > log/2/stdout1108 2> log/2/stderr1108 === End of file commands.log === Start of file ftp_server.log 17:50:37.700188 FTP server listens on port IPv4/38789 17:50:37.700327 logged pid 138418 in log/2/server/ftp_server.pid 17:50:37.700366 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:37.540526 Running IPv4 version 17:50:37.540615 Listening on port 38789 17:50:37.540658 Wrote pid 138432 to log/2/server/ftp_sockctrl.pid 17:50:37.540690 Wrote port 38789 to log/2/server/ftp_server.port 17:50:37.546186 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PRET 550 unknown command Testnum 1108 === End of file server.cmd === Start of file valgrind1108 ==139149== ==139149== Process terminating with default action of signal 4 (SIGILL) ==139149== Illegal opcode at address 0x4014520 ==139149== at 0x4014520: getparameter (tool_getparam.c:2862) ==139149== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139149== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139149== by 0x4003728: main (tool_main.c:186) === End of file valgrind1108 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/19/valgrind1123 ../src/curl -q --output log/19/curl1123.out --include --trace-ascii log/19/trace1123 --trace-time http://127.0.0.1:36987/1123 --tr-encoding > log/19/stdout1123 2> log/19/stderr1123 1123: 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 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/19/valgrind1123 ../src/curl -q --output log/19/curl1123.out --include --trace-ascii log/19/trace1123 --trace-time http://127.0.0.1:36987/1123 --tr-encoding > log/19/stdout1123 2> log/19/stderr1123 === End of file commands.log === Start of file http_server.log 17:50:39.222897 ====> Client connect 17:50:39.222934 accept_connection 3 returned 4 17:50:39.222952 accept_connection 3 returned 0 17:50:39.222971 Read 93 bytes 17:50:39.222980 Process 93 bytes request 17:50:39.222992 Got request: GET /verifiedserver HTTP/1.1 17:50:39.223001 Are-we-friendly question received 17:50:39.223026 Wrote request (93 bytes) input to log/19/server.input 17:50:39.223042 Identifying ourselves as friends 17:50:39.223101 Response sent (56 bytes) and written to log/19/server.response 17:50:39.223110 special request received, no persistency 17:50:39.223118 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 47302 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1123 ==139497== ==139497== Process terminating with default action of signal 4 (SIGILL) ==139497== Illegal opcode at address 0x4014520 ==139497== at 0x4014520: getparameter (tool_getparam.c:2862) ==139497== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139497== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139497== by 0x4003728: main (tool_main.c:186) === End of file valgrind1123 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/10/valgrind1127 ../src/curl -q --output log/10/curl1127.out --include --trace-ascii log/10/trace1127 --trace-time http://127.0.0.1:32889/1127 -z "dec 12 12:00:00 1999 GMT" > log/10/stdout1127 2> log/10/stderr1127 1127: 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 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/10/valgrind1127 ../src/curl -q --output log/10/curl1127.out --include --trace-ascii log/10/trace1127 --trace-time http://127.0.0.1:32889/1127 -z "dec 12 12:00:00 1999 GMT" > log/10/stdout1127 2> log/10/stderr1127 === End of file commands.log === Start of file http_server.log 17:50:39.459762 ====> Client connect 17:50:39.459806 accept_connection 3 returned 4 17:50:39.459826 accept_connection 3 returned 0 17:50:39.459841 Read 93 bytes 17:50:39.459851 Process 93 bytes request 17:50:39.459865 Got request: GET /verifiedserver HTTP/1.1 17:50:39.459873 Are-we-friendly question received 17:50:39.459907 Wrote request (93 bytes) input 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/8/valgrind1122 ../src/curl -q --output log/8/curl1122.out --include --trace-ascii log/8/trace1122 --trace-time http://127.0.0.1:42045/1122 --tr-encoding > log/8/stdout1122 2> log/8/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/5/valgrind1131 ../src/curl -q --include --trace-ascii log/5/trace1131 --trace-time -H "Expect: 100-continue" -T log/5/file1131 http://127.0.0.1:46875/1131 -T log/5/file1131 http://127.0.0.1:46875/11310001 --expect100-timeout 99 > log/5/stdout1131 2> log/5/stderr1131 log/10/server.input 17:50:39.459924 Identifying ourselves as friends 17:50:39.459988 Response sent (56 bytes) and written to log/10/server.response 17:50:39.459998 special request received, no persistency 17:50:39.460006 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 43422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind1127 ==139724== ==139724== Process terminating with default action of signal 4 (SIGILL) ==139724== Illegal opcode at address 0x4014520 ==139724== at 0x4014520: getparameter (tool_getparam.c:2862) ==139724== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139724== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139724== by 0x4003728: main (tool_main.c:186) === End of file valgrind1127 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/22/valgrind1124 ../src/curl -q --output log/22/curl1124.out --include --trace-ascii log/22/trace1124 --trace-time http://127.0.0.1:42933/1124 --tr-encoding > log/22/stdout1124 2> log/22/stderr1124 1124: 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 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/22/valgrind1124 ../src/curl -q --output log/22/curl1124.out --include --trace-ascii log/22/trace1124 --trace-time http://127.0.0.1:42933/1124 --tr-encoding > log/22/stdout1124 2> log/22/stderr1124 === End of file commands.log === Start of file http_server.log 17:50:39.209029 ====> Client connect 17:50:39.209071 accept_connection 3 returned 4 17:50:39.209090 accept_connection 3 returned 0 17:50:39.209252 Read 93 bytes 17:50:39.209269 Process 93 bytes request 17:50:39.209283 Got request: GET /verifiedserver HTTP/1.1 17:50:39.209292 Are-we-friendly question received 17:50:39.209328 Wrote request (93 bytes) input to log/22/server.input 17:50:39.209348 Identifying ourselves as friends 17:50:39.209415 Response sent (56 bytes) and written to log/22/server.response 17:50:39.209426 special request received, no persistency 17:50:39.209435 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 56302 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind1124 ==139447== ==139447== Process terminating with default action of signal 4 (SIGILL) ==139447== Illegal opcode at address 0x4014520 ==139447== at 0x4014520: getparameter (tool_getparam.c:2862) ==139447== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139447== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139447== by 0x4003728: main (tool_main.c:186) === End of file valgrind1124 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/8/valgrind1122 ../src/curl -q --output log/8/curl1122.out --include --trace-ascii log/8/trace1122 --trace-time http://127.0.0.1:42045/1122 --tr-encoding > log/8/stdout1122 2> log/8/stderr1122 1122: 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 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/8/valgrind1122 ../src/curl -q --output log/8/curl1122.out --include --trace-ascii log/8/trace1122 --trace-time http://127.0.0.1:42045/1122 --tr-encoding > log/8/stdout1122 2> log/8/stderr1122 === End of file commands.log === Start of file http_server.log 17:50:39.076225 ====> Client connect 17:50:39.076268 accept_connection 3 returned 4 17:50:39.076286 accept_connection 3 returned 0 17:50:39.076302 Read 93 bytes 17:50:39.076311 Process 93 bytes request 17:50:39.076326 Got request: GET /verifiedserver HTTP/1.1 17:50:39.076335 Are-we-friendly question received 17:50:39.076365 Wrote request (93 bytes) input to log/8/server.input 17:50:39.076383 Identifying ourselves as friends 17:50:39.076458 Response sent (56 bytes) and written to log/8/server.response 17:50:39.076469 special request received, no persistency 17:50:39.076478 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind1122 ==139297== ==139297== Process terminating with default action of signal 4 (SIGILL) ==139297== Illegal opcode at address 0x4014520 ==139297== at 0x4014520: getparameter (tool_getparam.c:2862) ==139297== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139297== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139297== by 0x4003728: main (tool_main.c:186) === End of file valgrind1122 CMD (33792): ../libtool --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/valgrind1126 ../src/curl -q --output log/18/curl1126.out --include --trace-ascii log/18/trace1126 --trace-time http://127.0.0.1:34067/1126 -z "dec 12 12:00:00 1999 GMT" > log/18/stdout1126 2> log/18/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/6/valgrind1120 ../src/curl -q --output log/6/curl1120.out --include --trace-ascii log/6/trace1120 --trace-time ftp://127.0.0.1:36757/a/path/1120 > log/6/stdout1120 2> log/6/stderr1120 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/5/valgrind1131 ../src/curl -q --include --trace-ascii log/5/trace1131 --trace-time -H "Expect: 100-continue" -T log/5/file1131 http://127.0.0.1:46875/1131 -T log/5/file1131 http://127.0.0.1:46875/11310001 --expect100-timeout 99 > log/5/stdout1131 2> log/5/stderr1131 1131: stdout FAILED: --- log/5/check-expected 2026-01-28 17:50:41.813222061 +0000 +++ log/5/check-generated 2026-01-28 17:50:41.813222061 +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/5/ 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/5/valgrind1131 ../src/curl -q --include --trace-ascii log/5/trace1131 --trace-time -H "Expect: 100-continue" -T log/5/file1131 http://127.0.0.1:46875/1131 -T log/5/file1131 http://127.0.0.1:46875/11310001 --expect100-timeout 99 > log/5/stdout1131 2> log/5/stderr1131 === End of file commands.log === Start of file file1131 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1131 === Start of file http_server.log 17:50:39.771535 ====> Client connect 17:50:39.771571 accept_connection 3 returned 4 17:50:39.771588 accept_connection 3 returned 0 17:50:39.771602 Read 93 bytes 17:50:39.771611 Process 93 bytes request 17:50:39.771625 Got request: GET /verifiedserver HTTP/1.1 17:50:39.771634 Are-we-friendly question received 17:50:39.771660 Wrote request (93 bytes) input to log/5/server.input 17:50:39.771676 Identifying ourselves as friends 17:50:39.771735 Response sent (56 bytes) and written to log/5/server.response 17:50:39.771745 special request received, no persistency 17:50:39.771753 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 49622 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind1131 ==139894== ==139894== Process terminating with default action of signal 4 (SIGILL) ==139894== Illegal opcode at address 0x4014520 ==139894== at 0x4014520: getparameter (tool_getparam.c:2862) ==139894== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139894== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139894== by 0x4003728: main (tool_main.c:186) === End of file valgrind1131 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/18/valgrind1126 ../src/curl -q --output log/18/curl1126.out --include --trace-ascii log/18/trace1126 --trace-time http://127.0.0.1:34067/1126 -z "dec 12 12:00:00 1999 GMT" > log/18/stdout1126 2> log/18/stderr1126 1126: 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 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/18/valgrind1126 ../src/curl -q --output log/18/curl1126.out --include --trace-ascii log/18/trace1126 --trace-time http://127.0.0.1:34067/1126 -z "dec 12 12:00:00 1999 GMT" > log/18/stdout1126 2> log/18/stderr1126 === End of file commands.log === Start of file http_server.log 17:50:39.244904 ====> Client connect 17:50:39.244942 accept_connection 3 returned 4 17:50:39.244960 accept_connection 3 returned 0 17:50:39.244975 Read 93 bytes 17:50:39.244985 Process 93 bytes request 17:50:39.244997 Got request: GET /verifiedserver HTTP/1.1 17:50:39.245006 Are-we-friendly question received 17:50:39.245033 Wrote request (93 bytes) input to log/18/server.input 17:50:39.245049 Identifying ourselves as friends 17:50:39.245109 Response sent (56 bytes) and written to log/18/server.response 17:50:39.245118 special request received, no persistency 17:50:39.245127 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 60550 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1126 ==139487== ==139487== Process terminating with default action of signal 4 (SIGILL) ==139487== Illegal opcode at address 0x4014520 ==139487== at 0x4014520: getparameter (tool_getparam.c:2862) ==139487== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139487== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139487== by 0x4003728: main (tool_main.c:186) === End of file valgrind1126 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/6/valgrind1120 ../src/curl -q --output log/6/curl1120.out --include --trace-ascii log/6/trace1120 --trace-time ftp://127.0.0.1:36757/a/path/1120 > log/6/stdout1120 2> log/6/stderr1120 1120: 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 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/6/valgrind1120 ../src/curl -q --output log/6/curl1120.out --include --trace-ascii log/6/trace1120 --trace-time ftp://127.0.0.1:36757/a/path/1120 > log/6/stdout1120 2> log/6/stderr1120 === End of file commands.log === Start of file ftp_server.log 17:50:39.236691 ====> Client connect 17:50:39.236894 > "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/3/valgrind1125 ../src/curl -q --output log/3/curl1125.out --include --trace-ascii log/3/trace1125 --trace-time http://127.0.0.1:45927/1125 --tr-encoding -H "Connection: close" > log/3/stdout1125 2> log/3/stderr1125 \___|\___/|_| \_\_____|[CR][LF]" 17:50:39.237287 < "USER anonymous" 17:50:39.237333 > "331 We are happy you popped in![CR][LF]" 17:50:39.237535 < "PASS ftp@example.com" 17:50:39.237568 > "230 Welcome you silly person[CR][LF]" 17:50:39.237759 < "PWD" 17:50:39.237797 > "257 "/" is current directory[CR][LF]" 17:50:39.238004 < "EPSV" 17:50:39.238036 ====> Passive DATA channel requested by client 17:50:39.238055 DATA sockfilt for passive data channel starting... 17:50:39.247743 DATA sockfilt for passive data channel started (pid 139290) 17:50:39.247897 DATA sockfilt for passive data channel listens on port 36265 17:50:39.247948 > "229 Entering Passive Mode (|||36265|)[CR][LF]" 17:50:39.247967 Client has been notified that DATA conn will be accepted on port 36265 17:50:39.258567 Client connects to port 36265 17:50:39.258635 ====> Client established passive DATA connection on port 36265 17:50:39.258750 < "TYPE I" 17:50:39.258792 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:39.263033 < "SIZE verifiedserver" 17:50:39.263099 > "213 17[CR][LF]" 17:50:39.263322 < "RETR verifiedserver" 17:50:39.263401 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:39.263508 =====> Closing passive DATA connection... 17:50:39.263526 Server disconnects passive DATA connection 17:50:39.263807 Server disconnected passive DATA connection 17:50:39.263833 DATA sockfilt for passive data channel quits (pid 139290) 17:50:39.264123 DATA sockfilt for passive data channel quit (pid 139290) 17:50:39.264152 =====> Closed passive DATA connection 17:50:39.264180 > "226 File transfer complete[CR][LF]" 17:50:39.308612 < "QUIT" 17:50:39.308709 > "221 bye bye baby[CR][LF]" 17:50:39.309901 MAIN sockfilt said DISC 17:50:39.309941 ====> Client disconnected 17:50:39.310262 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:39.071191 ====> Client connect 17:50:39.083098 Received DATA (on stdin) 17:50:39.083123 > 146 bytes data, server => client 17:50:39.083135 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:39.083146 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:39.083156 '220 \___|\___/|_| \_\_____|\r\n' 17:50:39.083285 < 16 bytes data, client => server 17:50:39.083301 'USER anonymous\r\n' 17:50:39.083523 Received DATA (on stdin) 17:50:39.083536 > 33 bytes data, server => client 17:50:39.083547 '331 We are happy you popped in!\r\n' 17:50:39.083613 < 22 bytes data, client => server 17:50:39.083625 'PASS ftp@example.com\r\n' 17:50:39.083753 Received DATA (on stdin) 17:50:39.083766 > 30 bytes data, server => client 17:50:39.083777 '230 Welcome you silly person\r\n' 17:50:39.083835 < 5 bytes data, client => server 17:50:39.083849 'PWD\r\n' 17:50:39.083983 Received DATA (on stdin) 17:50:39.083997 > 30 bytes data, server => client 17:50:39.084009 '257 "/" is current directory\r\n' 17:50:39.084082 < 6 bytes data, client => server 17:50:39.084099 'EPSV\r\n' 17:50:39.099517 Received DATA (on stdin) 17:50:39.099564 > 39 bytes data, server => client 17:50:39.099577 '229 Entering Passive Mode (|||36265|)\r\n' 17:50:39.099793 < 8 bytes data, client => server 17:50:39.099812 'TYPE I\r\n' 17:50:39.106170 Received DATA (on stdin) 17:50:39.106202 > 33 bytes data, server => client 17:50:39.106214 '200 I modify TYPE as you wanted\r\n' 17:50:39.106307 < 21 bytes data, client => server 17:50:39.106321 'SIZE verifiedserver\r\n' 17:50:39.109287 Received DATA (on stdin) 17:50:39.109305 > 8 bytes data, server => client 17:50:39.109315 '213 17\r\n' 17:50:39.109418 < 21 bytes data, client => server 17:50:39.109430 'RETR verifiedserver\r\n' 17:50:39.109709 Received DATA (on stdin) 17:50:39.109723 > 29 bytes data, server => client 17:50:39.109733 '150 Binary junk (17 bytes).\r\n' 17:50:39.110361 Received DATA (on stdin) 17:50:39.110373 > 28 bytes data, server => client 17:50:39.110383 '226 File transfer complete\r\n' 17:50:39.154614 < 6 bytes data, client => server 17:50:39.154638 'QUIT\r\n' 17:50:39.154832 Received DATA (on stdin) 17:50:39.154845 > 18 bytes data, server => client 17:50:39.154894 '221 bye bye baby\r\n' 17:50:39.156026 ====> Client disconnect 17:50:39.156329 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:39.093609 Running IPv4 version 17:50:39.093711 Listening on port 36265 17:50:39.093757 Wrote pid 139290 to log/6/server/ftp_sockdata.pid 17:50:39.093780 Received PING (on stdin) 17:50:39.093970 Received PORT (on stdin) 17:50:39.104666 ====> Client connect 17:50:39.109807 Received DATA (on stdin) 17:50:39.109826 > 17 bytes data, server => client 17:50:39.109836 'WE ROOLZ: 81072\r\n' 17:50:39.109863 Received DISC (on stdin) 17:50:39.109875 ====> Client forcibly disconnected 17:50:39.110021 Received QUIT (on stdin) 17:50:39.110032 quits 17:50:39.110112 ============> 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 ==139354== ==139354== Process terminating with default action of signal 4 (SIGILL) ==139354== Illegal opcode at address 0x4014520 ==139354== at 0x4014520: getparameter (tool_getparam.c:2862) ==139354== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139354== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139354== by 0x4003728: main (tool_main.c:186) === End of file valgrind1120 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/3/valgrind1125 ../src/curl -q --output log/3/curl1125.out --include --trace-ascii log/3/trace1125 --trace-time http://127.0.0.1:45927/1125 --tr-encoding -H "Connection: close" > log/3/stdout1125 2> log/3/stderr1125 1125: 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 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/3/valgrind1125 ../src/curl -q --output log/3/curl1125.out --include --trace-ascii log/3/trace1125 --trace-time http://127.0.0.1:45927/1125 --tr-encoding -H "Connection: close" > log/3/stdout1125 2> log/3/stderr1125 === End of file commands.log === Start of file http_server.log 17:50:39.253632 ====> Client connect 17:50:39.253667 accept_connection 3 returned 4 17:50:39.253682 accept_connection 3 returned 0 17:50:39.253696 Read 93 bytes 17:50:39.253705 Process 93 bytes request 17:50:39.253719 Got request: GET /verifiedserver HTTP/1.1 17:50:39.253728 Are-we-friendly question received 17:50:39.253753 Wrote request (93 bytes) input to log/3/server.input 17:50:39.253770 Identifying ourselves as friends 17:50:39.253828 Response sent (56 bytes) and written to log/3/server.response 17:50:39.253838 special request received, no persistency 17:50:39.253847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 41928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1125 ==139512== ==139512== Process terminating with default action of signal 4 (SIGILL) ==139512== Illegal opcode at address 0x4014520 ==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/valgrind1129 ../src/curl -q --include --trace-ascii log/1/trace1129 --trace-time -d @log/1/file1129 --expect100-timeout 99 http://127.0.0.1:39589/1129 http://127.0.0.1:39589/11290001 > log/1/stdout1129 2> log/1/stderr1129 39512== at 0x4014520: getparameter (tool_getparam.c:2862) ==139512== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139512== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139512== by 0x4003728: main (tool_main.c:186) === 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/14/valgrind1128 ../src/curl -q --include --trace-ascii log/14/trace1128 --trace-time http://127.0.0.1:37569/1128 http://127.0.0.1:37569/11280001 -z "dec 12 12:00:00 1999 GMT" > log/14/stdout1128 2> log/14/stderr1128 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/1/valgrind1129 ../src/curl -q --include --trace-ascii log/1/trace1129 --trace-time -d @log/1/file1129 --expect100-timeout 99 http://127.0.0.1:39589/1129 http://127.0.0.1:39589/11290001 > log/1/stdout1129 2> log/1/stderr1129 1129: stdout FAILED: --- log/1/check-expected 2026-01-28 17:50:42.313222061 +0000 +++ log/1/check-generated 2026-01-28 17:50:42.313222061 +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/1/ 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/1/valgrind1129 ../src/curl -q --include --trace-ascii log/1/trace1129 --trace-time -d @log/1/file1129 --expect100-timeout 99 http://127.0.0.1:39589/1129 http://127.0.0.1:39589/11290001 > log/1/stdout1129 2> log/1/stderr1129 === End of file commands.log === Start of file file1129 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file file1129 === Start of file http_server.log 17:50:39.651542 ====> Client connect 17:50:39.651578 accept_connection 3 returned 4 17:50:39.651596 accept_connection 3 returned 0 17:50:39.651611 Read 93 bytes 17:50:39.651620 Process 93 bytes request 17:50:39.651634 Got request: GET /verifiedserver HTTP/1.1 17:50:39.651643 Are-we-friendly question received 17:50:39.651671 Wrote request (93 bytes) input to log/1/server.input 17:50:39.651689 Identifying ourselves as friends 17:50:39.651754 Response sent (56 bytes) and written to log/1/server.response 17:50:39.651766 special request received, no persistency 17:50:39.651775 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 50042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind1129 ==139813== ==139813== Process terminating with default action of signal 4 (SIGILL) ==139813== Illegal opcode at address 0x4014520 ==139813== at 0x4014520: getparameter (tool_getparam.c:2862) ==139813== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139813== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139813== by 0x4003728: main (tool_main.c:186) === End of file valgrind1129 CMD (33792): ../libtool --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/valgrind1130 ../src/curl -q --include --trace-ascii log/15/trace1130 --trace-time -d @log/15/file1130 http://127.0.0.1:41057/1130 http://127.0.0.1:41057/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/15/stdout1130 2> log/15/stderr1130 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/14/valgrind1128 ../src/curl -q --include --trace-ascii log/14/trace1128 --trace-time http://127.0.0.1:37569/1128 http://127.0.0.1:37569/11280001 -z "dec 12 12:00:00 1999 GMT" > log/14/stdout1128 2> log/14/stderr1128 1128: stdout FAILED: --- log/14/check-expected 2026-01-28 17:50:42.336555395 +0000 +++ log/14/check-generated 2026-01-28 17:50:42.336555395 +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/14/ 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/14/valgrind1128 ../src/curl -q --include --trace-ascii log/14/trace1128 --trace-time http://127.0.0.1:37569/1128 http://127.0.0.1:37569/11280001 -z "dec 12 12:00:00 1999 GMT" > log/14/stdout1128 2> log/14/stderr1128 === End of file commands.log === Start of file http_server.log 17:50:40.645220 ====> Client connect 17:50:40.645263 accept_connection 3 returned 4 17:50:40.645282 accept_connection 3 returned 0 17:50:40.645298 Read 93 bytes 17:50:40.645308 Process 93 bytes request 17:50:40.645322 Got request: GET /verifiedserver HTTP/1.1 17:50:40.645331 Are-we-friendly question received 17:50:40.645359 Wrote request (93 bytes) input to log/14/server.input 17:50:40.645378 Identifying ourselves as friends 17:50:40.645440 Response sent (56 bytes) and written to log/14/server.response 17:50:40.645451 special request received, no persistency 17:50:40.645460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 50664 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1128 ==139828== ==139828== Process terminating with default action of signal 4 (SIGILL) ==139828== Illegal opcode at address 0x4014520 ==139828== at 0x4014520: getparameter (tool_getparam.c:2862) ==139828== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139828== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139828== by 0x4003728: main (tool_main.c:186) === End of file valgrind1128 CMD (33792): ../libtool --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/valgrind1133 ../src/curl -q --output log/16/curl1133.out --include --trace-ascii log/16/trace1133 --trace-time http://127.0.0.1:40899/we/want/1133 -F "file=@\"log/16/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/16/test1133,and;.txt"' -F 'file3=@"log/16/test1133,and;.txt";type=m/f,"log/16/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/16/stdout1133 2> log/16/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/24/valgrind1136 ../src/curl -q --output log/24/curl1136.out --include --trace-ascii log/24/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/24/jar1136.txt -x 127.0.0.1:39649 > log/24/stdout1136 2> log/24/stderr1136 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/15/valgrind1130 ../src/curl -q --include --trace-ascii log/15/trace1130 --trace-time -d @log/15/file1130 http://127.0.0.1:41057/1130 http://127.0.0.1:41057/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/15/stdout1130 2> log/15/stderr1130 1130: stdout FAILED: --- log/15/check-expected 2026-01-28 17:50:42.449888728 +0000 +++ log/15/check-generated 2026-01-28 17:50:42.449888728 +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/15/ 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/15/valgrind1130 ../src/curl -q --include --trace-ascii log/15/trace1130 --trace-time -d @log/15/file1130 http://127.0.0.1:41057/1130 http://127.0.0.1:41057/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/15/stdout1130 2> log/15/stderr1130 === End of file commands.log === Start of file file1130 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1130 === Start of file http_server.log 17:50:39.796249 ====> Client connect 17:50:39.796300 accept_connection 3 returned 4 17:50:39.796320 accept_connection 3 returned 0 17:50:39.796337 Read 93 bytes 17:50:39.796347 Process 93 bytes request 17:50:39.796361 Got request: GET /verifiedserver HTTP/1.1 17:50:39.796370 Are-we-friendly question received 17:50:39.796402 Wrote request (93 bytes) input to log/15/server.input 17:50:39.796421 Identifying ourselves as friends 17:50:39.796506 Response sent (56 bytes) and written to log/15/server.response 17:50:39.796519 special request received, no persistency 17:50:39.796529 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 58662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1130 ==139921== ==139921== Process terminating with default action of signal 4 (SIGILL) ==139921== Illegal opcode at address 0x4014520 ==139921== at 0x4014520: getparameter (tool_getparam.c:2862) ==139921== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==139921== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==139921== by 0x4003728: main (tool_main.c:186) === End of file valgrind1130 test 1133...[HTTP RFC1867-type formposting with filename/data contains ',', ';', '"'] ../libtool --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/valgrind1133 ../src/curl -q --output log/16/curl1133.out --include --trace-ascii log/16/trace1133 --trace-time http://127.0.0.1:40899/we/want/1133 -F "file=@\"log/16/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/16/test1133,and;.txt"' -F 'file3=@"log/16/test1133,and;.txt";type=m/f,"log/16/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/16/stdout1133 2> log/16/stderr1133 1133: 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 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/16/valgrind1133 ../src/curl -q --output log/16/curl1133.out --include --trace-ascii log/16/trace1133 --trace-time http://127.0.0.1:40899/we/want/1133 -F "file=@\"log/16/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/16/test1133,and;.txt"' -F 'file3=@"log/16/test1133,and;.txt";type=m/f,"log/16/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/16/stdout1133 2> log/16/stderr1133 === End of file commands.log === Start of file http_server.log 17:50:39.935328 ====> Client connect 17:50:39.935361 accept_connection 3 returned 4 17:50:39.935377 accept_connection 3 returned 0 17:50:39.935391 Read 93 bytes 17:50:39.935401 Process 93 bytes request 17:50:39.935414 Got request: GET /verifiedserver HTTP/1.1 17:50:39.935423 Are-we-friendly question received 17:50:39.935448 Wrote request (93 bytes) input to log/16/server.input 17:50:39.935463 Identifying ourselves as friends 17:50:39.935516 Response sent (56 bytes) and written to log/16/server.response 17:50:39.935525 special request received, no persistency 17:50:39.935533 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 43270 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === 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 ==140049== ==140049== Process terminating with default action of signal 4 (SIGILL) ==140049== Illegal opcode at address 0x4014520 ==140049== at 0x4014520: getparameter (tool_getparam.c:2862) ==140049== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140049== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140049== by 0x4003728: main (tool_main.c:186) === End of file valgrind1133 CMD (33792): ../libtool --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/valgrind1134 ../src/curl -q --output log/4/curl1134.out --include --trace-ascii log/4/trace1134 --trace-time http://127.0.0.1:34411/1134 -u user1:password1 --next http://127.0.0.1:34411/11340001 -u 2user:password2 > log/4/stdout1134 2> log/4/stderr1134 CMD (33792): ../libtool --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/valgrind1141 ../src/curl -q --output log/11/curl1141.out --include --trace-ascii log/11/trace1141 --trace-time 127.0.0.1:46439/want/1141 -L -x http://127.0.0.1:46439 > log/11/stdout1141 2> log/11/stderr1141 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/24/valgrind1136 ../src/curl -q --output log/24/curl1136.out --include --trace-ascii log/24/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/24/jar1136.txt -x 127.0.0.1:39649 > log/24/stdout1136 2> log/24/stderr1136 1136: data FAILED: --- log/24/check-expected 2026-01-28 17:50:42.476555395 +0000 +++ log/24/check-generated 2026-01-28 17:50:42.476555395 +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/24/ 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/24/valgrind1136 ../src/curl -q --output log/24/curl1136.out --include --trace-ascii log/24/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/24/jar1136.txt -x 127.0.0.1:39649 > log/24/stdout1136 2> log/24/stderr1136 === End of file commands.log === Start of file http_server.log 17:50:40.309944 ====> Client connect 17:50:40.309984 accept_connection 3 returned 4 17:50:40.310001 accept_connection 3 returned 0 17:50:40.310015 Read 93 bytes 17:50:40.310024 Process 93 bytes request 17:50:40.310038 Got request: GET /verifiedserver HTTP/1.1 17:50:40.310047 Are-we-friendly question received 17:50:40.310082 Wrote request (93 bytes) input to log/24/server.input 17:50:40.310102 Identifying ourselves as friends 17:50:40.310170 Response sent (56 bytes) and written to log/24/server.response 17:50:40.310181 special request received, no persistency 17:50:40.310190 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 36214 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1136 ==140226== ==140226== Process terminating with default action of signal 4 (SIGILL) ==140226== Illegal opcode at address 0x4014520 ==140226== at 0x4014520: getparameter (tool_getparam.c:2862) ==140226== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140226== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140226== by 0x4003728: main (tool_main.c:186) === End of file valgrind1136 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/4/valgrind1134 ../src/curl -q --output log/4/curl1134.out --include --trace-ascii log/4/trace1134 --trace-time http://127.0.0.1:34411/1134 -u user1:password1 --next http://127.0.0.1:34411/11340001 -u 2user:password2 > log/4/stdout1134 2> log/4/stderr1134 1134: 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 1134 === Start of file commands.log ../libtool --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/valgrind1134 ../src/curl -q --output log/4/curl1134.out --include --trace-ascii log/4/trace1134 --trace-time http://127.0.0.1:34411/1134 -u user1:password1 --next http://127.0.0.1:34411/11340001 -u 2user:password2 > log/4/stdout1134 2> log/4/stderr1134 === End of file commands.log === Start of file http_server.log 17:50:40.213142 ====> Client connect 17:50:40.213179 accept_connection 3 returned 4 17:50:40.213195 accept_connection 3 returned 0 17:50:40.213210 Read 93 bytes 17:50:40.213220 Process 93 bytes request 17:50:40.213235 Got request: GET /verifiedserver HTTP/1.1 17:50:40.213243 Are-we-friendly question received 17:50:40.213270 Wrote request (93 bytes) input to log/4/server.input 17:50:40.213292 Identifying ourselves as friends 17:50:40.213353 Response sent (56 bytes) and written to log/4/server.response 17:50:40.213363 special request received, no persistency 17:50:40.213372 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 57262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind1134 ==140158== ==140158== Process terminating with default action of signal 4 (SIGILL) ==140158== Illegal opcode at address 0x4014520 ==140158== at 0x4014520: getparameter (tool_getparam.c:2862) ==140158== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140158== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140158== by 0x4003728: main (tool_main.c:186) === End of file valgrind1134 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/11/valgrind1141 ../src/curl -q --output log/11/curl1141.out --include --trace-ascii log/11/trace1141 --trace-time 127.0.0.1:46439/want/1141 -L -x http://127.0.0.1:46439 > log/11/stdout1141 2> log/11/stderr1141 1141: 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 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/11/valgrind1141 ../src/curl -q --output log/11/curl1141.out --include --trace-ascii log/11/trace1141 --CMD (33792): ../libtool --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/valgrind1137 ../src/curl -q --output log/7/curl1137.out --include --trace-ascii log/7/trace1137 --trace-time ftp://127.0.0.1:42667/1137 --ignore-content-length > log/7/stdout1137 2> log/7/stderr1137 trace-time 127.0.0.1:46439/want/1141 -L -x http://127.0.0.1:46439 > log/11/stdout1141 2> log/11/stderr1141 === End of file commands.log === Start of file http_server.log 17:50:40.470556 ====> Client connect 17:50:40.470593 accept_connection 3 returned 4 17:50:40.470613 accept_connection 3 returned 0 17:50:40.470629 Read 93 bytes 17:50:40.470638 Process 93 bytes request 17:50:40.470653 Got request: GET /verifiedserver HTTP/1.1 17:50:40.470662 Are-we-friendly question received 17:50:40.470695 Wrote request (93 bytes) input to log/11/server.input 17:50:40.470714 Identifying ourselves as friends 17:50:40.470781 Response sent (56 bytes) and written to log/11/server.response 17:50:40.470794 special request received, no persistency 17:50:40.470803 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 54322 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind1141 ==140343== ==140343== Process terminating with default action of signal 4 (SIGILL) ==140343== Illegal opcode at address 0x4014520 ==140343== at 0x4014520: getparameter (tool_getparam.c:2862) ==140343== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140343== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140343== by 0x4003728: main (tool_main.c:186) === End of file valgrind1141 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/7/valgrind1137 ../src/curl -q --output log/7/curl1137.out --include --trace-ascii log/7/trace1137 --trace-time ftp://127.0.0.1:42667/1137 --ignore-content-length > log/7/stdout1137 2> log/7/stderr1137 1137: 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 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/7/valgrind1137 ../src/curl -q --output log/7/curl1137.out --include --trace-ascii log/7/trace1137 --trace-time ftp://127.0.0.1:42667/1137 --ignore-content-length > log/7/stdout1137 2> log/7/stderr1137 === End of file commands.log === Start of file ftp_server.log 17:50:40.526605 ====> Client connect 17:50:40.526772 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:40.530146 < "USER anonymous" 17:50:40.530197 > "331 We are happy you popped in![CR][LF]" 17:50:40.530380 < "PASS ftp@example.com" 17:50:40.530405 > "230 Welcome you silly person[CR][LF]" 17:50:40.530553 < "PWD" 17:50:40.530580 > "257 "/" is current directory[CR][LF]" 17:50:40.530737 < "EPSV" 17:50:40.530762 ====> Passive DATA channel requested by client 17:50:40.530777 DATA sockfilt for passive data channel starting... 17:50:40.544531 DATA sockfilt for passive data channel started (pid 140233) 17:50:40.550094 DATA sockfilt for passive data channel listens on port 39323 17:50:40.550169 > "229 Entering Passive Mode (|||39323|)[CR][LF]" 17:50:40.550191 Client has been notified that DATA conn will be accepted on port 39323 17:50:40.550521 Client connects to port 39323 17:50:40.550563 ====> Client established passive DATA connection on port 39323 17:50:40.550721 < "TYPE I" 17:50:40.550765 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:40.550952 < "SIZE verifiedserver" 17:50:40.550995 > "213 17[CR][LF]" 17:50:40.563488 < "RETR verifiedserver" 17:50:40.563571 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:40.563687 =====> Closing passive DATA connection... 17:50:40.563710 Server disconnects passive DATA connection 17:50:40.563882 Server disconnected passive DATA connection 17:50:40.563914 DATA sockfilt for passive data channel quits (pid 140233) 17:50:40.564254 DATA sockfilt for passive data channel quit (pid 140233) 17:50:40.564284 =====> Closed passive DATA connection 17:50:40.564316 > "226 File transfer complete[CR][LF]" 17:50:40.626807 < "QUIT" 17:50:40.626880 > "221 bye bye baby[CR][LF]" 17:50:40.633855 MAIN sockfilt said DISC 17:50:40.633917 ====> Client disconnected 17:50:40.634009 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:41.372683 ====> Client connect 17:50:41.372966 Received DATA (on stdin) 17:50:41.372981 > 146 bytes data, server => client 17:50:41.372992 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:41.373001 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:41.373009 '220 \___|\___/|_| \_\_____|\r\n' 17:50:41.373114 < 16 bytes data, client => server 17:50:41.373126 'USER anonymous\r\n' 17:50:41.376385 Received DATA (on stdin) 17:50:41.376400 > 33 bytes data, server => client 17:50:41.376411 '331 We are happy you popped in!\r\n' 17:50:41.376476 < 22 bytes data, client => server 17:50:41.376487 'PASS ftp@example.com\r\n' 17:50:41.376585 Received DATA (on stdin) 17:50:41.376595 > 30 bytes data, server => client 17:50:41.376606 '230 Welcome you silly person\r\n' 17:50:41.376652 < 5 bytes data, client => server 17:50:41.376662 'PWD\r\n' 17:50:41.376759 Received DATA (on stdin) 17:50:41.376770 > 30 bytes data, server => client 17:50:41.376780 '257 "/" is current directory\r\n' 17:50:41.376837 < 6 bytes data, client => server 17:50:41.376848 'EPSV\r\n' 17:50:41.396387 Received DATA (on stdin) 17:50:41.396406 > 39 bytes data, server => client 17:50:41.396417 '229 Entering Passive Mode (|||39323|)\r\n' 17:50:41.396774 < 8 bytes data, client => server 17:50:41.396788 'TYPE I\r\n' 17:50:41.396951 Received DATA (on stdin) 17:50:41.396964 > 33 bytes data, server => client 17:50:41.396975 '200 I modify TYPE as you wanted\r\n' 17:50:41.397035 < 21 bytes data, client => server 17:50:41.397047 'SIZE verifiedserver\r\n' 17:50:41.397180 Received DATA (on stdin) 17:50:41.397192 > 8 bytes data, server => client 17:50:41.397202 '213 17\r\n' 17:50:41.402926 < 21 bytes data, client => server 17:50:41.402954 'RETR verifiedserver\r\n' 17:50:41.412853 Received DATA (on stdin) 17:50:41.412881 > 29 bytes data, server => client 17:50:41.412892 '150 Binary junk (17 bytes).\r\n' 17:50:41.412924 Received DATA (on stdin) 17:50:41.412933 > 28 bytes data, server => client 17:50:41.412942 '226 File transfer complete\r\n' 17:50:41.469531 < 6 bytes data, client => server 17:50:41.469570 'QUIT\r\n' 17:50:41.476203 Received DATA (on stdin) 17:50:41.476235 > 18 bytes data, server => client 17:50:41.476246 '221 bye bye baby\r\n' 17:50:41.479954 ====> Client disconnect 17:50:41.480208 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:40.380868 Running IPv4 version 17:50:40.380946 Listening on port 39323 17:50:40.380992 Wrote pid 140233 to log/7/server/ftp_sockdata.pid 17:50:40.389512 Received PING (on stdin) 17:50:40.392843 Received PORT (on stdin) 17:50:40.396639 ====> Client connect 17:50:40.409905 Received DATA (on stdin) 17:50:40.409930 > 17 bytes data, server => client 17:50:40.409941 'WE ROOLZ: 81153\r\n' 17:50:40.409993 Received DISC (on stdin) 17:50:40.410006 ====> Client forcibly disconnected 17:50:40.410107 Received QUIT (on stdin) 17:50:40.410119 quits 17:50:40.4102CMD (33792): ../libtool --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/valgrind1142 ../src/curl -q --output log/20/curl1142.out --include --trace-ascii log/20/trace1142 --trace-time 127.0.0.1:46725/want/1142 -L -x http://127.0.0.1:46725 > log/20/stdout1142 2> log/20/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/12/valgrind1143 ../src/curl -q --output log/12/curl1143.out --include --trace-ascii log/12/trace1143 --trace-time http:/127.0.0.1:36641/want/1143 > log/12/stdout1143 2> log/12/stderr1143 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/20/stdout1165 2> log/20/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/23/valgrind1144 ../src/curl -q --output log/23/curl1144.out --include --trace-ascii log/23/trace1144 --trace-time -I http://127.0.0.1:39173/1144 --http0.9 > log/23/stdout1144 2> log/23/stderr1144 14 ============> 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 ==140357== ==140357== Process terminating with default action of signal 4 (SIGILL) ==140357== Illegal opcode at address 0x4014520 ==140357== at 0x4014520: getparameter (tool_getparam.c:2862) ==140357== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140357== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140357== by 0x4003728: main (tool_main.c:186) === End of file valgrind1137 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/20/valgrind1142 ../src/curl -q --output log/20/curl1142.out --include --trace-ascii log/20/trace1142 --trace-time 127.0.0.1:46725/want/1142 -L -x http://127.0.0.1:46725 > log/20/stdout1142 2> log/20/stderr1142 1142: 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 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/20/valgrind1142 ../src/curl -q --output log/20/curl1142.out --include --trace-ascii log/20/trace1142 --trace-time 127.0.0.1:46725/want/1142 -L -x http://127.0.0.1:46725 > log/20/stdout1142 2> log/20/stderr1142 === End of file commands.log === Start of file http_server.log 17:50:40.563205 ====> Client connect 17:50:40.563245 accept_connection 3 returned 4 17:50:40.563261 accept_connection 3 returned 0 17:50:40.563276 Read 93 bytes 17:50:40.563286 Process 93 bytes request 17:50:40.563301 Got request: GET /verifiedserver HTTP/1.1 17:50:40.563310 Are-we-friendly question received 17:50:40.563335 Wrote request (93 bytes) input to log/20/server.input 17:50:40.563351 Identifying ourselves as friends 17:50:40.563413 Response sent (56 bytes) and written to log/20/server.response 17:50:40.563421 special request received, no persistency 17:50:40.563430 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 49468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1142 ==140474== ==140474== Process terminating with default action of signal 4 (SIGILL) ==140474== Illegal opcode at address 0x4014520 ==140474== at 0x4014520: getparameter (tool_getparam.c:2862) ==140474== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140474== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140474== by 0x4003728: main (tool_main.c:186) === End of file valgrind1142 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/12/valgrind1143 ../src/curl -q --output log/12/curl1143.out --include --trace-ascii log/12/trace1143 --trace-time http:/127.0.0.1:36641/want/1143 > log/12/stdout1143 2> log/12/stderr1143 1143: 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 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/12/valgrind1143 ../src/curl -q --output log/12/curl1143.out --include --trace-ascii log/12/trace1143 --trace-time http:/127.0.0.1:36641/want/1143 > log/12/stdout1143 2> log/12/stderr1143 === End of file commands.log === Start of file http_server.log 17:50:40.502892 ====> Client connect 17:50:40.502928 accept_connection 3 returned 4 17:50:40.502944 accept_connection 3 returned 0 17:50:40.502959 Read 93 bytes 17:50:40.502968 Process 93 bytes request 17:50:40.502982 Got request: GET /verifiedserver HTTP/1.1 17:50:40.502990 Are-we-friendly question received 17:50:40.503015 Wrote request (93 bytes) input to log/12/server.input 17:50:40.503032 Identifying ourselves as friends 17:50:40.503093 Response sent (56 bytes) and written to log/12/server.response 17:50:40.503103 special request received, no persistency 17:50:40.503112 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 43912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1143 ==140387== ==140387== Process terminating with default action of signal 4 (SIGILL) ==140387== Illegal opcode at address 0x4014520 ==140387== at 0x4014520: getparameter (tool_getparam.c:2862) ==140387== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140387== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140387== by 0x4003728: main (tool_main.c:186) === End of file valgrind1143 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/20/stdout1165 2> log/20/stderr1165 valgrind SKIPPED -------e--- OK (1109 out of 1760, remaining: 01:05, took 0.137s, duration: 01:51) 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/23/valgrind1144 ../src/curl -q --output log/23/curl1144.out --include --trace-ascii log/23/trace1144 --trace-time -I http://127.0.0.1:39173/1144 --http0.9 > log/23/stdout1144 2> log/23/stderr1144 1144: 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 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/23/valgrind1144 ../src/curl -q --output log/23/curl1144.out --include --trace-ascii log/23/trace1144 --trace-time -I http://127.0.0.1:39173/1144 --http0.9 > log/23/stdout1144 2> log/23/stderr1144 === End of file commands.log === Start of file http_server.log 17:50:41.589618 ====> Client connect 17:50:41.589667 accept_connection 3 returned 4 17:50:41.589688 accept_connection 3 returned 0 17:50:41.589704 Read 93 bytes 17:50:41.589714 Process 93 bytes request 17:50:41.589729 Got request: GET /verifiedserver HTTP/1.1 17:50:41.589738 Are-we-friendly CMD (33792): ../libtool --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/valgrind1138 ../src/curl -q --output log/13/curl1138.out --include --trace-ascii log/13/trace1138 --trace-time http://127.0.0.1:43845/we/are/all/twits/1138 -L > log/13/stdout1138 2> log/13/stderr1138 CMD (33792): ../libtool --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/valgrind1148 ../src/curl -q --output log/2/curl1148.out --include --trace-ascii log/2/trace1148 --trace-time http://127.0.0.1:38779/1148 -# --stderr log/2/stderrlog1148 > log/2/stdout1148 2> log/2/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/17/valgrind1145 ../src/curl -q --output log/17/curl1145.out --include --trace-ascii log/17/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/17/test1145.txt > log/17/stdout1145 2> log/17/stderr1145 question received 17:50:41.589767 Wrote request (93 bytes) input to log/23/server.input 17:50:41.589783 Identifying ourselves as friends 17:50:41.589860 Response sent (56 bytes) and written to log/23/server.response 17:50:41.589871 special request received, no persistency 17:50:41.589879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 44174 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1144 ==140515== ==140515== Process terminating with default action of signal 4 (SIGILL) ==140515== Illegal opcode at address 0x4014520 ==140515== at 0x4014520: getparameter (tool_getparam.c:2862) ==140515== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140515== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140515== by 0x4003728: main (tool_main.c:186) === End of file valgrind1144 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/13/valgrind1138 ../src/curl -q --output log/13/curl1138.out --include --trace-ascii log/13/trace1138 --trace-time http://127.0.0.1:43845/we/are/all/twits/1138 -L > log/13/stdout1138 2> log/13/stderr1138 1138: 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 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/13/valgrind1138 ../src/curl -q --output log/13/curl1138.out --include --trace-ascii log/13/trace1138 --trace-time http://127.0.0.1:43845/we/are/all/twits/1138 -L > log/13/stdout1138 2> log/13/stderr1138 === End of file commands.log === Start of file http_server.log 17:50:41.405743 ====> Client connect 17:50:41.405785 accept_connection 3 returned 4 17:50:41.405807 accept_connection 3 returned 0 17:50:41.405968 Read 93 bytes 17:50:41.405985 Process 93 bytes request 17:50:41.406003 Got request: GET /verifiedserver HTTP/1.1 17:50:41.406013 Are-we-friendly question received 17:50:41.406042 Wrote request (93 bytes) input to log/13/server.input 17:50:41.406062 Identifying ourselves as friends 17:50:41.406136 Response sent (56 bytes) and written to log/13/server.response 17:50:41.406148 special request received, no persistency 17:50:41.406166 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 58690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1138 ==140281== ==140281== Process terminating with default action of signal 4 (SIGILL) ==140281== Illegal opcode at address 0x4014520 ==140281== at 0x4014520: getparameter (tool_getparam.c:2862) ==140281== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140281== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140281== by 0x4003728: main (tool_main.c:186) === End of file valgrind1138 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/2/valgrind1148 ../src/curl -q --output log/2/curl1148.out --include --trace-ascii log/2/trace1148 --trace-time http://127.0.0.1:38779/1148 -# --stderr log/2/stderrlog1148 > log/2/stdout1148 2> log/2/stderr1148 1148: 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 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/2/valgrind1148 ../src/curl -q --output log/2/curl1148.out --include --trace-ascii log/2/trace1148 --trace-time http://127.0.0.1:38779/1148 -# --stderr log/2/stderrlog1148 > log/2/stdout1148 2> log/2/stderr1148 === End of file commands.log === Start of file http_server.log 17:50:41.136248 ====> Client connect 17:50:41.136287 accept_connection 3 returned 4 17:50:41.136306 accept_connection 3 returned 0 17:50:41.142849 Read 93 bytes 17:50:41.142884 Process 93 bytes request 17:50:41.142900 Got request: GET /verifiedserver HTTP/1.1 17:50:41.142911 Are-we-friendly question received 17:50:41.142961 Wrote request (93 bytes) input to log/2/server.input 17:50:41.142985 Identifying ourselves as friends 17:50:41.143069 Response sent (56 bytes) and written to log/2/server.response 17:50:41.143083 special request received, no persistency 17:50:41.143093 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 57184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1148 ==140879== ==140879== Process terminating with default action of signal 4 (SIGILL) ==140879== Illegal opcode at address 0x4014520 ==140879== at 0x4014520: getparameter (tool_getparam.c:2862) ==140879== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140879== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140879== by 0x4003728: main (tool_main.c:186) === End of file valgrind1148 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/17/valgrind1145 ../src/curl -q --output log/17/curl1145.out --include --trace-ascii log/17/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/17/test1145.txt > log/17/stdout1145 2> log/17/stderr1145 curl returned 132, when expecting 3 1145: exit FAILED == Contents of files in the log/17/ 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/17/valgrind1145 ../src/curl -q --output log/17/curl1145.out --include --trace-asCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/20/stdout1167 2> log/20/stderr1167 CMD (33792): ../libtool --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/valgrind1149 ../src/curl -q --output log/19/curl1149.out --include --trace-ascii log/19/trace1149 --trace-time ftp://127.0.0.1:40075/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:40075/list/this/path/1149/ --ftp-method nocwd > log/19/stdout1149 2> log/19/stderr1149 CMD (33792): ../libtool --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/valgrind1146 ../src/curl -q --output log/21/curl1146.out --trace-ascii log/21/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/21/test1146.txt > log/21/stdout1146 2> log/21/stderr1146 cii log/17/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/17/test1145.txt > log/17/stdout1145 2> log/17/stderr1145 === End of file commands.log === Start of file server.cmd Testnum 1145 === End of file server.cmd === Start of file test1145.txt foo bar bar foo moo === End of file test1145.txt === Start of file valgrind1145 ==140482== ==140482== Process terminating with default action of signal 4 (SIGILL) ==140482== Illegal opcode at address 0x4014520 ==140482== at 0x4014520: getparameter (tool_getparam.c:2862) ==140482== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140482== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140482== by 0x4003728: main (tool_main.c:186) === End of file valgrind1145 test 1167...[Verify curl prefix of public symbols in header files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/20/stdout1167 2> log/20/stderr1167 valgrind SKIPPED -------e--- OK (1111 out of 1760, remaining: 01:05, took 0.517s, duration: 01:51) 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/19/valgrind1149 ../src/curl -q --output log/19/curl1149.out --include --trace-ascii log/19/trace1149 --trace-time ftp://127.0.0.1:40075/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:40075/list/this/path/1149/ --ftp-method nocwd > log/19/stdout1149 2> log/19/stderr1149 1149: 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 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/19/valgrind1149 ../src/curl -q --output log/19/curl1149.out --include --trace-ascii log/19/trace1149 --trace-time ftp://127.0.0.1:40075/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:40075/list/this/path/1149/ --ftp-method nocwd > log/19/stdout1149 2> log/19/stderr1149 === End of file commands.log === Start of file ftp_server.log 17:50:41.716779 ====> Client connect 17:50:41.716970 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:41.717331 < "USER anonymous" 17:50:41.717384 > "331 We are happy you popped in![CR][LF]" 17:50:41.717602 < "PASS ftp@example.com" 17:50:41.717640 > "230 Welcome you silly person[CR][LF]" 17:50:41.717835 < "PWD" 17:50:41.717878 > "257 "/" is current directory[CR][LF]" 17:50:41.718081 < "EPSV" 17:50:41.718112 ====> Passive DATA channel requested by client 17:50:41.718132 DATA sockfilt for passive data channel starting... 17:50:41.724474 DATA sockfilt for passive data channel started (pid 140964) 17:50:41.724613 DATA sockfilt for passive data channel listens on port 43427 17:50:41.724670 > "229 Entering Passive Mode (|||43427|)[CR][LF]" 17:50:41.724691 Client has been notified that DATA conn will be accepted on port 43427 17:50:41.725007 Client connects to port 43427 17:50:41.725042 ====> Client established passive DATA connection on port 43427 17:50:41.725140 < "TYPE I" 17:50:41.725180 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:41.725361 < "SIZE verifiedserver" 17:50:41.725406 > "213 17[CR][LF]" 17:50:41.725575 < "RETR verifiedserver" 17:50:41.725616 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:41.725713 =====> Closing passive DATA connection... 17:50:41.725733 Server disconnects passive DATA connection 17:50:41.725976 Server disconnected passive DATA connection 17:50:41.726008 DATA sockfilt for passive data channel quits (pid 140964) 17:50:41.726233 DATA sockfilt for passive data channel quit (pid 140964) 17:50:41.726262 =====> Closed passive DATA connection 17:50:41.726292 > "226 File transfer complete[CR][LF]" 17:50:41.770373 < "QUIT" 17:50:41.770435 > "221 bye bye baby[CR][LF]" 17:50:41.771657 MAIN sockfilt said DISC 17:50:41.771705 ====> Client disconnected 17:50:41.771793 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:41.562807 ====> Client connect 17:50:41.563177 Received DATA (on stdin) 17:50:41.563200 > 146 bytes data, server => client 17:50:41.563213 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:41.563224 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:41.563234 '220 \___|\___/|_| \_\_____|\r\n' 17:50:41.563333 < 16 bytes data, client => server 17:50:41.563350 'USER anonymous\r\n' 17:50:41.563576 Received DATA (on stdin) 17:50:41.563591 > 33 bytes data, server => client 17:50:41.563602 '331 We are happy you popped in!\r\n' 17:50:41.563666 < 22 bytes data, client => server 17:50:41.563681 'PASS ftp@example.com\r\n' 17:50:41.563825 Received DATA (on stdin) 17:50:41.563839 > 30 bytes data, server => client 17:50:41.563850 '230 Welcome you silly person\r\n' 17:50:41.563908 < 5 bytes data, client => server 17:50:41.563923 'PWD\r\n' 17:50:41.564065 Received DATA (on stdin) 17:50:41.564078 > 30 bytes data, server => client 17:50:41.564089 '257 "/" is current directory\r\n' 17:50:41.564159 < 6 bytes data, client => server 17:50:41.564174 'EPSV\r\n' 17:50:41.570882 Received DATA (on stdin) 17:50:41.570899 > 39 bytes data, server => client 17:50:41.570911 '229 Entering Passive Mode (|||43427|)\r\n' 17:50:41.571100 < 8 bytes data, client => server 17:50:41.571117 'TYPE I\r\n' 17:50:41.571365 Received DATA (on stdin) 17:50:41.571378 > 33 bytes data, server => client 17:50:41.571389 '200 I modify TYPE as you wanted\r\n' 17:50:41.571444 < 21 bytes data, client => server 17:50:41.571458 'SIZE verifiedserver\r\n' 17:50:41.571590 Received DATA (on stdin) 17:50:41.571603 > 8 bytes data, server => client 17:50:41.571612 '213 17\r\n' 17:50:41.571664 < 21 bytes data, client => server 17:50:41.571676 'RETR verifiedserver\r\n' 17:50:41.571918 Received DATA (on stdin) 17:50:41.571931 > 29 bytes data, server => client 17:50:41.571942 '150 Binary junk (17 bytes).\r\n' 17:50:41.572476 Received DATA (on stdin) 17:50:41.572489 > 28 bytes data, server => client 17:50:41.572499 '226 File transfer complete\r\n' 17:50:41.616338 < 6 bytes data, client => server 17:50:41.616377 'QUIT\r\n' 17:50:41.616622 Received DATA (on stdin) 17:50:41.616635 > 18 bytes data, server => client 17:50:41.616646 '221 bye bye baby\r\n' 17:50:41.617766 ====> Client disconnect 17:50:41.617975 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:41.570285 Running IPv4 version 17:50:41.570365 Listening on port 43427 17:50:41.570406 Wrote pid 140964 to log/19/server/ftp_sockdata.pid 17:50:41.570588 Received PING (on stdin) 17:50:41.570692 Received PORT (on stdin) 17:50:41.571140 ====> Client connect 17:50:41.571969 Received DATA (on stdin) 17:50:41.571983 > 17 bytes data, server => client 17:50:41.571993 'WE ROOLZ: 81054\r\n' 17:50:41.572018 Received DISC (on stdin) 17:50:41.572029 ====> Client forcibly disconnected 17:50:41.572198 Received QUIT (on stdin) 17:50:41.572211 quits 17:50:41.572274 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1149 === End of file server.cmd === Start of file valgrind1149 ==140983== ==140983== Process terminating with default action of signal 4 (SIGILL) ==140983== Illegal opcode at address 0x4014520 ==140983== at 0x4014520: getparameter (tool_getparam.c:2862) ==140983== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140983== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140983== by 0x4003728: main (tool_main.c:186) === End of file valgrind1149 CMD (31488): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/13/test1169-library.pl > log/13/stdout1169 2> log/13/stderr1169 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/2/stdout1173 2> log/2/stderr1173 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests/.. > log/13/stdout1175 2> log/13/stderr1175 CMD (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 (33792): ../libtool --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/valgrind1152 ../src/curl -q --output log/8/curl1152.out --include --trace-ascii log/8/trace1152 --trace-time ftp://127.0.0.1:42799/test-1152/ > log/8/stdout1152 2> log/8/stderr1152 CMD (33792): ../libtool --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/valgrind1147 ../src/curl -q --output log/9/curl1147.out --include --trace-ascii log/9/trace1147 --trace-time http://127.0.0.1:37413/1147 -H @log/9/heads1147.txt > log/9/stdout1147 2> log/9/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/21/valgrind1146 ../src/curl -q --output log/21/curl1146.out --trace-ascii log/21/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/21/test1146.txt > log/21/stdout1146 2> log/21/stderr1146 1146: data FAILED: --- log/21/check-expected 2026-01-28 17:50:43.723222060 +0000 +++ log/21/check-generated 2026-01-28 17:50:43.723222060 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/21/ 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/21/valgrind1146 ../src/curl -q --output log/21/curl1146.out --trace-ascii log/21/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/21/test1146.txt > log/21/stdout1146 2> log/21/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 ==140730== ==140730== Process terminating with default action of signal 4 (SIGILL) ==140730== Illegal opcode at address 0x4014520 ==140730== at 0x4014520: getparameter (tool_getparam.c:2862) ==140730== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140730== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140730== by 0x4003728: main (tool_main.c:186) === End of file valgrind1146 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/13/test1169-library.pl > log/13/stdout1169 2> log/13/stderr1169 valgrind SKIPPED -------e--- OK (1113 out of 1760, remaining: 01:05, took 0.304s, duration: 01:51) 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/2/stdout1173 2> log/2/stderr1173 valgrind SKIPPED -r-----e--- OK (1117 out of 1760, remaining: 01:04, took 0.146s, duration: 01:51) 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/13/stdout1175 2> log/13/stderr1175 valgrind SKIPPED -------e--- OK (1119 out of 1760, remaining: 01:04, took 0.043s, duration: 01:51) test 1177...[Verify that feature names and CURL_VERSION_* in lib and docs are 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 (1121 out of 1760, remaining: 01:03, took 0.032s, duration: 01:51) test 1152...[FTP with uneven 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/8/valgrind1152 ../src/curl -q --output log/8/curl1152.out --include --trace-ascii log/8/trace1152 --trace-time ftp://127.0.0.1:42799/test-1152/ > log/8/stdout1152 2> log/8/stderr1152 1152: 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 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/8/valgrind1152 ../src/curl -q --output log/8/curl1152.out --include --trace-ascii log/8/trace1152 --trace-time ftp://127.0.0.1:42799/test-1152/ > log/8/stdout1152 2> log/8/stderr1152 === End of file commands.log === Start of file ftp_server.log 17:50:41.869155 ====> Client connect 17:50:41.869353 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:41.869694 < "USER anonymous" 17:50:41.869744 > "331 We are happy you popped in![CR][LF]" 17:50:41.869957 < "PASS ftp@example.com" 17:50:41.870012 > "230 Welcome you silly person[CR][LF]" 17:50:41.870193 < "PWD" 17:50:41.870227 > "257 "/" is current directory[CR][LF]" 17:50:41.870399 < "EPSV" 17:50:41.870426 ====> Passive DATA channel requested by client 17:50:41.870441 DATA sockfilt for passive data channel starting... 17:50:41.880559 DATA sockfilt for passive data channel started (pid 141072) 17:50:41.880727 DATA sockfilt for passive data channel listens on port 42503 17:50:41.880790 > "229 Entering Passive Mode (|||42503|)[CR][LF]" 17:50:41.880820 Client has been notified that DATA conn will be accepted on port 42503 17:50:41.881120 Client connects to port 42503 17:50:41.881158 ====> Client established passive DATA connection on port 42503 17:50:41.881269 < "TYPE I" 17:50:41.881325 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:41.881545 < "SIZE verifiedserver" 17:50:41.881588 > "213 17[CR][LF]" 17:50:41.881764 < "RETR verifiedserver" 17:50:41.881800 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:41.881904 =====> Closing passive DATA connection... 17:50:41.881929 Server disconnects passive DATA connection 17:50:41.882187 Server disconnected passive DATA connection 17:50:41.882223 DATA sockfilt for passive data channel quits (pid 141072) 17:50:41.888489 DATA sockfilt for passive data channel quit (pid 141072) 17:50:41.888531 =====> Closed passive DATA connection 17:50:41.888569 > "226 File transfer complete[CR][LF]" 17:50:41.936874 < "QUIT" 17:50:41.936931 > "221 bye bye baby[CR][LF]" 17:50:41.938128 MAIN sockfilt said DISC 17:50:41.938172 ====> Client disconnected 17:50:41.938254 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:42.714987 ====> Client connect 17:50:42.715560 Received DATA (on stdin) 17:50:42.715581 > 146 bytes data, server => client 17:50:42.715593 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:42.715604 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:42.715615 '220 \___|\___/|_| \_\_____|\r\n' 17:50:42.715703 < 16 bytes data, client => server 17:50:42.715719 'USER anonymous\r\n' 17:50:42.715936 Received DATA (on stdin) 17:50:42.715951 > 33 bytes data, server => client 17:50:42.715962 '331 We are happy you popped in!\r\n' 17:50:42.716023 < 22 bytes data, client => server 17:50:42.716039 'PASS ftp@example.com\r\n' 17:50:42.716199 Received DATA (on stdin) 17:50:42.716212 > 30 bytes data, server => client 17:50:42.716222 '230 Welcome you silly person\r\n' 17:50:42.716278 < 5 bytes data, client => server 17:50:42.716290 'PWD\r\n' 17:50:42.716408 Received DATA (on stdin) 17:50:42.716420 > 30 bytes data, server => client 17:50:42.716430 '257 "/" is current directory\r\n' 17:50:42.716491 < 6 bytes data, client => server 17:50:42.716502 'EPSV\r\n' 17:50:42.727017 Received DATA (on stdin) 17:50:42.727037 > 39 bytes data, server => client 17:50:42.727050 '229 Entering Passive Mode (|||42503|)\r\n' 17:50:42.727207 < 8 bytes data, client => server 17:50:42.727227 'TYPE I\r\n' 17:50:42.727528 Received DATA (on stdin) 17:50:42.727544 > 33 bytes data, server => client 17:50:42.727555 '200 I modify TYPE as you wanted\r\n' 17:50:42.727621 < 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/valgrind1154 ../src/curl -q --output log/18/curl1154.out --include --trace-ascii log/18/trace1154 --trace-time http://127.0.0.1:34067/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/3/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:45927/want/1156 > log/3/stdout1156 2> log/3/stderr1156 bytes data, client => server 17:50:42.727637 'SIZE verifiedserver\r\n' 17:50:42.727773 Received DATA (on stdin) 17:50:42.727784 > 8 bytes data, server => client 17:50:42.727794 '213 17\r\n' 17:50:42.727850 < 21 bytes data, client => server 17:50:42.727863 'RETR verifiedserver\r\n' 17:50:42.728118 Received DATA (on stdin) 17:50:42.728132 > 29 bytes data, server => client 17:50:42.728143 '150 Binary junk (17 bytes).\r\n' 17:50:42.734761 Received DATA (on stdin) 17:50:42.734777 > 28 bytes data, server => client 17:50:42.734789 '226 File transfer complete\r\n' 17:50:42.782855 < 6 bytes data, client => server 17:50:42.782887 'QUIT\r\n' 17:50:42.783118 Received DATA (on stdin) 17:50:42.783130 > 18 bytes data, server => client 17:50:42.783140 '221 bye bye baby\r\n' 17:50:42.784246 ====> Client disconnect 17:50:42.784435 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:41.723674 Running IPv4 version 17:50:41.723744 Listening on port 42503 17:50:41.723792 Wrote pid 141072 to log/8/server/ftp_sockdata.pid 17:50:41.726667 Received PING (on stdin) 17:50:41.726796 Received PORT (on stdin) 17:50:41.727249 ====> Client connect 17:50:41.728172 Received DATA (on stdin) 17:50:41.728185 > 17 bytes data, server => client 17:50:41.728196 'WE ROOLZ: 81155\r\n' 17:50:41.728223 Received DISC (on stdin) 17:50:41.728236 ====> Client forcibly disconnected 17:50:41.728418 Received QUIT (on stdin) 17:50:41.728432 quits 17:50:41.734499 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "just one Testnum 1152 === End of file server.cmd === Start of file valgrind1152 ==141152== ==141152== Process terminating with default action of signal 4 (SIGILL) ==141152== Illegal opcode at address 0x4014520 ==141152== at 0x4014520: getparameter (tool_getparam.c:2862) ==141152== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141152== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141152== by 0x4003728: main (tool_main.c:186) === End of file valgrind1152 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/9/valgrind1147 ../src/curl -q --output log/9/curl1147.out --include --trace-ascii log/9/trace1147 --trace-time http://127.0.0.1:37413/1147 -H @log/9/heads1147.txt > log/9/stdout1147 2> log/9/stderr1147 1147: 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 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/9/valgrind1147 ../src/curl -q --output log/9/curl1147.out --include --trace-ascii log/9/trace1147 --trace-time http://127.0.0.1:37413/1147 -H @log/9/heads1147.txt > log/9/stdout1147 2> log/9/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 17:50:40.915108 ====> Client connect 17:50:40.915149 accept_connection 3 returned 4 17:50:40.915168 accept_connection 3 returned 0 17:50:40.915184 Read 93 bytes 17:50:40.915195 Process 93 bytes request 17:50:40.915210 Got request: GET /verifiedserver HTTP/1.1 17:50:40.915219 Are-we-friendly question received 17:50:40.915249 Wrote request (93 bytes) input to log/9/server.input 17:50:40.915267 Identifying ourselves as friends 17:50:40.915333 Response sent (56 bytes) and written to log/9/server.response 17:50:40.915344 special request received, no persistency 17:50:40.915353 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 53014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind1147 ==140775== ==140775== Process terminating with default action of signal 4 (SIGILL) ==140775== Illegal opcode at address 0x4014520 ==140775== at 0x4014520: getparameter (tool_getparam.c:2862) ==140775== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140775== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140775== by 0x4003728: main (tool_main.c:186) === End of file valgrind1147 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:34067/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:34067/1154 > log/18/stdout1154 2> log/18/stderr1154 === End of file commands.log === Start of file http_server.log 17:50:41.743028 ====> Client connect 17:50:41.743069 accept_connection 3 returned 4 17:50:41.743087 accept_connection 3 returned 0 17:50:41.743103 Read 93 bytes 17:50:41.743113 Process 93 bytes request 17:50:41.743128 Got request: GET /verifiedserver HTTP/1.1 17:50:41.743137 Are-we-friendly question received 17:50:41.743167 Wrote request (93 bytes) input to log/18/server.input 17:50:41.743186 Identifying ourselves as friends 17:50:41.743252 Response sent (56 bytes) and written to log/18/server.response 17:50:41.743263 special request received, no persistency 17:50:41.743272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 60564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1154 ==141125== ==141125== Process terminating with default action of signal 4 (SIGILL) ==141125== Illegal opcode at address 0x4014520 ==141125== at 0x4014520: getparameter (tool_getparam.c:2862) ==141125== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141125== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141125== by 0x4003728: main (tool_main.c:186) === End of file valgrind1154 CMD (33792): ../libtool --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/valgrind1153 ../src/curl -q --output log/5/curl1153.out --include --trace-ascii log/5/trace1153 --trace-time ftp://127.0.0.1:34559/test-1153/ > log/5/stdout1153 2> log/5/stderr1153 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/3/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:45927/want/1156 > log/3/stdout1156 2> log/3/stderr1156 1156: stdout FAILED: --- log/3/check-expected 2026-01-28 17:50:44.279888727 +0000 +++ log/3/check-generated 2026-01-28 17:50:44.279888727 +0000 @@ -1 +0,0 @@ -0[LF] == Contents of files in the log/3/ 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/3/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:45927/want/1156 > log/3/stdout1156 2> log/3/stderr1156 === End of file commands.log === Start of file http_server.log 17:50:41.936242 ====> Client connect 17:50:41.936279 accept_connection 3 returned 4 17:50:41.936297 accept_connection 3 returned 0 17:50:41.936313 Read 93 bytes 17:50:41.936323 Process 93 bytes request 17:50:41.936337 Got request: GET /verifiedserver HTTP/1.1 17:50:41.936346 Are-we-friendly question received 17:50:41.936371 Wrote request (93 bytes) input to log/3/server.input 17:50:41.936389 Identifying ourselves as friends 17:50:41.936456 Response sent (56 bytes) and written to log/3/server.response 17:50:41.936466 special request received, no persistency 17:50:41.936475 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 41936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file stderr1156 URL: http://127.0.0.1:45927/want/1156 === End of file stderr1156 === Start of file valgrind1156 ==141354== ==141354== Process terminating with default action of signal 4 (SIGILL) ==141354== Illegal opcode at address 0x51D97AF ==141354== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==141354== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==141354== by 0x51D97AF: Curl_open (url.c:502) ==141354== by 0x515120F: curl_easy_init (easy.c:365) ==141354== by 0x4024715: test_lib1156.lto_priv.0 (lib1156.c:145) ==141354== by 0x40034B5: main (first.c:279) ==141354== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==141354== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==141354== by 0x51D96BD: Curl_open (url.c:479) ==141354== by 0x515120F: curl_easy_init (easy.c:365) ==141354== by 0x4024715: test_lib1156.lto_priv.0 (lib1156.c:145) ==141354== by 0x40034B5: main (first.c:279) ==141354== === End of file valgrind1156 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/5/valgrind1153 ../src/curl -q --output log/5/curl1153.out --include --trace-ascii log/5/trace1153 --trace-time ftp://127.0.0.1:34559/test-1153/ > log/5/stdout1153 2> log/5/stderr1153 1153: 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 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/5/valgrind1153 ../src/curl -q --output log/5/curl1153.out --include --trace-ascii log/5/trace1153 --trace-time ftp://127.0.0.1:34559/test-1153/ > log/5/stdout1153 2> log/5/stderr1153 === End of file commands.log === Start of file ftp_server.log 17:50:41.913460 ====> Client connect 17:50:41.913653 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:41.914002 < "USER anonymous" 17:50:41.914056 > "331 We are happy you popped in![CR][LF]" 17:50:41.914289 < "PASS ftp@example.com" 17:50:41.914333 > "230 Welcome you silly person[CR][LF]" 17:50:41.914546 < "PWD" 17:50:41.914593 > "257 "/" is current directory[CR][LF]" 17:50:41.914812 < "EPSV" 17:50:41.914848 ====> Passive DATA channel requested by client 17:50:41.914868 DATA sockfilt for passive data channel starting... 17:50:41.920275 DATA sockfilt for passive data channel started (pid 141107) 17:50:41.920437 DATA sockfilt for passive data channel listens on port 32869 17:50:41.920501 > "229 Entering Passive Mode (|||32869|)[CR][LF]" 17:50:41.920525 Client has been notified that DATA conn will be accepted on port 32869 17:50:41.920875 Client connects to port 32869 17:50:41.920913 ====> Client established passive DATA connection on port 32869 17:50:41.921016 < "TYPE I" 17:50:41.921062 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:41.921260 < "SIZE verifiedserver" 17:50:41.921306 > "213 17[CR][LF]" 17:50:41.921500 < "RETR verifiedserver" 17:50:41.921548 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:41.921667 =====> Closing passive DATA connection... 17:50:41.921692 Server disconnects passive DATA connection 17:50:41.921957 Server disconnected passive DATA connection 17:50:41.921989 DATA sockfilt for passive data channel quits (pid 141107) 17:50:41.922284 DATA sockfilt for passive data channel quit (pid 141107) 17:50:41.922311 =====> Closed passive DATA connection 17:50:41.922343 > "226 File transfer complete[CR][LF]" 17:50:41.970833 < "QUIT" 17:50:41.970949 > "221 bye bye baby[CR][LF]" 17:50:41.973408 MAIN sockfilt said DISC 17:50:41.973456 ====> Client disconnected 17:50:41.973550 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:41.759520 ====> Client connect 17:50:41.759863 Received DATA (on stdin) 17:50:41.759881 > 146 bytes data, server => client 17:50:41.759894 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:41.759905 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:41.759915 '220 \___|\___/|_| \_\_____|\r\n' 17:50:41.760012 < 16 bytes data, client => server 17:50:41.760026 'USER anonymous\r\n' 17:50:41.760250 Received DATA (on stdin) 17:50:41.760265 > 33 bytes data, server => client 17:50:41.760277 '331 We are happy you popped in!\r\n' 17:50:41.760344 < 22 bytes data, client => server 17:50:41.760361 'PASS ftp@example.com\r\n' 17:50:41.760524 Received DATA (on stdin) 17:50:41.760539 > 30 bytes data, server => client 17:50:41.760551 '230 Welcome you silly person\r\n' 17:50:41.760613 < 5 bytes data, client => server 17:50:41.760630 'PWD\r\n' 17:50:41.760782 Received DATA (on stdin) 17:50:41.760796 > 30 bytes data, server => client 17:50:41.760807 '257 "/" is current directory\r\n' 17:50:41.760884 < 6 bytes data, client => server 17:50:41.760901 'EPSV\r\n' 17:50:41.766718 Received DATA (on stdin) 17:50:41.766737 > 39 bytes data, server => client 17:50:41.766749 '229 Entering Passive Mode (|||32869|)\r\n' 17:50:41.766995 < 8 bytes data, client => server 17:50:41.767010 'TYPE I\r\n' 17:50:41.767254 Received DATA (on stdin) 17:50:41.767269 > 33 bytes data, server => client 17:50:41.767280 '200 I modify TYPE as you wanted\r\n' 17:50:41.767341 < 21 bytes data, client => server 17:50:41.767353 'SIZE verifiedserver\r\n' 17:50:41.767492 Received 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/22/valgrind1150 ../src/curl -q --output log/22/curl1150.out --include --trace-ascii log/22/trace1150 --trace-time --proxy http://127.0.0.1:42933 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/22/stdout1150 2> log/22/stderr1150 CMD (1280): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/3/code1185.c > log/3/stdout1185 2> log/3/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/10/valgrind1151 ../src/curl -q --output log/10/curl1151.out --include --trace-ascii log/10/trace1151 --trace-time http://127.0.0.1:32889/1151 -c log/10/cookies1151.txt > log/10/stdout1151 2> log/10/stderr1151 A (on stdin) 17:50:41.767506 > 8 bytes data, server => client 17:50:41.767517 '213 17\r\n' 17:50:41.767578 < 21 bytes data, client => server 17:50:41.767594 'RETR verifiedserver\r\n' 17:50:41.767879 Received DATA (on stdin) 17:50:41.767894 > 29 bytes data, server => client 17:50:41.767905 '150 Binary junk (17 bytes).\r\n' 17:50:41.768526 Received DATA (on stdin) 17:50:41.768539 > 28 bytes data, server => client 17:50:41.768549 '226 File transfer complete\r\n' 17:50:41.809932 < 6 bytes data, client => server 17:50:41.809962 'QUIT\r\n' 17:50:41.817154 Received DATA (on stdin) 17:50:41.817178 > 18 bytes data, server => client 17:50:41.817188 '221 bye bye baby\r\n' 17:50:41.819514 ====> Client disconnect 17:50:41.819738 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:41.764680 Running IPv4 version 17:50:41.764796 Listening on port 32869 17:50:41.764853 Wrote pid 141107 to log/5/server/ftp_sockdata.pid 17:50:41.766374 Received PING (on stdin) 17:50:41.766511 Received PORT (on stdin) 17:50:41.766959 ====> Client connect 17:50:41.767935 Received DATA (on stdin) 17:50:41.767950 > 17 bytes data, server => client 17:50:41.767962 'WE ROOLZ: 81078\r\n' 17:50:41.767989 Received DISC (on stdin) 17:50:41.768003 ====> Client forcibly disconnected 17:50:41.768182 Received QUIT (on stdin) 17:50:41.768195 quits 17:50:41.768269 ============> 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 ==141204== ==141204== Process terminating with default action of signal 4 (SIGILL) ==141204== Illegal opcode at address 0x4014520 ==141204== at 0x4014520: getparameter (tool_getparam.c:2862) ==141204== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141204== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141204== by 0x4003728: main (tool_main.c:186) === End of file valgrind1153 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/22/valgrind1150 ../src/curl -q --output log/22/curl1150.out --include --trace-ascii log/22/trace1150 --trace-time --proxy http://127.0.0.1:42933 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/22/stdout1150 2> log/22/stderr1150 1150: 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 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/22/valgrind1150 ../src/curl -q --output log/22/curl1150.out --include --trace-ascii log/22/trace1150 --trace-time --proxy http://127.0.0.1:42933 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/22/stdout1150 2> log/22/stderr1150 === End of file commands.log === Start of file http_server.log 17:50:41.619583 ====> Client connect 17:50:41.619632 accept_connection 3 returned 4 17:50:41.619653 accept_connection 3 returned 0 17:50:41.619672 Read 93 bytes 17:50:41.619685 Process 93 bytes request 17:50:41.619701 Got request: GET /verifiedserver HTTP/1.1 17:50:41.619712 Are-we-friendly question received 17:50:41.619743 Wrote request (93 bytes) input to log/22/server.input 17:50:41.619763 Identifying ourselves as friends 17:50:41.619849 Response sent (56 bytes) and written to log/22/server.response 17:50:41.619862 special request received, no persistency 17:50:41.619871 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 56314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind1150 ==140981== ==140981== Process terminating with default action of signal 4 (SIGILL) ==140981== Illegal opcode at address 0x4014520 ==140981== at 0x4014520: getparameter (tool_getparam.c:2862) ==140981== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==140981== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==140981== by 0x4003728: main (tool_main.c:186) === End of file valgrind1150 test 1185...[checksrc] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/3/code1185.c > log/3/stdout1185 2> log/3/stderr1185 valgrind SKIPPED s------e--- OK (1126 out of 1760, remaining: 01:03, took 0.132s, duration: 01:52) 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/10/valgrind1151 ../src/curl -q --output log/10/curl1151.out --include --trace-ascii log/10/trace1151 --trace-time http://127.0.0.1:32889/1151 -c log/10/cookies1151.txt > log/10/stdout1151 2> log/10/stderr1151 1151: 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 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/10/valgrind1151 ../src/curl -q --output log/10/curl1151.out --include --trace-ascii log/10/trace1151 --trace-time http://127.0.0.1:32889/1151 -c log/10/cookies1151.txt > log/10/stdout1151 2> log/10/stderr1151 === End of file commands.log === Start of file http_server.log 17:50:41.726665 ====> Client connect 17:50:41.726698 accept_connection 3 returned 4 17:50:41.726714 accept_connection 3 returned 0 17:50:41.726728 Read 93 bytes 17:50:41.726738 Process 93 bytes request 17:50:41.726754 Got request: GET /verifiedserver HTTP/1.1 17:50:41.726763 Are-we-friendly question received 17:50:41.726794 Wrote request (93 bytes) input to log/10/server.input 17:50:41.726810 Identifying ourselves as friends 17:50:41.726872 Response sent (56 bytes) and written to log/10/server.response 17:50:41.726882 special request received, no persistency 17:50:41.726890 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 43424 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind1151 ==141118== ==141118== Process terminating with default action of signal 4 (SIGILL) ==141118== Illegal opcode at address 0x4014520 ==141118== at 0x4014520: getparameter (tool_getparam.c:2862) ==141118== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141118== 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/6/valgrind1155 ../src/curl -q --output log/6/curl1155.out --include --trace-ascii log/6/trace1155 --trace-time http://127.0.0.1:42747/1155 -c log/6/cookies1155.txt > log/6/stdout1155 2> log/6/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/7/valgrind1164 ../src/curl -q --output log/7/curl1164.out --include --trace-ascii log/7/trace1164 --trace-time http://127.0.0.1:35671/1164 -w '%{size_download}\n' --http0.9 > log/7/stdout1164 2> log/7/stderr1164 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141118== by 0x4003728: main (tool_main.c:186) === End of file valgrind1151 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/6/valgrind1155 ../src/curl -q --output log/6/curl1155.out --include --trace-ascii log/6/trace1155 --trace-time http://127.0.0.1:42747/1155 -c log/6/cookies1155.txt > log/6/stdout1155 2> log/6/stderr1155 1155: 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 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/6/valgrind1155 ../src/curl -q --output log/6/curl1155.out --include --trace-ascii log/6/trace1155 --trace-time http://127.0.0.1:42747/1155 -c log/6/cookies1155.txt > log/6/stdout1155 2> log/6/stderr1155 === End of file commands.log === Start of file http_server.log 17:50:41.919601 ====> Client connect 17:50:41.919646 accept_connection 3 returned 4 17:50:41.919666 accept_connection 3 returned 0 17:50:41.919682 Read 93 bytes 17:50:41.919691 Process 93 bytes request 17:50:41.919705 Got request: GET /verifiedserver HTTP/1.1 17:50:41.919713 Are-we-friendly question received 17:50:41.919737 Wrote request (93 bytes) input to log/6/server.input 17:50:41.919753 Identifying ourselves as friends 17:50:41.919824 Response sent (56 bytes) and written to log/6/server.response 17:50:41.919833 special request received, no persistency 17:50:41.919841 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 49666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind1155 ==141369== ==141369== Process terminating with default action of signal 4 (SIGILL) ==141369== Illegal opcode at address 0x4014520 ==141369== at 0x4014520: getparameter (tool_getparam.c:2862) ==141369== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141369== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141369== by 0x4003728: main (tool_main.c:186) === End of file valgrind1155 CMD (33792): ../libtool --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/valgrind1157 ../src/curl -q --output log/1/curl1157.out --include --trace-ascii log/1/trace1157 --trace-time http://127.0.0.1:39589/1157 -H @log/1/heads1157.txt > log/1/stdout1157 2> log/1/stderr1157 CMD (33792): ../libtool --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/valgrind1158 ../src/curl -q --output log/14/curl1158.out --include --trace-ascii log/14/trace1158 --trace-time http://127.0.0.1:37569/we/want/1158 -F "file=@\"log/14/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/14/test1158\".txt"' -F 'file3=@"log/14/test1158\".txt";type=m/f,"log/14/test1158\".txt"' > log/14/stdout1158 2> log/14/stderr1158 CMD (33792): ../libtool --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/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:40307/fully_simulated/DOS/[*\\s-'tl" > log/4/stdout1162 2> log/4/stderr1162 CMD (33792): ../libtool --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/valgrind1160 ../src/curl -q --output log/16/curl1160.out --include --trace-ascii log/16/trace1160 --trace-time http://127.0.0.1:40899/1160 -c log/16/cookies1160.txt > log/16/stdout1160 2> log/16/stderr1160 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/7/valgrind1164 ../src/curl -q --output log/7/curl1164.out --include --trace-ascii log/7/trace1164 --trace-time http://127.0.0.1:35671/1164 -w '%{size_download}\n' --http0.9 > log/7/stdout1164 2> log/7/stderr1164 1164: stdout FAILED: --- log/7/check-expected 2026-01-28 17:50:45.036555393 +0000 +++ log/7/check-generated 2026-01-28 17:50:45.036555393 +0000 @@ -1 +0,0 @@ -208[CR][LF] == Contents of files in the log/7/ 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/7/valgrind1164 ../src/curl -q --output log/7/curl1164.out --include --trace-ascii log/7/trace1164 --trace-time http://127.0.0.1:35671/1164 -w '%{size_download}\n' --http0.9 > log/7/stdout1164 2> log/7/stderr1164 === End of file commands.log === Start of file http_server.log 17:50:42.789585 ====> Client connect 17:50:42.789621 accept_connection 3 returned 4 17:50:42.789638 accept_connection 3 returned 0 17:50:42.789654 Read 93 bytes 17:50:42.789664 Process 93 bytes request 17:50:42.789676 Got request: GET /verifiedserver HTTP/1.1 17:50:42.789685 Are-we-friendly question received 17:50:42.789709 Wrote request (93 bytes) input to log/7/server.input 17:50:42.789725 Identifying ourselves as friends 17:50:42.789805 Response sent (56 bytes) and written to log/7/server.response 17:50:42.789815 special request received, no persistency 17:50:42.789823 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 44452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1164 ==141949== ==141949== Process terminating with default action of signal 4 (SIGILL) ==141949== Illegal opcode at address 0x4014520 ==141949== at 0x4014520: getparameter (tool_getparam.c:2862) ==141949== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141949== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141949== by 0x4003728: main (tool_main.c:186) === End of file valgrind1164 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/1/valgrind1157 ../src/curl -q --output log/1/curl1157.out --include --trace-ascii log/1/trace1157 --trace-time http://127.0.0.1:39589/1157 -H @log/1/heads1157.txt > log/1/stdout1157 2> log/1/stderr1157 1157: 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 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/1/valgrind1157 ../src/curl -q --output log/1/curl1157.out --include --trace-ascii log/1/trace1157 --trace-time http://127.0.0.1:39589/1157 -H @log/1/heads1157.txt > log/1/stdout1157 2> log/1/stderr1157 === End of file commands.log === Start of file http_server.log 17:50:42.258324 ====> Client connect 17:50:42.258362 accept_connection 3 returned 4 17:50:42.258381 accept_connection 3 returned 0 17:50:42.258395 Read 93 bytes 17:50:42.258404 Process 93 bytes request 17:50:42.258418 Got request: GET /verifiedserver HTTP/1.1 17:50:42.258427 Are-we-friendly question received 17:50:42.258453 Wrote request (93 bytes) input to log/1/server.input 17:50:42.258471 Identifying ourselves as friends 17:50:42.258528 Response sent (56 bytes) and written to log/1/server.response 17:50:42.258538 special request received, no persistency 17:50:42.258547 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 50052 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind1157 ==141525== ==141525== Process terminating with default action of signal 4 (SIGILL) ==141525== Illegal opcode at address 0x4014520 ==141525== at 0x4014520: getparameter (tool_getparam.c:2862) ==141525== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141525== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141525== by 0x4003728: main (tool_main.c:186) === End of file valgrind1157 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/4/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:40307/fully_simulated/DOS/[*\\s-'tl" > log/4/stdout1162 2> log/4/stderr1162 1162: 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 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/4/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:40307/fully_simulated/DOS/[*\\s-'tl" > log/4/stdout1162 2> log/4/stderr1162 === End of file commands.log === Start of file ftp_server.log 17:50:42.602674 ====> Client connect 17:50:42.602857 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:42.603152 < "USER anonymous" 17:50:42.603193 > "331 We are happy you popped in![CR][LF]" 17:50:42.603379 < "PASS ftp@example.com" 17:50:42.603409 > "230 Welcome you silly person[CR][LF]" 17:50:42.603564 < "PWD" 17:50:42.603595 > "257 "/" is current directory[CR][LF]" 17:50:42.603745 < "EPSV" 17:50:42.603771 ====> Passive DATA channel requested by client 17:50:42.603785 DATA sockfilt for passive data channel starting... 17:50:42.610924 DATA sockfilt for passive data channel started (pid 141677) 17:50:42.611070 DATA sockfilt for passive data channel listens on port 41723 17:50:42.611122 > "229 Entering Passive Mode (|||41723|)[CR][LF]" 17:50:42.611142 Client has been notified that DATA conn will be accepted on port 41723 17:50:42.611457 Client connects to port 41723 17:50:42.611488 ====> Client established passive DATA connection on port 41723 17:50:42.611593 < "TYPE I" 17:50:42.611627 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:42.611794 < "SIZE verifiedserver" 17:50:42.611837 > "213 17[CR][LF]" 17:50:42.611979 < "RETR verifiedserver" 17:50:42.612015 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:42.612105 =====> Closing passive DATA connection... 17:50:42.612121 Server disconnects passive DATA connection 17:50:42.612343 Server disconnected passive DATA connection 17:50:42.612370 DATA sockfilt for passive data channel quits (pid 141677) 17:50:42.612641 DATA sockfilt for passive data channel quit (pid 141677) 17:50:42.612664 =====> Closed passive DATA connection 17:50:42.612690 > "226 File transfer complete[CR][LF]" 17:50:42.658108 < "QUIT" 17:50:42.658167 > "221 bye bye baby[CR][LF]" 17:50:42.659877 MAIN sockfilt said DISC 17:50:42.659930 ====> Client disconnected 17:50:42.660169 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:42.448707 ====> Client connect 17:50:42.449051 Received DATA (on stdin) 17:50:42.449066 > 146 bytes data, server => client 17:50:42.449078 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:42.449089 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:42.449099 '220 \___|\___/|_| \_\_____|\r\n' 17:50:42.449181 < 16 bytes data, client => server 17:50:42.449193 'USER anonymous\r\n' 17:50:42.449376 Received DATA (on stdin) 17:50:42.449387 > 33 bytes data, server => client 17:50:42.449398 '331 We are happy you popped in!\r\n' 17:50:42.449450 < 22 bytes data, client => server 17:50:42.449460 'PASS ftp@example.com\r\n' 17:50:42.449590 Received DATA (on stdin) 17:50:42.449601 > 30 bytes data, server => client 17:50:42.449611 '230 Welcome you silly person\r\n' 17:50:42.449662 < 5 bytes data, client => server 17:50:42.449672 'PWD\r\n' 17:50:42.449773 Received DATA (on stdin) 17:50:42.449784 > 30 bytes data, server => client 17:50:42.449794 '257 "/" is current directory\r\n' 17:50:42.449848 < 6 bytes data, client => server 17:50:42.449858 'EPSV\r\n' 17:50:42.457333 Received DATA (on stdin) 17:50:42.457351 > 39 bytes data, server => client 17:50:42.457363 '229 Entering Passive Mode (|||41723|)\r\n' 17:50:42.457553 < 8 bytes data, client => server 17:50:42.457567 'TYPE I\r\n' 17:50:42.457809 Received DATA (on stdin) 17:50:42.457821 > 33 bytes data, server => client 17:50:42.457832 '200 I modify TYPE as you wanted\r\n' 17:50:42.457888 < 21 bytes data, client => server 17:50:42.457899 'SIZE verifiedserver\r\n' 17:50:42.458017 Received DATA (on stdin) 17:50:42.458028 > 8 bytes data, server => client 17:50:42.458038 '213 17\r\n' 17:50:42.458085 < 21 bytes data, client => server 17:50:42.458095 'RETR verifiedserver\r\n' 17:50:42.458300 Received DATA (on stdin) 17:50:42.458310 > 29 bytes data, server => client 17:50:42.458319 '150 Binary junk (17 bytes).\r\n' 17:50:42.458871 Received DATA (on stdin) 17:50:42.458882 > 28 bytes data, server => client 17:50:42.458891 '226 File transfer complete\r\n' 17:50:42.502993 < 6 bytes data, client => server 17:50:42.503040 'QUIT\r\n' 17:50:42.504355 Received DATA (on stdin) 17:50:42.504372 > 18 bytes data, server => client 17:50:42.504382 '221 bye bye baby\r\n' 17:50:42.505456 ====> Client disconnect 17:50:42.506205 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:42.452716 Running IPv4 version 17:50:42.452804 Listening on port 41723 17:50:42.452871 Wrote pid 141677 to log/4/server/ftp_sockdata.pid 17:50:42.457020 Received PING (on stdin) 17:50:42.457148 Received PORT (on stdin) 17:50:42.457588 ====> Client connect 17:50:42.458374 Received DATA (on stdin) 17:50:42.458386 > 17 bytes data, server => client 17:50:42.458395 'WE ROOLZ: 80996\r\n' 17:50:42.458418 Received DISC (on stdin) 17:50:42.458427 ====> Client forcibly disconnected 17:50:42.458559 Received QUIT (on stdin) 17:50:42.458568 quits 17:50:42.458635 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1162 === End of file server.cmd === Start of file stderr1162 URL: ftp://127.0.0.1:40307/fully_simulated/DOS/[*\s-'tl === End of file stderr1162 === Start of file valgrind1162 ==141776== ==141776== Process terminating with default action of signal 4 (SIGILL) ==141776== Illegal opcode at address 0x51D97AF ==141776== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==141776== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==141776== by 0x51D97AF: Curl_open (url.c:502) ==141776== by 0x515120F: curl_easy_init (easy.c:365) ==141776== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==141776== by 0x40034B5: main (first.c:279) ==141776== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==141776== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==141776== by 0x51D96BD: Curl_open (url.c:479) ==141776== by 0x515120F: curl_easy_init (easy.c:365) ==141776== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==141776== by 0x40034B5: main (first.c:279) ==141776== === End of file valgrind1162 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/14/valgrind1158 ../src/curl -q --output log/14/curl1158.out --include --trace-ascii log/14/trace1158 --trace-time http://127.0.0.1:37569/we/want/1158 -F "file=@\"log/14/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/14/test1158\".txt"' -F 'file3=@"log/14/test1158\".txt";type=m/f,"log/14/test1158\".txt"' > log/14/stdout1158 2> log/14/stderr1158 1158: 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 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/14/valgrind1158 ../src/curl -q --output log/14/curl1158.out --include --trace-ascii log/14/trace1158 --trace-time http://127.0.0.1:37569/we/want/1158 -F "file=@\"log/14/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/14/test1158\".txt"' -F 'file3=@"log/14/test1158\".txt";type=m/f,"log/14/test1158\".txt"' > log/14/stdout1158 2> log/14/stderr1158 === End of file commands.log === Start of file http_server.log 17:50:43.291516 ====> Client connect 17:50:43.291565 accept_connection 3 returned 4 17:50:43.291585 accept_connection 3 returned 0 17:50:43.292994 Read 93 bytes 17:50:43.293015 Process 93 bytes request 17:50:43.293030 Got request: GET /verifiedserver HTTP/1.1 17:50:43.293040 Are-we-friendly question received 17:50:43.293074 Wrote request (93 bytes) input to log/14/server.input 17:50:43.293094 Identifying ourselves as friends 17:50:43.293164 Response sent (56 bytes) and written to log/14/server.response 17:50:43.293175 special request received, no persistency 17:50:43.293183 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 50668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === 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 ==141562== ==141562== Process terminating with default action of signal 4 (SIGILL) ==141562== Illegal opcode at address 0x4014520 ==141562== at 0x4014520: getparameter (tooCMD (33792): ../libtool --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/valgrind1159 ../src/curl -q --include --trace-ascii log/15/trace1159 --trace-time http://127.0.0.1:41057/we/want/our/1159 -w '%{redirect_url}\n' > log/15/stdout1159 2> log/15/stderr1159 l_getparam.c:2862) ==141562== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141562== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141562== by 0x4003728: main (tool_main.c:186) === End of file valgrind1158 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/16/valgrind1160 ../src/curl -q --output log/16/curl1160.out --include --trace-ascii log/16/trace1160 --trace-time http://127.0.0.1:40899/1160 -c log/16/cookies1160.txt > log/16/stdout1160 2> log/16/stderr1160 1160: 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 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/16/valgrind1160 ../src/curl -q --output log/16/curl1160.out --include --trace-ascii log/16/trace1160 --trace-time http://127.0.0.1:40899/1160 -c log/16/cookies1160.txt > log/16/stdout1160 2> log/16/stderr1160 === End of file commands.log === Start of file http_server.log 17:50:42.372918 ====> Client connect 17:50:42.372966 accept_connection 3 returned 4 17:50:42.372987 accept_connection 3 returned 0 17:50:42.373005 Read 93 bytes 17:50:42.373016 Process 93 bytes request 17:50:42.373031 Got request: GET /verifiedserver HTTP/1.1 17:50:42.373040 Are-we-friendly question received 17:50:42.373072 Wrote request (93 bytes) input to log/16/server.input 17:50:42.373092 Identifying ourselves as friends 17:50:42.373177 Response sent (56 bytes) and written to log/16/server.response 17:50:42.373190 special request received, no persistency 17:50:42.373199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 43282 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind1160 ==141618== ==141618== Process terminating with default action of signal 4 (SIGILL) ==141618== Illegal opcode at address 0x4014520 ==141618== at 0x4014520: getparameter (tool_getparam.c:2862) ==141618== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141618== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141618== by 0x4003728: main (tool_main.c:186) === End of file valgrind1160 CMD (33792): ../libtool --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/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:36233/fully_simulated/DOS/*[][" > log/11/stdout1163 2> log/11/stderr1163 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/15/valgrind1159 ../src/curl -q --include --trace-ascii log/15/trace1159 --trace-time http://127.0.0.1:41057/we/want/our/1159 -w '%{redirect_url}\n' > log/15/stdout1159 2> log/15/stderr1159 1159: stdout FAILED: --- log/15/check-expected 2026-01-28 17:50:45.213222059 +0000 +++ log/15/check-generated 2026-01-28 17:50:45.213222059 +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/15/ 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/15/valgrind1159 ../src/curl -q --include --trace-ascii log/15/trace1159 --trace-time http://127.0.0.1:41057/we/want/our/1159 -w '%{redirect_url}\n' > log/15/stdout1159 2> log/15/stderr1159 === End of file commands.log === Start of file http_server.log 17:50:42.404906 ====> Client connect 17:50:42.404940 accept_connection 3 returned 4 17:50:42.404957 accept_connection 3 returned 0 17:50:42.404971 Read 93 bytes 17:50:42.404981 Process 93 bytes request 17:50:42.404993 Got request: GET /verifiedserver HTTP/1.1 17:50:42.405003 Are-we-friendly question received 17:50:42.405032 Wrote request (93 bytes) input to log/15/server.input 17:50:42.405054 Identifying ourselves as friends 17:50:42.405117 Response sent (56 bytes) and written to log/15/server.response 17:50:42.405127 special request received, no persistency 17:50:42.405136 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 58672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1159 ==141646== ==141646== Process terminating with default action of signal 4 (SIGILL) ==141646== Illegal opcode at address 0x4014520 ==141646== at 0x4014520: getparameter (tool_getparam.c:2862) ==141646== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141646== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141646== by 0x4003728: main (tool_main.c:186) === End of file valgrind1159 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/11/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:36233/fully_simulated/DOS/*[][" > log/11/stdout1163 2> log/11/stderr1163 1163: 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 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/11/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:36233/fully_simulated/DOS/*[][" > log/11/stdout1163 2> log/11/stderr1163 === End of file commands.log === Start of file ftp_server.log 17:50:42.906882 ====> Client connect 17:50:42.907060 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:42.907349 < "USER anonymous" 17:50:42.907382 > "331 We are happy you popped in![CR][LF]" 17:50:42.907520 < "PASS ftp@example.com" 17:50:42.907542 > "230 Welcome you silly person[CR][LF]" 17:50:42.907667 < "PWD" 17:50:42.907695 > "257 "/" is current directory[CR][LF]" 17:50:42.907828 < "EPSV" 17:50:42.907849 ====> Passive DATA channel requested by client 17:50:42.907860 DATA sockfilt for passive data channel starting... 17:50:42.916952 DATA sockfilt for passive data channel started (pid 141924) 17:50:42.917105 DATA sockfilt for passive data channel listens on port 32975 17:50:42.917159 > "229 Entering Passive Mode (|||32975|)[CR][LF]" 17:50:42.917178 Client has been notified that DATA conn will be accepted on port 32975 17:50:42.917532 Client connects to port 32975 17:50:42.917563 ====> Client established passive DATA connection on port 32975 17:50:42.917657 < "TYPE I" 17:50:42.917691 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:42.917843 < "SIZE verifiedserver" 17:50:42.917882 > "213 17[CR][LF]" 17:50:42.918026 < "RETR verifiedserver" 17:50:42.918062 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:42.920287 =====> Closing passive DATA connection... 17:50:42.920315 Server disconnects passive DATA connection 17:50:42.920478 Server disconnected passive DATA connection 17:50:42.920503 DATA sockfilt for passive data channel quits (pid 141924) 17:50:42.920787 DATA sockfilt for passive data channel quit (pid 141924) 17:50:42.920810 =====> Closed passive DATA connection 17:50:42.920847 > "226 File transfer complete[CR][LF]" 17:50:42.970349 < "QUIT" 17:50:42.970409 > "221 bye bye baby[CR][LF]" 17:50:42.971829 MAIN sockfilt said DISC 17:50:42.971868 ====> Client disconnected 17:50:42.971958 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:42.752855 ====> Client connect 17:50:42.753252 Received DATA (on stdin) 17:50:42.753264 > 146 bytes data, server => client 17:50:42.753274 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:42.753283 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:42.753291 '220 \___|\___/|_| \_\_____|\r\n' 17:50:42.753382 < 16 bytes data, client => server 17:50:42.753392 'USER anonymous\r\n' 17:50:42.753561 Received DATA (on stdin) 17:50:42.753571 > 33 bytes data, server => client 17:50:42.753580 '331 We are happy you popped in!\r\n' 17:50:42.753623 < 22 bytes data, client => server 17:50:42.753632 'PASS ftp@example.com\r\n' 17:50:42.753718 Received DATA (on stdin) 17:50:42.753728 > 30 bytes data, server => client 17:50:42.753736 '230 Welcome you silly person\r\n' 17:50:42.753776 < 5 bytes data, client => server 17:50:42.753784 'PWD\r\n' 17:50:42.753870 Received DATA (on stdin) 17:50:42.753879 > 30 bytes data, server => client 17:50:42.753888 '257 "/" is current directory\r\n' 17:50:42.753938 < 6 bytes data, client => server 17:50:42.753946 'EPSV\r\n' 17:50:42.763370 Received DATA (on stdin) 17:50:42.763389 > 39 bytes data, server => client 17:50:42.763401 '229 Entering Passive Mode (|||32975|)\r\n' 17:50:42.763622 < 8 bytes data, client => server 17:50:42.763638 'TYPE I\r\n' 17:50:42.763871 Received DATA (on stdin) 17:50:42.763882 > 33 bytes data, server => client 17:50:42.763893 '200 I modify TYPE as you wanted\r\n' 17:50:42.763942 < 21 bytes data, client => server 17:50:42.763952 'SIZE verifiedserver\r\n' 17:50:42.764061 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/24/valgrind1161 ../src/curl -q --output log/24/curl1161.out --include --trace-ascii log/24/trace1161 --trace-time http://127.0.0.1:39649/1161 -c log/24/cookies1161.txt > log/24/stdout1161 2> log/24/stderr1161 CMD (33792): ../libtool --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/valgrind1166 ../src/curl -q --output log/12/curl1166.out --include --trace-ascii log/12/trace1166 --trace-time http://127.0.0.1:36641/want/1166 http://127.0.0.1:36641/want/1166 > log/12/stdout1166 2> log/12/stderr1166 ) 17:50:42.764071 > 8 bytes data, server => client 17:50:42.764081 '213 17\r\n' 17:50:42.764126 < 21 bytes data, client => server 17:50:42.764137 'RETR verifiedserver\r\n' 17:50:42.766229 Received DATA (on stdin) 17:50:42.766244 > 29 bytes data, server => client 17:50:42.766254 '150 Binary junk (17 bytes).\r\n' 17:50:42.767032 Received DATA (on stdin) 17:50:42.767044 > 28 bytes data, server => client 17:50:42.767055 '226 File transfer complete\r\n' 17:50:42.816324 < 6 bytes data, client => server 17:50:42.816364 'QUIT\r\n' 17:50:42.816596 Received DATA (on stdin) 17:50:42.816609 > 18 bytes data, server => client 17:50:42.816619 '221 bye bye baby\r\n' 17:50:42.817947 ====> Client disconnect 17:50:42.818148 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:42.760397 Running IPv4 version 17:50:42.760665 Listening on port 32975 17:50:42.760710 Wrote pid 141924 to log/11/server/ftp_sockdata.pid 17:50:42.763050 Received PING (on stdin) 17:50:42.763178 Received PORT (on stdin) 17:50:42.763663 ====> Client connect 17:50:42.766179 Received DATA (on stdin) 17:50:42.766210 > 17 bytes data, server => client 17:50:42.766497 'WE ROOLZ: 80983\r\n' 17:50:42.766530 Received DISC (on stdin) 17:50:42.766542 ====> Client forcibly disconnected 17:50:42.766692 Received QUIT (on stdin) 17:50:42.766702 quits 17:50:42.766782 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1163 === End of file server.cmd === Start of file stderr1163 URL: ftp://127.0.0.1:36233/fully_simulated/DOS/*[][ === End of file stderr1163 === Start of file valgrind1163 ==141959== ==141959== Process terminating with default action of signal 4 (SIGILL) ==141959== Illegal opcode at address 0x51D97AF ==141959== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==141959== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==141959== by 0x51D97AF: Curl_open (url.c:502) ==141959== by 0x515120F: curl_easy_init (easy.c:365) ==141959== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==141959== by 0x40034B5: main (first.c:279) ==141959== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==141959== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==141959== by 0x51D96BD: Curl_open (url.c:479) ==141959== by 0x515120F: curl_easy_init (easy.c:365) ==141959== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==141959== by 0x40034B5: main (first.c:279) ==141959== === End of file valgrind1163 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/24/valgrind1161 ../src/curl -q --output log/24/curl1161.out --include --trace-ascii log/24/trace1161 --trace-time http://127.0.0.1:39649/1161 -c log/24/cookies1161.txt > log/24/stdout1161 2> log/24/stderr1161 1161: 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 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/24/valgrind1161 ../src/curl -q --output log/24/curl1161.out --include --trace-ascii log/24/trace1161 --trace-time http://127.0.0.1:39649/1161 -c log/24/cookies1161.txt > log/24/stdout1161 2> log/24/stderr1161 === End of file commands.log === Start of file http_server.log 17:50:42.401868 ====> Client connect 17:50:42.401907 accept_connection 3 returned 4 17:50:42.401927 accept_connection 3 returned 0 17:50:42.401943 Read 93 bytes 17:50:42.401953 Process 93 bytes request 17:50:42.401967 Got request: GET /verifiedserver HTTP/1.1 17:50:42.401976 Are-we-friendly question received 17:50:42.402007 Wrote request (93 bytes) input to log/24/server.input 17:50:42.402027 Identifying ourselves as friends 17:50:42.402094 Response sent (56 bytes) and written to log/24/server.response 17:50:42.402106 special request received, no persistency 17:50:42.402116 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 36224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1161 ==141642== ==141642== Process terminating with default action of signal 4 (SIGILL) ==141642== Illegal opcode at address 0x4014520 ==141642== at 0x4014520: getparameter (tool_getparam.c:2862) ==141642== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141642== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141642== by 0x4003728: main (tool_main.c:186) === End of file valgrind1161 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/12/valgrind1166 ../src/curl -q --output log/12/curl1166.out --include --trace-ascii log/12/trace1166 --trace-time http://127.0.0.1:36641/want/1166 http://127.0.0.1:36641/want/1166 > log/12/stdout1166 2> log/12/stderr1166 1166: 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 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/12/valgrind1166 ../src/curl -q --output log/12/curl1166.out --include --trace-ascii log/12/trace1166 --trace-time http://127.0.0.1:36641/want/1166 http://127.0.0.1:36641/want/1166 > log/12/stdout1166 2> log/12/stderr1166 === End of file commands.log === Start of file http_server.log 17:50:42.812522 ====> Client connect 17:50:42.812560 accept_connection 3 returned 4 17:50:42.812578 accept_connection 3 returned 0 17:50:42.812595 Read 93 bytes 17:50:42.812605 Process 93 bytes request 17:50:42.812620 Got request: GET /verifiedserver HTTP/1.1 17:50:42.812629 Are-we-friendly question received 17:50:42.812656 Wrote request (93 bytes) input to log/12/server.input 17:50:42.812675 Identifying ourselves as friends 17:50:42.812737 Response sent (56 bytes) and written to log/12/server.response 17:50:42.812747 special request received, no persistency 17:50:42.812756 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 43914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1166 ==141954== ==141954== Process terminating with default action of signal 4 (SIGILL) ==141954== Illegal opcode at address 0x4014520 CMD (33792): ../libtool --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/valgrind1170 ../src/curl -q --output log/17/curl1170.out --include --trace-ascii log/17/trace1170 --trace-time http://127.0.0.1:44593/1170 --tr-encoding -H "Connection:" > log/17/stdout1170 2> log/17/stderr1170 CMD (33792): ../libtool --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/valgrind1168 ../src/curl -q --output log/23/curl1168.out --include --trace-ascii log/23/trace1168 --trace-time http://127.0.0.1:39173/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/23/stdout1168 2> log/23/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/20/valgrind1171 ../src/curl -q --output log/20/curl1171.out --include --trace-ascii log/20/trace1171 --trace-time http://127.0.0.1:46725/1171 --tr-encoding -H "Connection;" > log/20/stdout1171 2> log/20/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/19/valgrind1172 ../src/curl -q --output log/19/curl1172.out --include --trace-ascii log/19/trace1172 --trace-time http://127.0.0.1:36987/1172 --no-http0.9 > log/19/stdout1172 2> log/19/stderr1172 ==141954== at 0x4014520: getparameter (tool_getparam.c:2862) ==141954== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==141954== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==141954== by 0x4003728: main (tool_main.c:186) === End of file valgrind1166 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/17/valgrind1170 ../src/curl -q --output log/17/curl1170.out --include --trace-ascii log/17/trace1170 --trace-time http://127.0.0.1:44593/1170 --tr-encoding -H "Connection:" > log/17/stdout1170 2> log/17/stderr1170 1170: 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 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/17/valgrind1170 ../src/curl -q --output log/17/curl1170.out --include --trace-ascii log/17/trace1170 --trace-time http://127.0.0.1:44593/1170 --tr-encoding -H "Connection:" > log/17/stdout1170 2> log/17/stderr1170 === End of file commands.log === Start of file http_server.log 17:50:43.428292 ====> Client connect 17:50:43.428328 accept_connection 3 returned 4 17:50:43.428347 accept_connection 3 returned 0 17:50:43.428364 Read 93 bytes 17:50:43.428375 Process 93 bytes request 17:50:43.428390 Got request: GET /verifiedserver HTTP/1.1 17:50:43.428400 Are-we-friendly question received 17:50:43.428430 Wrote request (93 bytes) input to log/17/server.input 17:50:43.428450 Identifying ourselves as friends 17:50:43.428518 Response sent (56 bytes) and written to log/17/server.response 17:50:43.428530 special request received, no persistency 17:50:43.428540 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 48996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1170 ==142260== ==142260== Process terminating with default action of signal 4 (SIGILL) ==142260== Illegal opcode at address 0x4014520 ==142260== at 0x4014520: getparameter (tool_getparam.c:2862) ==142260== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142260== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142260== by 0x4003728: main (tool_main.c:186) === End of file valgrind1170 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/23/valgrind1168 ../src/curl -q --output log/23/curl1168.out --include --trace-ascii log/23/trace1168 --trace-time http://127.0.0.1:39173/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/23/stdout1168 2> log/23/stderr1168 1168: 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 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/23/valgrind1168 ../src/curl -q --output log/23/curl1168.out --include --trace-ascii log/23/trace1168 --trace-time http://127.0.0.1:39173/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/23/stdout1168 2> log/23/stderr1168 === End of file commands.log === Start of file http_server.log 17:50:44.068688 ====> Client connect 17:50:44.068727 accept_connection 3 returned 4 17:50:44.068747 accept_connection 3 returned 0 17:50:44.068918 Read 93 bytes 17:50:44.068931 Process 93 bytes request 17:50:44.068945 Got request: GET /verifiedserver HTTP/1.1 17:50:44.068955 Are-we-friendly question received 17:50:44.068985 Wrote request (93 bytes) input to log/23/server.input 17:50:44.069002 Identifying ourselves as friends 17:50:44.069061 Response sent (56 bytes) and written to log/23/server.response 17:50:44.069072 special request received, no persistency 17:50:44.069081 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 44188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1168 ==142133== ==142133== Process terminating with default action of signal 4 (SIGILL) ==142133== Illegal opcode at address 0x4014520 ==142133== at 0x4014520: getparameter (tool_getparam.c:2862) ==142133== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142133== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142133== by 0x4003728: main (tool_main.c:186) === End of file valgrind1168 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/20/valgrind1171 ../src/curl -q --output log/20/curl1171.out --include --trace-ascii log/20/trace1171 --trace-time http://127.0.0.1:46725/1171 --tr-encoding -H "Connection;" > log/20/stdout1171 2> log/20/stderr1171 1171: 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 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/20/valgrind1171 ../src/curl -q --output log/20/curl1171.out --include --trace-ascii log/20/trace1171 --trace-time http://127.0.0.1:46725/1171 --tr-encoding -H "Connection;" > log/20/stdout1171 2> log/20/stderr1171 === End of file commands.log === Start of file http_server.log 17:50:43.472747 ====> Client connect 17:50:43.472787 accept_connection 3 returned 4 17:50:43.472807 accept_connection 3 returned 0 17:50:43.472839 Read 93 bytes 17:50:43.472851 Process 93 bytes request 17:50:43.472867 Got request: GET /verifiedserver HTTP/1.1 17:50:43.472880 Are-we-friendly question received 17:50:43.472913 Wrote request (93 bytes) input to log/20/server.input 17:50:43.472933 Identifying ourselves as friends 17:50:43.473006 Response sent (56 bytes) and written to log/20/server.response 17:50:43.473020 special request received, no persistency 17:50:43.473030 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 49484 * using HTTP/1.x > 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/2/valgrind1176 ../src/curl -q --include --trace-ascii log/2/trace1176 --trace-time http://127.0.0.1:38779/1176 -o 'log/2/base-#0' > log/2/stdout1176 2> log/2/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/13/valgrind1178 ../src/curl -q --output log/13/curl1178.out --include --trace-ascii log/13/trace1178 --trace-time http://127.0.0.1:43845/we/want/that/page/1178 -x http://127.0.0.1:43845 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/13/stdout1178 2> log/13/stderr1178 ET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1171 ==142276== ==142276== Process terminating with default action of signal 4 (SIGILL) ==142276== Illegal opcode at address 0x4014520 ==142276== at 0x4014520: getparameter (tool_getparam.c:2862) ==142276== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142276== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142276== by 0x4003728: main (tool_main.c:186) === 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/19/valgrind1172 ../src/curl -q --output log/19/curl1172.out --include --trace-ascii log/19/trace1172 --trace-time http://127.0.0.1:36987/1172 --no-http0.9 > log/19/stdout1172 2> log/19/stderr1172 1172: 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 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/19/valgrind1172 ../src/curl -q --output log/19/curl1172.out --include --trace-ascii log/19/trace1172 --trace-time http://127.0.0.1:36987/1172 --no-http0.9 > log/19/stdout1172 2> log/19/stderr1172 === End of file commands.log === Start of file http_server.log 17:50:43.477862 ====> Client connect 17:50:43.477893 accept_connection 3 returned 4 17:50:43.477909 accept_connection 3 returned 0 17:50:43.477921 Read 93 bytes 17:50:43.477931 Process 93 bytes request 17:50:43.477942 Got request: GET /verifiedserver HTTP/1.1 17:50:43.477951 Are-we-friendly question received 17:50:43.477977 Wrote request (93 bytes) input to log/19/server.input 17:50:43.477992 Identifying ourselves as friends 17:50:43.478044 Response sent (56 bytes) and written to log/19/server.response 17:50:43.478052 special request received, no persistency 17:50:43.478061 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 47308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1172 ==142270== ==142270== Process terminating with default action of signal 4 (SIGILL) ==142270== Illegal opcode at address 0x4014520 ==142270== at 0x4014520: getparameter (tool_getparam.c:2862) ==142270== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142270== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142270== by 0x4003728: main (tool_main.c:186) === End of file valgrind1172 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/2/valgrind1176 ../src/curl -q --include --trace-ascii log/2/trace1176 --trace-time http://127.0.0.1:38779/1176 -o 'log/2/base-#0' > log/2/stdout1176 2> log/2/stderr1176 1176: 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 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/2/valgrind1176 ../src/curl -q --include --trace-ascii log/2/trace1176 --trace-time http://127.0.0.1:38779/1176 -o 'log/2/base-#0' > log/2/stdout1176 2> log/2/stderr1176 === End of file commands.log === Start of file http_server.log 17:50:43.656251 ====> Client connect 17:50:43.656296 accept_connection 3 returned 4 17:50:43.656315 accept_connection 3 returned 0 17:50:43.656333 Read 93 bytes 17:50:43.656342 Process 93 bytes request 17:50:43.656357 Got request: GET /verifiedserver HTTP/1.1 17:50:43.656366 Are-we-friendly question received 17:50:43.656394 Wrote request (93 bytes) input to log/2/server.input 17:50:43.656412 Identifying ourselves as friends 17:50:43.656502 Response sent (56 bytes) and written to log/2/server.response 17:50:43.656514 special request received, no persistency 17:50:43.656522 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 57194 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1176 ==142452== ==142452== Process terminating with default action of signal 4 (SIGILL) ==142452== Illegal opcode at address 0x4014520 ==142452== at 0x4014520: getparameter (tool_getparam.c:2862) ==142452== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142452== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142452== by 0x4003728: main (tool_main.c:186) === End of file valgrind1176 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:43845/we/want/that/page/1178 -x http://127.0.0.1:43845 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/13/stdout1178 2>CMD (33792): ../libtool --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/valgrind1174 ../src/curl -q --output log/21/curl1174.out --include --trace-ascii log/21/trace1174 --trace-time http://127.0.0.1:41669/1174 > log/21/stdout1174 2> log/21/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/18/valgrind1183 ../src/curl -q --output log/18/curl1183.out --include --trace-ascii log/18/trace1183 --trace-time http://127.0.0.1:34067/1183 > log/18/stdout1183 2> log/18/stderr1183 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:43845/we/want/that/page/1178 -x http://127.0.0.1:43845 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/13/stdout1178 2> log/13/stderr1178 === End of file commands.log === Start of file http_server.log 17:50:44.726243 ====> Client connect 17:50:44.726291 accept_connection 3 returned 4 17:50:44.726309 accept_connection 3 returned 0 17:50:44.726326 Read 93 bytes 17:50:44.726335 Process 93 bytes request 17:50:44.726349 Got request: GET /verifiedserver HTTP/1.1 17:50:44.726359 Are-we-friendly question received 17:50:44.726385 Wrote request (93 bytes) input to log/13/server.input 17:50:44.726404 Identifying ourselves as friends 17:50:44.726486 Response sent (56 bytes) and written to log/13/server.response 17:50:44.726496 special request received, no persistency 17:50:44.726505 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 58696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1178 ==142513== ==142513== Process terminating with default action of signal 4 (SIGILL) ==142513== Illegal opcode at address 0x4014520 ==142513== at 0x4014520: getparameter (tool_getparam.c:2862) ==142513== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142513== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142513== by 0x4003728: main (tool_main.c:186) === End of file valgrind1178 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/21/valgrind1174 ../src/curl -q --output log/21/curl1174.out --include --trace-ascii log/21/trace1174 --trace-time http://127.0.0.1:41669/1174 > log/21/stdout1174 2> log/21/stderr1174 1174: 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 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/21/valgrind1174 ../src/curl -q --output log/21/curl1174.out --include --trace-ascii log/21/trace1174 --trace-time http://127.0.0.1:41669/1174 > log/21/stdout1174 2> log/21/stderr1174 === End of file commands.log === Start of file http_server.log 17:50:43.662073 ====> Client connect 17:50:43.662123 accept_connection 3 returned 4 17:50:43.662142 accept_connection 3 returned 0 17:50:43.662157 Read 93 bytes 17:50:43.662167 Process 93 bytes request 17:50:43.662181 Got request: GET /verifiedserver HTTP/1.1 17:50:43.662190 Are-we-friendly question received 17:50:43.662221 Wrote request (93 bytes) input to log/21/server.input 17:50:43.662239 Identifying ourselves as friends 17:50:43.662300 Response sent (56 bytes) and written to log/21/server.response 17:50:43.662309 special request received, no persistency 17:50:43.662317 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 42956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind1174 ==142464== ==142464== Process terminating with default action of signal 4 (SIGILL) ==142464== Illegal opcode at address 0x4014520 ==142464== at 0x4014520: getparameter (tool_getparam.c:2862) ==142464== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142464== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142464== by 0x4003728: main (tool_main.c:186) === End of file valgrind1174 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/18/valgrind1183 ../src/curl -q --output log/18/curl1183.out --include --trace-ascii log/18/trace1183 --trace-time http://127.0.0.1:34067/1183 > log/18/stdout1183 2> log/18/stderr1183 1183: 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 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/18/valgrind1183 ../src/curl -q --output log/18/curl1183.out --include --trace-ascii log/18/trace1183 --trace-time http://127.0.0.1:34067/1183 > log/18/stdout1183 2> log/18/stderr1183 === End of file commands.log === Start of file http_server.log 17:50:44.032902 ====> Client connect 17:50:44.033050 accept_connection 3 returned 4 17:50:44.033073 accept_connection 3 returned 0 17:50:44.033090 Read 93 bytes 17:50:44.033100 Process 93 bytes request 17:50:44.033113 Got request: GET /verifiedserver HTTP/1.1 17:50:44.033122 Are-we-friendly question received 17:50:44.033151 Wrote request (93 bytes) input to log/18/server.input 17:50:44.033169 Identifying ourselves as friends 17:50:44.033266 Response sent (56 bytes) and written to log/18/server.response 17:50:44.033278 special request received, no persistency 17:50:44.033287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 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/8/valgrind1180 ../src/curl -q --output log/8/curl1180.out --include --trace-ascii log/8/trace1180 --trace-time --proxy http://127.0.0.1:42045 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:42045/1180 > log/8/stdout1180 2> log/8/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/9/valgrind1181 ../src/curl -q --output log/9/curl1181.out --include --trace-ascii log/9/trace1181 --trace-time --proxy http://127.0.0.1:37413 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:37413/1181 > log/9/stdout1181 2> log/9/stderr1181 CMD (33792): ../libtool --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/valgrind1187 ../src/curl -q --output log/22/curl1187.out --include --trace-ascii log/22/trace1187 --trace-time smtp://127.0.0.1:40615/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/22/stdout1187 2> log/22/stderr1187 7.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 60578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1183 ==142751== ==142751== Process terminating with default action of signal 4 (SIGILL) ==142751== Illegal opcode at address 0x4014520 ==142751== at 0x4014520: getparameter (tool_getparam.c:2862) ==142751== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142751== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142751== by 0x4003728: main (tool_main.c:186) === End of file valgrind1183 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/8/valgrind1180 ../src/curl -q --output log/8/curl1180.out --include --trace-ascii log/8/trace1180 --trace-time --proxy http://127.0.0.1:42045 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:42045/1180 > log/8/stdout1180 2> log/8/stderr1180 1180: 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 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/8/valgrind1180 ../src/curl -q --output log/8/curl1180.out --include --trace-ascii log/8/trace1180 --trace-time --proxy http://127.0.0.1:42045 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:42045/1180 > log/8/stdout1180 2> log/8/stderr1180 === End of file commands.log === Start of file http_server.log 17:50:43.826553 ====> Client connect 17:50:43.826590 accept_connection 3 returned 4 17:50:43.826605 accept_connection 3 returned 0 17:50:43.826620 Read 93 bytes 17:50:43.826629 Process 93 bytes request 17:50:43.826642 Got request: GET /verifiedserver HTTP/1.1 17:50:43.826652 Are-we-friendly question received 17:50:43.826680 Wrote request (93 bytes) input to log/8/server.input 17:50:43.826696 Identifying ourselves as friends 17:50:43.826757 Response sent (56 bytes) and written to log/8/server.response 17:50:43.826767 special request received, no persistency 17:50:43.826776 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 56372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind1180 ==142599== ==142599== Process terminating with default action of signal 4 (SIGILL) ==142599== Illegal opcode at address 0x4014520 ==142599== at 0x4014520: getparameter (tool_getparam.c:2862) ==142599== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142599== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142599== by 0x4003728: main (tool_main.c:186) === End of file valgrind1180 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/9/valgrind1181 ../src/curl -q --output log/9/curl1181.out --include --trace-ascii log/9/trace1181 --trace-time --proxy http://127.0.0.1:37413 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:37413/1181 > log/9/stdout1181 2> log/9/stderr1181 1181: 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 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/9/valgrind1181 ../src/curl -q --output log/9/curl1181.out --include --trace-ascii log/9/trace1181 --trace-time --proxy http://127.0.0.1:37413 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:37413/1181 > log/9/stdout1181 2> log/9/stderr1181 === End of file commands.log === Start of file http_server.log 17:50:43.908098 ====> Client connect 17:50:43.908133 accept_connection 3 returned 4 17:50:43.908148 accept_connection 3 returned 0 17:50:43.908161 Read 93 bytes 17:50:43.908169 Process 93 bytes request 17:50:43.908180 Got request: GET /verifiedserver HTTP/1.1 17:50:43.908188 Are-we-friendly question received 17:50:43.908211 Wrote request (93 bytes) input to log/9/server.input 17:50:43.908226 Identifying ourselves as friends 17:50:43.908277 Response sent (56 bytes) and written to log/9/server.response 17:50:43.908285 special request received, no persistency 17:50:43.908293 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 53026 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind1181 ==142668== ==142668== Process terminating with default action of signal 4 (SIGILL) ==142668== Illegal opcode at address 0x4014520 ==142668== at 0x4014520: getparameter (tool_getparam.c:2862) ==142668== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142668== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142668== by 0x4003728: main (tool_main.c:186) === End of file valgrind1181 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/22/valgrind1187 ../src/curl -q --output log/22/curl1187.out --include --trace-ascii log/22/trace1187 --trace-time smtp://127.0.0.1:40615/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/22/stdout1187 2> log/22/stderr1187 1187: 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 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/22/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/5/valgrind1186 ../src/curl -q --output log/5/curl1186.out --include --trace-ascii log/5/trace1186 --trace-time http://127.0.0.1:46875/we/want/1186 --form-escape -F "file=@\"log/5/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/5/test1186\".txt"' -F 'file3=@"log/5/test1186\".txt";type=m/f,"log/5/test1186\".txt"' > log/5/stdout1186 2> log/5/stderr1186 CMD (33792): ../libtool --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/valgrind1188 ../src/curl -q --output log/3/curl1188.out --include --trace-ascii log/3/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:45927/we/want/our/1188 http://127.0.0.1:45927/we/want/our/1188 > log/3/stdout1188 2> log/3/stderr1188 grind1187 ../src/curl -q --output log/22/curl1187.out --include --trace-ascii log/22/trace1187 --trace-time smtp://127.0.0.1:40615/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/22/stdout1187 2> log/22/stderr1187 === End of file commands.log === Start of file server.cmd Testnum 1187 === End of file server.cmd === Start of file smtp_server.log 17:50:44.409186 ====> Client connect 17:50:44.409343 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:44.409632 < "EHLO verifiedserver" 17:50:44.409674 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:44.409841 < "HELP" 17:50:44.409875 > "214 WE ROOLZ: 110701[CR][LF]" 17:50:44.409891 return proof we are we 17:50:44.410128 < "QUIT" 17:50:44.410156 > "221 curl ESMTP server signing off[CR][LF]" 17:50:44.411222 MAIN sockfilt said DISC 17:50:44.411251 ====> Client disconnected 17:50:44.411320 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:44.255230 ====> Client connect 17:50:44.255535 Received DATA (on stdin) 17:50:44.255548 > 146 bytes data, server => client 17:50:44.255559 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:44.255569 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:44.255579 '220 \___|\___/|_| \_\_____|\r\n' 17:50:44.255662 < 21 bytes data, client => server 17:50:44.255676 'EHLO verifiedserver\r\n' 17:50:44.255857 Received DATA (on stdin) 17:50:44.255868 > 53 bytes data, server => client 17:50:44.255880 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:44.255935 < 6 bytes data, client => server 17:50:44.255945 'HELP\r\n' 17:50:44.256068 Received DATA (on stdin) 17:50:44.256079 > 22 bytes data, server => client 17:50:44.256089 '214 WE ROOLZ: 110701\r\n' 17:50:44.256219 < 6 bytes data, client => server 17:50:44.256232 'QUIT\r\n' 17:50:44.256335 Received DATA (on stdin) 17:50:44.256345 > 35 bytes data, server => client 17:50:44.256356 '221 curl ESMTP server signing off\r\n' 17:50:44.257354 ====> Client disconnect 17:50:44.257497 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 ==142871== ==142871== Process terminating with default action of signal 4 (SIGILL) ==142871== Illegal opcode at address 0x4014520 ==142871== at 0x4014520: getparameter (tool_getparam.c:2862) ==142871== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142871== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142871== by 0x4003728: main (tool_main.c:186) === End of file valgrind1187 CMD (33792): ../libtool --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/valgrind1189 ../src/curl -q --output log/10/curl1189.out --include --trace-ascii log/10/trace1189 --trace-time http://127.0.0.1:32889/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/10/stdout1189 2> log/10/stderr1189 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/3/valgrind1188 ../src/curl -q --output log/3/curl1188.out --include --trace-ascii log/3/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:45927/we/want/our/1188 http://127.0.0.1:45927/we/want/our/1188 > log/3/stdout1188 2> log/3/stderr1188 1188: stderr FAILED: --- log/3/check-expected 2026-01-28 17:50:46.453222059 +0000 +++ log/3/check-generated 2026-01-28 17:50:46.453222059 +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/3/ 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/3/valgrind1188 ../src/curl -q --output log/3/curl1188.out --include --trace-ascii log/3/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:45927/we/want/our/1188 http://127.0.0.1:45927/we/want/our/1188 > log/3/stdout1188 2> log/3/stderr1188 === End of file commands.log === Start of file http_server.log 17:50:44.334215 ====> Client connect 17:50:44.334247 accept_connection 3 returned 4 17:50:44.334263 accept_connection 3 returned 0 17:50:44.334277 Read 93 bytes 17:50:44.334286 Process 93 bytes request 17:50:44.334300 Got request: GET /verifiedserver HTTP/1.1 17:50:44.334309 Are-we-friendly question received 17:50:44.334333 Wrote request (93 bytes) input to log/3/server.input 17:50:44.334349 Identifying ourselves as friends 17:50:44.334402 Response sent (56 bytes) and written to log/3/server.response 17:50:44.334411 special request received, no persistency 17:50:44.334420 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 41938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1188 ==142921== ==142921== Process terminating with default action of signal 4 (SIGILL) ==142921== Illegal opcode at address 0x4014520 ==142921== at 0x4014520: getparameter (tool_getparam.c:2862) ==142921== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142921== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142921== by 0x4003728: main (tool_main.c:186) === End of file valgrind1188 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/5/valgrind1186 ../src/curl -q --output log/5/curl1186.out --include --trace-ascii log/5/trace1186 --trace-time http://127.0.0.1:46875/we/want/1186 --form-escape -F "file=@\"log/5/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/5/test1186\".txt"' -F 'file3=@"log/5/test1186\".txt";type=m/f,"log/5/test1186\".txt"' > log/5/stdout1186 2> log/5/stderr1186 1186: 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 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=log/5/valgrind1186 ../src/curl -q --output log/5/curl1186.out --include --trace-ascii log/5/trace1186 --trace-time http://127.0.0.1:46875/we/want/1186 --form-escape -F "file=@\"log/5/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/5/test1186\".txt"' -F 'file3=@"log/5/test1186\".txt";type=m/f,"log/5/test1186\".txt"' > log/5/stdout1186 2> log/5/stderr1186 === End of file commands.log === Start of file http_server.log 17:50:44.227314 ====> Client connect 17:50:44.227349 accept_connection 3 returned 4 17:50:44.227366 accept_connection 3 returned 0 17:50:44.227381 Read 93 bytes 17:50:44.227391 Process 93 bytes request 17:50:44.227404 Got request: GET /verifiedserver HTTP/1.1 17:50:44.227413 Are-we-friendly question received 17:50:44.227439 Wrote request (93 bytes) input to log/5/server.input 17:50:44.227455 Identifying ourselves as friends 17:50:44.227513 Response sent (56 bytes) and written to log/5/server.response 17:50:44.227523 special request received, no persistency 17:50:44.227532 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 49624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === 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 ==142872== ==142872== Process terminating with default action of signal 4 (SIGILL) ==142872== Illegal opcode at address 0x4014520 ==142872== at 0x4014520: getparameter (tool_getparam.c:2862) ==142872== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==142872== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==142872== by 0x4003728: main (tool_main.c:186) === 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/10/valgrind1189 ../src/curl -q --output log/10/curl1189.out --include --trace-ascii log/10/trace1189 --trace-time http://127.0.0.1:32889/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/10/stdout1189 2> log/10/stderr1189 1189: 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 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/10/valgrind1189 ../src/curl -q --output log/10/curl1189.out --include --trace-ascii log/10/trace1189 --traCMD (33792): ../libtool --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/valgrind1190 ../src/curl -q --output log/6/curl1190.out --include --trace log/6/trace1190 --trace-time mqtt://127.0.0.1:37469/1190 > log/6/stdout1190 2> log/6/stderr1190 CMD (33792): ../libtool --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:36641/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/12/stdout1197 2> log/12/stderr1197 ce-time http://127.0.0.1:32889/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/10/stdout1189 2> log/10/stderr1189 === End of file commands.log === Start of file http_server.log 17:50:44.552086 ====> Client connect 17:50:44.552119 accept_connection 3 returned 4 17:50:44.552135 accept_connection 3 returned 0 17:50:44.552148 Read 93 bytes 17:50:44.552157 Process 93 bytes request 17:50:44.552169 Got request: GET /verifiedserver HTTP/1.1 17:50:44.552177 Are-we-friendly question received 17:50:44.552200 Wrote request (93 bytes) input to log/10/server.input 17:50:44.552215 Identifying ourselves as friends 17:50:44.552266 Response sent (56 bytes) and written to log/10/server.response 17:50:44.552274 special request received, no persistency 17:50:44.552282 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 43440 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === 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 ==143062== ==143062== Process terminating with default action of signal 4 (SIGILL) ==143062== Illegal opcode at address 0x4014520 ==143062== at 0x4014520: getparameter (tool_getparam.c:2862) ==143062== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143062== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143062== by 0x4003728: main (tool_main.c:186) === End of file valgrind1189 startnew: ./server/servers mqttd --port 0 --pidfile log/6/server/mqtt_server.pid --portfile log/6/server/mqtt_server.port --config log/6/server.cmd --logfile log/6/mqtt_server.log --logdir log/6 RUN: MQTT server is now running PID 143008 on PORT 37469 * pid mqtt => 143008 143008 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/6/valgrind1190 ../src/curl -q --output log/6/curl1190.out --include --trace log/6/trace1190 --trace-time mqtt://127.0.0.1:37469/1190 > log/6/stdout1190 2> log/6/stderr1190 1190: 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 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/6/valgrind1190 ../src/curl -q --output log/6/curl1190.out --include --trace log/6/trace1190 --trace-time mqtt://127.0.0.1:37469/1190 > log/6/stdout1190 2> log/6/stderr1190 === End of file commands.log === Start of file mqtt_server.log 17:50:44.493542 Running IPv4 version 17:50:44.493642 Listening on port 37469 17:50:44.493686 Wrote pid 143008 to log/6/server/mqtt_server.pid 17:50:44.493716 Wrote port 37469 to log/6/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 ==143215== ==143215== Process terminating with default action of signal 4 (SIGILL) ==143215== Illegal opcode at address 0x4014520 ==143215== at 0x4014520: getparameter (tool_getparam.c:2862) ==143215== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143215== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143215== by 0x4003728: main (tool_main.c:186) === End of file valgrind1190 CMD (33792): ../libtool --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/valgrind1204 ../src/curl -q --output log/2/curl1204.out --include --trace-ascii log/2/trace1204 --trace-time http://127.0.0.1:38779/1204 -u testuser:testpass --anyauth > log/2/stdout1204 2> log/2/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/21/valgrind1206 ../src/curl -q --output log/21/curl1206.out --include --trace-ascii log/21/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:37113/1206 -P - > log/21/stdout1206 2> log/21/stderr1206 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:36641/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-01-28 17:50:47.293222058 +0000 +++ log/12/check-generated 2026-01-28 17:50:47.293222058 +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:36641/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 17:50:45.312176 ====> Client connect 17:50:45.312213 accept_connection 3 returned 4 17:50:45.312229 accept_connection 3 returned 0 17:50:45.312244 Read 93 bytes 17:50:45.312254 Process 93 bytes request 17:50:45.312268 Got request: GET /verifiedserver HTTP/1.1 17:50:45.312277 Are-we-friendly question received 17:50:45.312303 Wrote request (93 bytes) input to log/12/server.input 17:50:45.312320 Identifying ourselves as friends 17:50:45.312414 Response sent (56 bytes) and written to log/12/server.response 17:50:45.312423 special request received, no persistency 17:50:45.312432 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 43916 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1197 ==143180== ==143180== Process terminating with default action of signal 4 (SIGILL) ==143180== Illegal opcode at address 0x4014520 ==143180== at 0x4014520: getparameter (tool_getparam.c:2862) ==143180== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143180== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143180== by 0x4003728: main (tool_main.c:186) === End of file valgrind1197 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/2/valgrind1204 ../src/curl -q --output log/2/curl1204.out --include --trace-ascii log/2/trace1204 --trace-time http://127.0.0.1:38779/1204 -u testuser:testpass --anyauth > log/2/stdout1204 2> log/2/stderr1204 1204: 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 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/2/valgrind1204 ../src/curl -q --output log/2/curl1204.out --include --trace-ascii log/2/trace1204 --trace-time http://127.0.0.1:38779/1204 -u testuser:testpass --anyauth > log/2/stdout1204 2> log/2/stderr1204 === End of file commands.log === Start of file http_server.log 17:50:45.608221 ====> Client connect 17:50:45.608257 accept_connection 3 returned 4 17:50:45.608273 accept_connection 3 returned 0 17:50:45.608287 Read 93 bytes 17:50:45.608296 Process 93 bytes request 17:50:45.608310 Got request: GET /verifiedserver HTTP/1.1 17:50:45.608318 Are-we-friendly question received 17:50:45.608341 Wrote request (93 bytes) input to log/2/server.input 17:50:45.608357 Identifying ourselves as friends 17:50:45.608416 Response sent (56 bytes) and written to log/2/server.response 17:50:45.608425 special request received, no persistency 17:50:45.608433 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 57204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1204 ==143282== ==143282== Process terminating with default action of signal 4 (SIGILL) ==143282== Illegal opcode at address 0x4014520 ==143282== at 0x4014520: getparameter (tool_getparam.c:2862) ==143282== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143282== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143282== by 0x4003728: main (tool_main.c:186) === End of file valgrind1204 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/21/valgrind1206 ../src/curl -q --output log/21/curl1206.out --include --trace-ascii log/21/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:37113/1206 -P - > log/21/stdout1206 2> log/21/stderr1206 1206: 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 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/21/valgrind1206 ../src/curl -q --output log/21/curl1206.out --include --trace-ascii log/21/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:37113/1206 -P - > log/21/stdout1206 2> log/21/stderr1206 === End of file commands.log === Start of file ftp_server.log 17:50:45.853086 ====> Client connect 17:50:45.853273 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:45.8536CMD (33792): ../libtool --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:43845/1205 > log/13/stdout1205 2> log/13/stderr1205 04 < "USER anonymous" 17:50:45.853648 > "331 We are happy you popped in![CR][LF]" 17:50:45.853836 < "PASS ftp@example.com" 17:50:45.853872 > "230 Welcome you silly person[CR][LF]" 17:50:45.854051 < "PWD" 17:50:45.854090 > "257 "/" is current directory[CR][LF]" 17:50:45.854283 < "EPSV" 17:50:45.854313 ====> Passive DATA channel requested by client 17:50:45.854331 DATA sockfilt for passive data channel starting... 17:50:45.860604 DATA sockfilt for passive data channel started (pid 143346) 17:50:45.860788 DATA sockfilt for passive data channel listens on port 34887 17:50:45.860849 > "229 Entering Passive Mode (|||34887|)[CR][LF]" 17:50:45.860874 Client has been notified that DATA conn will be accepted on port 34887 17:50:45.861214 Client connects to port 34887 17:50:45.861250 ====> Client established passive DATA connection on port 34887 17:50:45.861359 < "TYPE I" 17:50:45.861406 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:45.861597 < "SIZE verifiedserver" 17:50:45.861641 > "213 17[CR][LF]" 17:50:45.861826 < "RETR verifiedserver" 17:50:45.861869 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:45.861981 =====> Closing passive DATA connection... 17:50:45.862005 Server disconnects passive DATA connection 17:50:45.862186 Server disconnected passive DATA connection 17:50:45.862216 DATA sockfilt for passive data channel quits (pid 143346) 17:50:45.862602 DATA sockfilt for passive data channel quit (pid 143346) 17:50:45.862631 =====> Closed passive DATA connection 17:50:45.862663 > "226 File transfer complete[CR][LF]" 17:50:45.903790 < "QUIT" 17:50:45.903850 > "221 bye bye baby[CR][LF]" 17:50:45.905270 MAIN sockfilt said DISC 17:50:45.905317 ====> Client disconnected 17:50:45.905414 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:45.699133 ====> Client connect 17:50:45.699475 Received DATA (on stdin) 17:50:45.699507 > 146 bytes data, server => client 17:50:45.699519 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:45.699529 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:45.699539 '220 \___|\___/|_| \_\_____|\r\n' 17:50:45.699619 < 16 bytes data, client => server 17:50:45.699635 'USER anonymous\r\n' 17:50:45.699832 Received DATA (on stdin) 17:50:45.699844 > 33 bytes data, server => client 17:50:45.699855 '331 We are happy you popped in!\r\n' 17:50:45.699911 < 22 bytes data, client => server 17:50:45.699926 'PASS ftp@example.com\r\n' 17:50:45.700056 Received DATA (on stdin) 17:50:45.700069 > 30 bytes data, server => client 17:50:45.700080 '230 Welcome you silly person\r\n' 17:50:45.700135 < 5 bytes data, client => server 17:50:45.700150 'PWD\r\n' 17:50:45.700276 Received DATA (on stdin) 17:50:45.700290 > 30 bytes data, server => client 17:50:45.700301 '257 "/" is current directory\r\n' 17:50:45.700366 < 6 bytes data, client => server 17:50:45.700381 'EPSV\r\n' 17:50:45.707070 Received DATA (on stdin) 17:50:45.707090 > 39 bytes data, server => client 17:50:45.707101 '229 Entering Passive Mode (|||34887|)\r\n' 17:50:45.707304 < 8 bytes data, client => server 17:50:45.707321 'TYPE I\r\n' 17:50:45.707594 Received DATA (on stdin) 17:50:45.707608 > 33 bytes data, server => client 17:50:45.707619 '200 I modify TYPE as you wanted\r\n' 17:50:45.707676 < 21 bytes data, client => server 17:50:45.707691 'SIZE verifiedserver\r\n' 17:50:45.707829 Received DATA (on stdin) 17:50:45.707843 > 8 bytes data, server => client 17:50:45.707853 '213 17\r\n' 17:50:45.707907 < 21 bytes data, client => server 17:50:45.707923 'RETR verifiedserver\r\n' 17:50:45.708192 Received DATA (on stdin) 17:50:45.708206 > 29 bytes data, server => client 17:50:45.708217 '150 Binary junk (17 bytes).\r\n' 17:50:45.708846 Received DATA (on stdin) 17:50:45.708859 > 28 bytes data, server => client 17:50:45.708869 '226 File transfer complete\r\n' 17:50:45.749761 < 6 bytes data, client => server 17:50:45.749797 'QUIT\r\n' 17:50:45.750037 Received DATA (on stdin) 17:50:45.750051 > 18 bytes data, server => client 17:50:45.750062 '221 bye bye baby\r\n' 17:50:45.751382 ====> Client disconnect 17:50:45.751607 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:45.702183 Running IPv4 version 17:50:45.702251 Listening on port 34887 17:50:45.702294 Wrote pid 143346 to log/21/server/ftp_sockdata.pid 17:50:45.706177 Received PING (on stdin) 17:50:45.706856 Received PORT (on stdin) 17:50:45.707344 ====> Client connect 17:50:45.708244 Received DATA (on stdin) 17:50:45.708259 > 17 bytes data, server => client 17:50:45.708270 'WE ROOLZ: 81123\r\n' 17:50:45.708297 Received DISC (on stdin) 17:50:45.708311 ====> Client forcibly disconnected 17:50:45.708408 Received QUIT (on stdin) 17:50:45.708421 quits 17:50:45.708517 ============> 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 ==143390== ==143390== Process terminating with default action of signal 4 (SIGILL) ==143390== Illegal opcode at address 0x4014520 ==143390== at 0x4014520: getparameter (tool_getparam.c:2862) ==143390== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143390== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143390== by 0x4003728: main (tool_main.c:186) === End of file valgrind1206 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:43845/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:43845/1205 > log/13/stdout1205 2> log/13/stderr1205 === End of file commands.log === Start of file http_server.log 17:50:46.726229 ====> Client connect 17:50:46.726266 accept_connection 3 returned 4 17:50:46.726284 accept_connection 3 returned 0 17:50:46.726299 Read 93 bytes 17:50:46.726308 Process 93 bytes request 17:50:46.726322 Got request: GET /verifiedserver HTTP/1.1 17:50:46.726332 Are-we-friendly question received 17:50:46.726356 Wrote request (93 bytes) input to log/13/server.input 17:50:46.726373 Identifying ourselves as friends 17:50:46.726442 Response sent (56 bytes) and written to log/13/server.response 17:50:46.726453 special request received, no persistency 17:50:46.726461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 58702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1205 ==143371== ==143371== Process terminating with default action of signal 4 (SIGILL) ==143371== Illegal opcode at address 0x4014520 ==143371== at 0x4014520: getparameter (tool_getparam.c:2862) ==143371== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==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/valgrind1193 ../src/curl -q --output log/14/curl1193.out --include --trace log/14/trace1193 --trace-time mqtt://127.0.0.1:37843/1193 -d @log/14/payload1193 > log/14/stdout1193 2> log/14/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/7/valgrind1191 ../src/curl -q --output log/7/curl1191.out --include --trace log/7/trace1191 --trace-time mqtt://127.0.0.1:39193/1191 -d something > log/7/stdout1191 2> log/7/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/16/valgrind1192 ../src/curl -q --output log/16/curl1192.out --include --trace log/16/trace1192 --trace-time mqtt://127.0.0.1:39501/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/16/stdout1192 2> log/16/stderr1192 43371== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143371== by 0x4003728: main (tool_main.c:186) === End of file valgrind1205 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 143143 on PORT 37843 * pid mqtt => 143143 143143 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/14/valgrind1193 ../src/curl -q --output log/14/curl1193.out --include --trace log/14/trace1193 --trace-time mqtt://127.0.0.1:37843/1193 -d @log/14/payload1193 > log/14/stdout1193 2> log/14/stderr1193 1193: 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 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/14/valgrind1193 ../src/curl -q --output log/14/curl1193.out --include --trace log/14/trace1193 --trace-time mqtt://127.0.0.1:37843/1193 -d @log/14/payload1193 > log/14/stdout1193 2> log/14/stderr1193 === End of file commands.log === Start of file mqtt_server.log 17:50:45.042322 Running IPv4 version 17:50:45.049617 Listening on port 37843 17:50:45.049678 Wrote pid 143143 to log/14/server/mqtt_server.pid 17:50:45.049713 Wrote port 37843 to log/14/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 ==143596== ==143596== Process terminating with default action of signal 4 (SIGILL) ==143596== Illegal opcode at address 0x4014520 ==143596== at 0x4014520: getparameter (tool_getparam.c:2862) ==143596== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143596== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143596== by 0x4003728: main (tool_main.c:186) === End of file valgrind1193 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 143133 on PORT 39193 * pid mqtt => 143133 143133 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/7/valgrind1191 ../src/curl -q --output log/7/curl1191.out --include --trace log/7/trace1191 --trace-time mqtt://127.0.0.1:39193/1191 -d something > log/7/stdout1191 2> log/7/stderr1191 1191: 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 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/7/valgrind1191 ../src/curl -q --output log/7/curl1191.out --include --trace log/7/trace1191 --trace-time mqtt://127.0.0.1:39193/1191 -d something > log/7/stdout1191 2> log/7/stderr1191 === End of file commands.log === Start of file mqtt_server.log 17:50:45.920274 Running IPv4 version 17:50:45.920368 Listening on port 39193 17:50:45.920418 Wrote pid 143133 to log/7/server/mqtt_server.pid 17:50:45.920451 Wrote port 39193 to log/7/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1191 === End of file server.cmd === Start of file valgrind1191 ==143494== ==143494== Process terminating with default action of signal 4 (SIGILL) ==143494== Illegal opcode at address 0x4014520 ==143494== at 0x4014520: getparameter (tool_getparam.c:2862) ==143494== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143494== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143494== by 0x4003728: main (tool_main.c:186) === End of file valgrind1191 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 143139 on PORT 39501 * pid mqtt => 143139 143139 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:39501/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --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/valgrind1195 ../src/curl -q --output log/11/curl1195.out --include --trace log/11/trace1195 --trace-time mqtt://127.0.0.1:37513/1195 > log/11/stdout1195 2> log/11/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/15/valgrind1194 ../src/curl -q --output log/15/curl1194.out --include --trace log/15/trace1194 --trace-time mqtt://127.0.0.1:42173/1194 > log/15/stdout1194 2> log/15/stderr1194 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/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:39501/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/16/stdout1192 2> log/16/stderr1192 === End of file commands.log === Start of file mqtt_server.log 17:50:45.942510 Running IPv4 version 17:50:45.942613 Listening on port 39501 17:50:45.942662 Wrote pid 143139 to log/16/server/mqtt_server.pid 17:50:45.942700 Wrote port 39501 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 ==143517== ==143517== Process terminating with default action of signal 4 (SIGILL) ==143517== Illegal opcode at address 0x4014520 ==143517== at 0x4014520: getparameter (tool_getparam.c:2862) ==143517== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143517== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143517== by 0x4003728: main (tool_main.c:186) === End of file valgrind1192 startnew: ./server/servers mqttd --port 0 --pidfile log/11/server/mqtt_server.pid --portfile log/11/server/mqtt_server.port --config log/11/server.cmd --logfile log/11/mqtt_server.log --logdir log/11 RUN: MQTT server is now running PID 143153 on PORT 37513 * pid mqtt => 143153 143153 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/11/valgrind1195 ../src/curl -q --output log/11/curl1195.out --include --trace log/11/trace1195 --trace-time mqtt://127.0.0.1:37513/1195 > log/11/stdout1195 2> log/11/stderr1195 1195: 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 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/11/valgrind1195 ../src/curl -q --output log/11/curl1195.out --include --trace log/11/trace1195 --trace-time mqtt://127.0.0.1:37513/1195 > log/11/stdout1195 2> log/11/stderr1195 === End of file commands.log === Start of file mqtt_server.log 17:50:45.199506 Running IPv4 version 17:50:45.199604 Listening on port 37513 17:50:45.199645 Wrote pid 143153 to log/11/server/mqtt_server.pid 17:50:45.199677 Wrote port 37513 to log/11/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 ==143811== ==143811== Process terminating with default action of signal 4 (SIGILL) ==143811== Illegal opcode at address 0x4014520 ==143811== at 0x4014520: getparameter (tool_getparam.c:2862) ==143811== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143811== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143811== by 0x4003728: main (tool_main.c:186) === End of file valgrind1195 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 143149 on PORT 42173 * pid mqtt => 143149 143149 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/15/valgrind1194 ../src/curl -q --output log/15/curl1194.out --include --trace log/15/trace1194 --trace-time mqtt://127.0.0.1:42173/1194 > log/15/stdout1194 2> log/15/stderr1194 1194: 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 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/15/valgrind1194 ../src/curl -q --output log/15/curl1194.out --include --trace log/15/trace1194 --trace-time mqtt://127.0.0.1:42173/1194 > log/15/stdout1194 2> log/15/stderr1194 === End of file commands.log === Start of file mqtt_server.log 17:50:45.106931 Running IPv4 version 17:50:45.107043 Listening on port 42173 17:50:45.107099 Wrote pid 143149 to log/15/server/mqtt_server.pid 17:50:45.107139 Wrote port 42173 to log/15/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd PUBLISH-before-SUBACK TRUCMD (33792): ../libtool --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/valgrind1199 ../src/curl -q --output log/1/curl1199.out --include --trace log/1/trace1199 --trace-time mqtt://127.0.0.1:42237 -d "" > log/1/stdout1199 2> log/1/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/24/valgrind1196 ../src/curl -q --output log/24/curl1196.out --include --trace log/24/trace1196 --trace-time mqtt://127.0.0.1:35741/1196 > log/24/stdout1196 2> log/24/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/18/valgrind1207 ../src/curl -q --output log/18/curl1207.out --include --trace-ascii log/18/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:36869/1207 -P - > log/18/stdout1207 2> log/18/stderr1207 CMD (33792): ../libtool --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/valgrind1208 ../src/curl -q --output log/8/curl1208.out --include --trace-ascii log/8/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:42799/1208 -P - > log/8/stdout1208 2> log/8/stderr1208 E Testnum 1194 === End of file server.cmd === Start of file valgrind1194 ==143659== ==143659== Process terminating with default action of signal 4 (SIGILL) ==143659== Illegal opcode at address 0x4014520 ==143659== at 0x4014520: getparameter (tool_getparam.c:2862) ==143659== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143659== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143659== by 0x4003728: main (tool_main.c:186) === End of file valgrind1194 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 143179 on PORT 42237 * pid mqtt => 143179 143179 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/1/valgrind1199 ../src/curl -q --output log/1/curl1199.out --include --trace log/1/trace1199 --trace-time mqtt://127.0.0.1:42237 -d "" > log/1/stdout1199 2> log/1/stderr1199 1199: 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 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/1/valgrind1199 ../src/curl -q --output log/1/curl1199.out --include --trace log/1/trace1199 --trace-time mqtt://127.0.0.1:42237 -d "" > log/1/stdout1199 2> log/1/stderr1199 === End of file commands.log === Start of file mqtt_server.log 17:50:45.376854 Running IPv4 version 17:50:45.376947 Listening on port 42237 17:50:45.376995 Wrote pid 143179 to log/1/server/mqtt_server.pid 17:50:45.377028 Wrote port 42237 to log/1/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 ==144058== ==144058== Process terminating with default action of signal 4 (SIGILL) ==144058== Illegal opcode at address 0x4014520 ==144058== at 0x4014520: getparameter (tool_getparam.c:2862) ==144058== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144058== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144058== by 0x4003728: main (tool_main.c:186) === End of file valgrind1199 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 143154 on PORT 35741 * pid mqtt => 143154 143154 test 1196...[MQTT with error in 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/24/valgrind1196 ../src/curl -q --output log/24/curl1196.out --include --trace log/24/trace1196 --trace-time mqtt://127.0.0.1:35741/1196 > log/24/stdout1196 2> log/24/stderr1196 1196: 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 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/24/valgrind1196 ../src/curl -q --output log/24/curl1196.out --include --trace log/24/trace1196 --trace-time mqtt://127.0.0.1:35741/1196 > log/24/stdout1196 2> log/24/stderr1196 === End of file commands.log === Start of file mqtt_server.log 17:50:45.205891 Running IPv4 version 17:50:45.205986 Listening on port 35741 17:50:45.206036 Wrote pid 143154 to log/24/server/mqtt_server.pid 17:50:45.206071 Wrote port 35741 to log/24/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 ==143833== ==143833== Process terminating with default action of signal 4 (SIGILL) ==143833== Illegal opcode at address 0x4014520 ==143833== at 0x4014520: getparameter (tool_getparam.c:2862) ==143833== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143833== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143833== by 0x4003728: main (tool_main.c:186) === End of file valgrind1196 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/18/valgrind1207 ../src/curl -q --output log/18/curl1207.out --include --trace-ascii log/18/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:36869/1207 -P - > log/18/stdout1207 2> log/18/stderr1207 1207: 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 1207 === Start of file commands.log ../libtool --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/valgrind1207 ../src/curl -q --output log/18/curl1207.out --include --trace-ascii log/18/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:36869/1207 -P - > log/18/stdout1207 2> log/18/stderr1207 === End of file commands.log === Start of file ftp_server.log 17:50:46.060029 ====> Client connect 17:50:46.060250 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:46.060643 < "USER anonymous" 17:50:46.060688 > "331 We are happy you popped in![CR][LF]" 17:50:46.060888 < "PASS ftp@example.com" 17:50:46.060921 > "230 Welcome you silly person[CR][LF]" 17:50:46.061097 < "PWD" 17:50:46.061133 > "257 "/" is current directory[CR][LF]" 17:50:46.061316 < "EPSV" 17:50:46.061343 ====> Passive DATA channel requested by client 17:50:46.061359 DATA sockfilt for passive data channel starting... 17:50:46.066880 DATA sockfilt for passive data channel started (pid 143479) 17:50:46.067005 DATA sockfilt for passive data channel listens on port 44447 17:50:46.067051 > "229 Entering Passive Mode (|||44447|)[CR][LF]" 17:50:46.067069 Client has been notified that DATA conn will be accepted on port 44447 17:50:46.067368 Client connects to port 44447 17:50:46.067401 ====> Client established passive DATA connection on port 44447 17:50:46.067485 < "TYPE I" 17:50:46.067521 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:46.067701 < "SIZE verifiedserver" 17:50:46.067739 > "213 17[CR][LF]" 17:50:46.067900 < "RETR verifiedserver" 17:50:46.067939 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:46.068036 =====> Closing passive DATA connection... 17:50:46.068054 Server disconnects passive DATA connection 17:50:46.068299 Server disconnected passive DATA connection 17:50:46.068327 DATA sockfilt for passive data channel quits (pid 143479) 17:50:46.068569 DATA sockfilt for passive data channel quit (pid 143479) 17:50:46.068595 =====> Closed passive DATA connection 17:50:46.068626 > "226 File transfer complete[CR][LF]" 17:50:46.120141 < "QUIT" 17:50:46.120205 > "221 bye bye baby[CR][LF]" 17:50:46.121870 MAIN sockfilt said DISC 17:50:46.121920 ====> Client disconnected 17:50:46.122015 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:46.896189 ====> Client connect 17:50:46.906455 Received DATA (on stdin) 17:50:46.906480 > 146 bytes data, server => client 17:50:46.906492 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:46.906503 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:46.906512 '220 \___|\___/|_| \_\_____|\r\n' 17:50:46.906651 < 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/23/valgrind1201 ../src/curl -q --output log/23/curl1201.out --include --trace-ascii log/23/trace1201 --trace-time gopher://127.0.0.1:35929/1/selector/SELECTOR/1201 > log/23/stdout1201 2> log/23/stderr1201 bytes data, client => server 17:50:46.906666 'USER anonymous\r\n' 17:50:46.906874 Received DATA (on stdin) 17:50:46.906887 > 33 bytes data, server => client 17:50:46.906898 '331 We are happy you popped in!\r\n' 17:50:46.906960 < 22 bytes data, client => server 17:50:46.906972 'PASS ftp@example.com\r\n' 17:50:46.907105 Received DATA (on stdin) 17:50:46.907117 > 30 bytes data, server => client 17:50:46.907127 '230 Welcome you silly person\r\n' 17:50:46.907181 < 5 bytes data, client => server 17:50:46.907193 'PWD\r\n' 17:50:46.907315 Received DATA (on stdin) 17:50:46.907327 > 30 bytes data, server => client 17:50:46.907338 '257 "/" is current directory\r\n' 17:50:46.907403 < 6 bytes data, client => server 17:50:46.907415 'EPSV\r\n' 17:50:46.913257 Received DATA (on stdin) 17:50:46.913273 > 39 bytes data, server => client 17:50:46.913283 '229 Entering Passive Mode (|||44447|)\r\n' 17:50:46.913494 < 8 bytes data, client => server 17:50:46.913506 'TYPE I\r\n' 17:50:46.913705 Received DATA (on stdin) 17:50:46.913718 > 33 bytes data, server => client 17:50:46.913729 '200 I modify TYPE as you wanted\r\n' 17:50:46.913786 < 21 bytes data, client => server 17:50:46.913800 'SIZE verifiedserver\r\n' 17:50:46.913921 Received DATA (on stdin) 17:50:46.913932 > 8 bytes data, server => client 17:50:46.913943 '213 17\r\n' 17:50:46.913993 < 21 bytes data, client => server 17:50:46.914004 'RETR verifiedserver\r\n' 17:50:46.914236 Received DATA (on stdin) 17:50:46.914249 > 29 bytes data, server => client 17:50:46.914260 '150 Binary junk (17 bytes).\r\n' 17:50:46.914809 Received DATA (on stdin) 17:50:46.914822 > 28 bytes data, server => client 17:50:46.914833 '226 File transfer complete\r\n' 17:50:46.962874 < 6 bytes data, client => server 17:50:46.962911 'QUIT\r\n' 17:50:46.966396 Received DATA (on stdin) 17:50:46.966413 > 18 bytes data, server => client 17:50:46.966423 '221 bye bye baby\r\n' 17:50:46.967981 ====> Client disconnect 17:50:46.968211 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:46.909900 Running IPv4 version 17:50:46.909966 Listening on port 44447 17:50:46.910003 Wrote pid 143479 to log/18/server/ftp_sockdata.pid 17:50:46.912993 Received PING (on stdin) 17:50:46.913089 Received PORT (on stdin) 17:50:46.913463 ====> Client connect 17:50:46.914287 Received DATA (on stdin) 17:50:46.914300 > 17 bytes data, server => client 17:50:46.914310 'WE ROOLZ: 82094\r\n' 17:50:46.914337 Received DISC (on stdin) 17:50:46.914348 ====> Client forcibly disconnected 17:50:46.914519 Received QUIT (on stdin) 17:50:46.914531 quits 17:50:46.914603 ============> 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 ==143535== ==143535== Process terminating with default action of signal 4 (SIGILL) ==143535== Illegal opcode at address 0x4014520 ==143535== at 0x4014520: getparameter (tool_getparam.c:2862) ==143535== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143535== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143535== by 0x4003728: main (tool_main.c:186) === End of file valgrind1207 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/8/valgrind1208 ../src/curl -q --output log/8/curl1208.out --include --trace-ascii log/8/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:42799/1208 -P - > log/8/stdout1208 2> log/8/stderr1208 1208: 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 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/8/valgrind1208 ../src/curl -q --output log/8/curl1208.out --include --trace-ascii log/8/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:42799/1208 -P - > log/8/stdout1208 2> log/8/stderr1208 === End of file commands.log === Start of file ftp_server.log 17:50:46.169421 ====> Client connect 17:50:46.169583 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:46.169872 < "USER anonymous" 17:50:46.169906 > "331 We are happy you popped in![CR][LF]" 17:50:46.170085 < "PASS ftp@example.com" 17:50:46.170112 > "230 Welcome you silly person[CR][LF]" 17:50:46.170255 < "PWD" 17:50:46.170283 > "257 "/" is current directory[CR][LF]" 17:50:46.170430 < "EPSV" 17:50:46.170453 ====> Passive DATA channel requested by client 17:50:46.170467 DATA sockfilt for passive data channel starting... 17:50:46.173964 DATA sockfilt for passive data channel started (pid 143570) 17:50:46.174078 DATA sockfilt for passive data channel listens on port 37417 17:50:46.174122 > "229 Entering Passive Mode (|||37417|)[CR][LF]" 17:50:46.174141 Client has been notified that DATA conn will be accepted on port 37417 17:50:46.174394 Client connects to port 37417 17:50:46.174424 ====> Client established passive DATA connection on port 37417 17:50:46.174502 < "TYPE I" 17:50:46.174536 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:46.174680 < "SIZE verifiedserver" 17:50:46.174711 > "213 17[CR][LF]" 17:50:46.174852 < "RETR verifiedserver" 17:50:46.174881 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:46.174971 =====> Closing passive DATA connection... 17:50:46.174987 Server disconnects passive DATA connection 17:50:46.175214 Server disconnected passive DATA connection 17:50:46.175240 DATA sockfilt for passive data channel quits (pid 143570) 17:50:46.175486 DATA sockfilt for passive data channel quit (pid 143570) 17:50:46.175510 =====> Closed passive DATA connection 17:50:46.175537 > "226 File transfer complete[CR][LF]" 17:50:46.223663 < "QUIT" 17:50:46.223719 > "221 bye bye baby[CR][LF]" 17:50:46.224945 MAIN sockfilt said DISC 17:50:46.224983 ====> Client disconnected 17:50:46.225076 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:47.015468 ====> Client connect 17:50:47.015771 Received DATA (on stdin) 17:50:47.015785 > 146 bytes data, server => client 17:50:47.015797 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:47.015807 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:47.015816 '220 \___|\___/|_| \_\_____|\r\n' 17:50:47.015906 < 16 bytes data, client => server 17:50:47.015917 'USER anonymous\r\n' 17:50:47.016087 Received DATA (on stdin) 17:50:47.016098 > 33 bytes data, server => client 17:50:47.016109 '331 We are happy you popped in!\r\n' 17:50:47.016162 < 22 bytes data, client => server 17:50:47.016189 'PASS ftp@example.com\r\n' 17:50:47.016290 Received DATA (on stdin) 17:50:47.016301 > 30 bytes data, server => client 17:50:47.016311 '230 Welcome you silly person\r\n' 17:50:47.016357 < 5 bytes data, client => server 17:50:47.016367 'PWD\r\n' 17:50:47.016460 Received DATA (on stdin) 17:50:47.016470 > 30 bytes data, server => client 17:50:47.016481 '257 "/" is current directory\r\n' 17:50:47.016533 < 6 bytes data, client => server 17:50:47.016543 'EPSV\r\n' 17:50:47.020327 Received DATA (on stdin) 17:50:47.020341 > 39 bytes data, server => client 17:50:47.020352 '229 Entering Passive Mode (|||37417|)\r\n' 17:50:47.020497 < 8 bytes data, client => server 17:50:47.020510 'TYPE I\r\n' 17:50:47.020714 Received DATA (on stdin) 17:50:47.020725 > 33 bytes data, server => client 17:50:47.020735 '200 I modify TYPE as you wanted\r\n' 17:50:47.020782 < 21 bytes data, client => server 17:50:47.020792 'SIZE verifiedserver\r\n' 17:50:47.020889 Received DATA (on stdin) 17:50:47.020899 > 8 bytes data, server => client 17:50:47.020908 '213 17\r\n' 17:50:47.020952 < 21 bytCMD (33792): ../libtool --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/valgrind1203 ../src/curl -q --output log/19/curl1203.out --include --trace-ascii log/19/trace1203 --trace-time -g gopher://[::1]:34097/1/moo/1203 > log/19/stdout1203 2> log/19/stderr1203 CMD (33792): ../libtool --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/valgrind1202 ../src/curl -q --output log/20/curl1202.out --include --trace-ascii log/20/trace1202 --trace-time "gopher://127.0.0.1:37641/7/the/search/engine%09query%20succeeded/1202" > log/20/stdout1202 2> log/20/stderr1202 es data, client => server 17:50:47.020962 'RETR verifiedserver\r\n' 17:50:47.021168 Received DATA (on stdin) 17:50:47.021178 > 29 bytes data, server => client 17:50:47.021189 '150 Binary junk (17 bytes).\r\n' 17:50:47.021717 Received DATA (on stdin) 17:50:47.021729 > 28 bytes data, server => client 17:50:47.021739 '226 File transfer complete\r\n' 17:50:47.069635 < 6 bytes data, client => server 17:50:47.069673 'QUIT\r\n' 17:50:47.069903 Received DATA (on stdin) 17:50:47.069914 > 18 bytes data, server => client 17:50:47.069924 '221 bye bye baby\r\n' 17:50:47.071064 ====> Client disconnect 17:50:47.071254 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:46.018907 Running IPv4 version 17:50:46.018976 Listening on port 37417 17:50:46.019019 Wrote pid 143570 to log/8/server/ftp_sockdata.pid 17:50:46.020080 Received PING (on stdin) 17:50:46.020172 Received PORT (on stdin) 17:50:46.020529 ====> Client connect 17:50:46.021240 Received DATA (on stdin) 17:50:46.021252 > 17 bytes data, server => client 17:50:46.021262 'WE ROOLZ: 81155\r\n' 17:50:46.021285 Received DISC (on stdin) 17:50:46.021296 ====> Client forcibly disconnected 17:50:46.021425 Received QUIT (on stdin) 17:50:46.021435 quits 17:50:46.021499 ============> 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 ==143678== ==143678== Process terminating with default action of signal 4 (SIGILL) ==143678== Illegal opcode at address 0x4014520 ==143678== at 0x4014520: getparameter (tool_getparam.c:2862) ==143678== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143678== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143678== by 0x4003728: main (tool_main.c:186) === End of file valgrind1208 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/23/server/gopher_server.pid" --logfile "log/23/gopher_server.log" --logdir "log/23" --portfile log/23/server/gopher_server.port --config log/23/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 143188 port 35929 * pid gopher => 143188 143188 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/23/valgrind1201 ../src/curl -q --output log/23/curl1201.out --include --trace-ascii log/23/trace1201 --trace-time gopher://127.0.0.1:35929/1/selector/SELECTOR/1201 > log/23/stdout1201 2> log/23/stderr1201 1201: 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 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/23/valgrind1201 ../src/curl -q --output log/23/curl1201.out --include --trace-ascii log/23/trace1201 --trace-time gopher://127.0.0.1:35929/1/selector/SELECTOR/1201 > log/23/stdout1201 2> log/23/stderr1201 === End of file commands.log === Start of file gopher_server.log 17:50:45.421988 Running GOPHER IPv4 version on port 35929 17:50:45.422083 Wrote pid 143188 to log/23/server/gopher_server.pid 17:50:45.422116 Wrote port 35929 to log/23/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 ==144107== ==144107== Process terminating with default action of signal 4 (SIGILL) ==144107== Illegal opcode at address 0x4014520 ==144107== at 0x4014520: getparameter (tool_getparam.c:2862) ==144107== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144107== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144107== by 0x4003728: main (tool_main.c:186) === End of file valgrind1201 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/19/server/gopher_ipv6_server.pid" --logfile "log/19/gopher_ipv6_server.log" --logdir "log/19" --portfile log/19/server/gopher_ipv6_server.port --config log/19/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER-IPv6 server is on PID 143240 port 34097 * pid gopher-ipv6 => 143240 143240 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/19/valgrind1203 ../src/curl -q --output log/19/curl1203.out --include --trace-ascii log/19/trace1203 --trace-time -g gopher://[::1]:34097/1/moo/1203 > log/19/stdout1203 2> log/19/stderr1203 1203: 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 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/19/valgrind1203 ../src/curl -q --output log/19/curl1203.out --include --trace-ascii log/19/trace1203 --trace-time -g gopher://[::1]:34097/1/moo/1203 > log/19/stdout1203 2> log/19/stderr1203 === End of file commands.log === Start of file gopher_ipv6_server.log 17:50:45.580289 Running GOPHER IPv6 version on port 34097 17:50:45.580408 Wrote pid 143240 to log/19/server/gopher_ipv6_server.pid 17:50:45.580446 Wrote port 34097 to log/19/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 ==144349== ==144349== Process terminating with default action of signal 4 (SIGILL) ==144349== Illegal opcode at address 0x4014520 ==144349== at 0x4014520: getparameter (tool_getparam.c:2862) ==144349== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144349== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144349== by 0x4003728: main (tool_main.c:186) === End of file valgrind1203 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/20/server/gopher_server.pid" --logfile "log/20/gopher_server.log" --logdir "log/20" --portfile log/20/server/gopher_server.port --config log/20/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 143237 port 37641 * pid gopher => 143237 143237 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/20/valgrind1202 ../src/curl -q --output log/20/curl1202.out --include --trace-ascii log/20/trace1202 --trace-time "gopher://127.0.0.1:37641/7/the/search/engine%09query%20succeeded/1202" > log/20/stdout1202 2> log/20/stderr1202 1202: 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 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/20/valgrind1202 ../src/curl -q --output log/20/curl1202.out --include --trace-ascii log/20/trace1202 --trace-time "gopher://127.0.0.1:37641/7/the/search/engine%09query%20succeeded/1202" > log/20/stdout1202 2> log/20/stderr1202 === End of file commands.log === Start of file gopher_server.log 17:50:45.593374 Running GOPHER IPv4 version on port 37641 17:50:45.593507 Wrote pid 143237 to log/20/server/gopher_server.pid 17:50:45.593548 Wrote port 37641 to log/20/server/gopher_server.port === End of file gopher_server.log === Start CMD (33792): ../libtool --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/valgrind1212 ../src/curl -q --output log/22/curl1212.out --include --trace-ascii log/22/trace1212 --trace-time http://user:secret@127.0.0.1:42933/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/22/stdout1212 2> log/22/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/4/valgrind1198 ../src/curl -q --output log/4/curl1198.out --include --trace log/4/trace1198 --trace-time mqtt://127.0.0.1:44051/%20 -d "" > log/4/stdout1198 2> log/4/stderr1198 CMD (33792): ../libtool --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/valgrind1213 ../src/curl -q --output log/5/curl1213.out --include --trace-ascii log/5/trace1213 --trace-time -x 127.0.0.1:46875 we.want.that.site.com.1213 > log/5/stdout1213 2> log/5/stderr1213 of file server.cmd Testnum 1202 === End of file server.cmd === Start of file valgrind1202 ==144348== ==144348== Process terminating with default action of signal 4 (SIGILL) ==144348== Illegal opcode at address 0x4014520 ==144348== at 0x4014520: getparameter (tool_getparam.c:2862) ==144348== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144348== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144348== by 0x4003728: main (tool_main.c:186) === End of file valgrind1202 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/22/valgrind1212 ../src/curl -q --output log/22/curl1212.out --include --trace-ascii log/22/trace1212 --trace-time http://user:secret@127.0.0.1:42933/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/22/stdout1212 2> log/22/stderr1212 1212: 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 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/22/valgrind1212 ../src/curl -q --output log/22/curl1212.out --include --trace-ascii log/22/trace1212 --trace-time http://user:secret@127.0.0.1:42933/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/22/stdout1212 2> log/22/stderr1212 === End of file commands.log === Start of file http_server.log 17:50:46.172561 ====> Client connect 17:50:46.172598 accept_connection 3 returned 4 17:50:46.172614 accept_connection 3 returned 0 17:50:46.172749 Read 93 bytes 17:50:46.172762 Process 93 bytes request 17:50:46.172774 Got request: GET /verifiedserver HTTP/1.1 17:50:46.172783 Are-we-friendly question received 17:50:46.172955 Wrote request (93 bytes) input to log/22/server.input 17:50:46.172976 Identifying ourselves as friends 17:50:46.173037 Response sent (56 bytes) and written to log/22/server.response 17:50:46.173046 special request received, no persistency 17:50:46.173054 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 56316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind1212 ==143789== ==143789== Process terminating with default action of signal 4 (SIGILL) ==143789== Illegal opcode at address 0x4014520 ==143789== at 0x4014520: getparameter (tool_getparam.c:2862) ==143789== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143789== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143789== by 0x4003728: main (tool_main.c:186) === End of file valgrind1212 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 143177 on PORT 44051 * pid mqtt => 143177 143177 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/4/valgrind1198 ../src/curl -q --output log/4/curl1198.out --include --trace log/4/trace1198 --trace-time mqtt://127.0.0.1:44051/%20 -d "" > log/4/stdout1198 2> log/4/stderr1198 1198: 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 1198 === Start of file commands.log ../libtool --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/valgrind1198 ../src/curl -q --output log/4/curl1198.out --include --trace log/4/trace1198 --trace-time mqtt://127.0.0.1:44051/%20 -d "" > log/4/stdout1198 2> log/4/stderr1198 === End of file commands.log === Start of file mqtt_server.log 17:50:45.349069 Running IPv4 version 17:50:45.349163 Listening on port 44051 17:50:45.349206 Wrote pid 143177 to log/4/server/mqtt_server.pid 17:50:45.349237 Wrote port 44051 to log/4/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 ==144020== ==144020== Process terminating with default action of signal 4 (SIGILL) ==144020== Illegal opcode at address 0x4014520 ==144020== at 0x4014520: getparameter (tool_getparam.c:2862) ==144020== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144020== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144020== by 0x4003728: main (tool_main.c:186) === End of file valgrind1198 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/5/valgrind1213 ../src/curl -q --output log/5/curl1213.out --include --trace-ascii log/5/trace1213 --trace-time -x 127.0.0.1:46875 we.want.that.site.com.1213 > log/5/stdout1213 2> log/5/stderr1213 1213: 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 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/5/valgrind1213 ../src/curl -q --output log/5/curl1213.out --include --trace-ascii log/5/trace1213 --trace-time -x 127.0.0.1:46875 we.want.that.site.com.1213 > log/5/stdout1213 2> log/5/stderr1213 === End of file commands.log === Start of file http_server.log 17:50:46.381990 ====> Client connect 17:50:46.382035 accept_connection 3 returned 4 17:50:46.382051 accept_connection 3 returned 0 17:50:46.382064 Read 93 bytes 17:50:46.382073 Process 93 bytes request 17:50:46.382086 Got request: GET /verifiedserver HTTP/1.1 17:50:46.382093 Are-we-friendly question received 17:50:46.382117 Wrote request (93 bytes) input to log/5/server.input 17:50:46.382131 Identifying ourselves as friends 17:50:46.382181 Response sent (56 bytes) and written to log/5/server.response 17:50:46.382190 special request received, no persistency 17:50:46.382197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 49630 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind1213 ==144102== ==144102== ProcCMD (33792): ../libtool --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/valgrind1200 ../src/curl -q --output log/17/curl1200.out --include --trace-ascii log/17/trace1200 --trace-time gopher://127.0.0.1:33815/1/1200 > log/17/stdout1200 2> log/17/stderr1200 CMD (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/7/stdout1222 2> log/7/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/9/valgrind1210 ../src/curl -q --trace-ascii log/9/trace1210 --trace-time http://127.0.0.1:37413/1210?junk -J -O --output-dir log/9 > log/9/stdout1210 2> log/9/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/10/valgrind1215 ../src/curl -q --output log/10/curl1215.out --include --trace-ascii log/10/trace1215 --trace-time http://127.0.0.1:32889/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:32889 > log/10/stdout1215 2> log/10/stderr1215 ess terminating with default action of signal 4 (SIGILL) ==144102== Illegal opcode at address 0x4014520 ==144102== at 0x4014520: getparameter (tool_getparam.c:2862) ==144102== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144102== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144102== by 0x4003728: main (tool_main.c:186) === End of file valgrind1213 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/17/server/gopher_server.pid" --logfile "log/17/gopher_server.log" --logdir "log/17" --portfile log/17/server/gopher_server.port --config log/17/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 143181 port 33815 * pid gopher => 143181 143181 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/17/valgrind1200 ../src/curl -q --output log/17/curl1200.out --include --trace-ascii log/17/trace1200 --trace-time gopher://127.0.0.1:33815/1/1200 > log/17/stdout1200 2> log/17/stderr1200 1200: 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 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/17/valgrind1200 ../src/curl -q --output log/17/curl1200.out --include --trace-ascii log/17/trace1200 --trace-time gopher://127.0.0.1:33815/1/1200 > log/17/stdout1200 2> log/17/stderr1200 === End of file commands.log === Start of file gopher_server.log 17:50:45.420073 Running GOPHER IPv4 version on port 33815 17:50:45.420191 Wrote pid 143181 to log/17/server/gopher_server.pid 17:50:45.420222 Wrote port 33815 to log/17/server/gopher_server.port === End of file gopher_server.log === Start of file server.cmd Testnum 1200 === End of file server.cmd === Start of file valgrind1200 ==144055== ==144055== Process terminating with default action of signal 4 (SIGILL) ==144055== Illegal opcode at address 0x4014520 ==144055== at 0x4014520: getparameter (tool_getparam.c:2862) ==144055== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144055== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144055== by 0x4003728: main (tool_main.c:186) === End of file valgrind1200 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/7/stdout1222 2> log/7/stderr1222 valgrind SKIPPED -------e--- OK (1161 out of 1760, remaining: 01:00, took 0.538s, duration: 01:57) 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/9/valgrind1210 ../src/curl -q --trace-ascii log/9/trace1210 --trace-time http://127.0.0.1:37413/1210?junk -J -O --output-dir log/9 > log/9/stdout1210 2> log/9/stderr1210 1210: 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 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/9/valgrind1210 ../src/curl -q --trace-ascii log/9/trace1210 --trace-time http://127.0.0.1:37413/1210?junk -J -O --output-dir log/9 > log/9/stdout1210 2> log/9/stderr1210 === End of file commands.log === Start of file http_server.log 17:50:46.129241 ====> Client connect 17:50:46.129282 accept_connection 3 returned 4 17:50:46.129300 accept_connection 3 returned 0 17:50:46.129315 Read 93 bytes 17:50:46.129325 Process 93 bytes request 17:50:46.129339 Got request: GET /verifiedserver HTTP/1.1 17:50:46.129348 Are-we-friendly question received 17:50:46.129378 Wrote request (93 bytes) input to log/9/server.input 17:50:46.129395 Identifying ourselves as friends 17:50:46.129457 Response sent (56 bytes) and written to log/9/server.response 17:50:46.129468 special request received, no persistency 17:50:46.129477 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 53032 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind1210 ==143748== ==143748== Process terminating with default action of signal 4 (SIGILL) ==143748== Illegal opcode at address 0x4014520 ==143748== at 0x4014520: getparameter (tool_getparam.c:2862) ==143748== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==143748== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==143748== by 0x4003728: main (tool_main.c:186) === End of file valgrind1210 test 1215...[HTTP with server NTLM authorization using 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/10/valgrind1215 ../src/curl -q --output log/10/curl1215.out --include --trace-ascii log/10/trace1215 --trace-time http://127.0.0.1:32889/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:32889 > log/10/stdout1215 2> log/10/stderr1215 1215: 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 1215 === Start of file commands.log ../libtool --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/valgrind1215 ../src/curl -q --output log/10/curl1215.out --include --trace-ascii log/10/trace1215 --trace-time http://127.0.0.1:32889/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:32889 > log/10/stdout1215 2> log/10/stderr1215 === End of file commands.log === Start of file http_server.log 17:50:46.605879 ====> Client connect 17:50:46.605928 accept_connection 3 returned 4 17:50:46.605948 accept_connection 3 returned 0 17:50:46.605964 Read 93 bytes 17:50:46.605974 Process 93 bytes request 17:50:46.605988 Got request: GET /verifiedserver HTTP/1.1 17:50:46.605997 Are-we-friendly question received 17:50:46.606022 Wrote request (93 bytes) input to log/10/server.input 17:50:46.606039 Identifying ourselves as friends 17:50:46.606094 Response sent (56 bytes) and written to log/10/server.response 17:50:46.606103 special request received, no persistency 17:50:46.606112 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 43442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === End of file http_verify.out === 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/3/valgrind1214 ../src/curl -q --output log/3/curl1214.out --include --trace-ascii log/3/trace1214 --trace-time -x 127.0.0.1:45927 http://we.want.that.site.com.1214?moo=foo > log/3/stdout1214 2> log/3/stderr1214 CMD (33792): ../libtool --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/valgrind1219 ../src/curl -q --output log/21/curl1219.out --include --trace-ascii log/21/trace1219 --trace-time ftp://127.0.0.1:37113/1219 > log/21/stdout1219 2> log/21/stderr1219 le server.cmd Testnum 1215 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74973 === End of file server.response === Start of file valgrind1215 ==144399== ==144399== Process terminating with default action of signal 4 (SIGILL) ==144399== Illegal opcode at address 0x4014520 ==144399== at 0x4014520: getparameter (tool_getparam.c:2862) ==144399== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144399== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144399== by 0x4003728: main (tool_main.c:186) === End of file valgrind1215 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/3/valgrind1214 ../src/curl -q --output log/3/curl1214.out --include --trace-ascii log/3/trace1214 --trace-time -x 127.0.0.1:45927 http://we.want.that.site.com.1214?moo=foo > log/3/stdout1214 2> log/3/stderr1214 1214: 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 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/3/valgrind1214 ../src/curl -q --output log/3/curl1214.out --include --trace-ascii log/3/trace1214 --trace-time -x 127.0.0.1:45927 http://we.want.that.site.com.1214?moo=foo > log/3/stdout1214 2> log/3/stderr1214 === End of file commands.log === Start of file http_server.log 17:50:46.474322 ====> Client connect 17:50:46.474360 accept_connection 3 returned 4 17:50:46.474377 accept_connection 3 returned 0 17:50:46.474393 Read 93 bytes 17:50:46.474402 Process 93 bytes request 17:50:46.474416 Got request: GET /verifiedserver HTTP/1.1 17:50:46.474424 Are-we-friendly question received 17:50:46.474448 Wrote request (93 bytes) input to log/3/server.input 17:50:46.474465 Identifying ourselves as friends 17:50:46.474529 Response sent (56 bytes) and written to log/3/server.response 17:50:46.474538 special request received, no persistency 17:50:46.474546 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 41954 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1214 ==144236== ==144236== Process terminating with default action of signal 4 (SIGILL) ==144236== Illegal opcode at address 0x4014520 ==144236== at 0x4014520: getparameter (tool_getparam.c:2862) ==144236== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144236== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144236== by 0x4003728: main (tool_main.c:186) === End of file valgrind1214 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/21/valgrind1219 ../src/curl -q --output log/21/curl1219.out --include --trace-ascii log/21/trace1219 --trace-time ftp://127.0.0.1:37113/1219 > log/21/stdout1219 2> log/21/stderr1219 1219: 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 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/21/valgrind1219 ../src/curl -q --output log/21/curl1219.out --include --trace-ascii log/21/trace1219 --trace-time ftp://127.0.0.1:37113/1219 > log/21/stdout1219 2> log/21/stderr1219 === End of file commands.log === Start of file ftp_server.log 17:50:47.986882 ====> Client connect 17:50:47.987090 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:47.990699 < "USER anonymous" 17:50:47.990775 > "331 We are happy you popped in![CR][LF]" 17:50:47.991029 < "PASS ftp@example.com" 17:50:47.991071 > "230 Welcome you silly person[CR][LF]" 17:50:47.991274 < "PWD" 17:50:47.991320 > "257 "/" is current directory[CR][LF]" 17:50:47.991524 < "EPSV" 17:50:47.991557 ====> Passive DATA channel requested by client 17:50:47.991574 DATA sockfilt for passive data channel starting... 17:50:47.994185 DATA sockfilt for passive data channel started (pid 144763) 17:50:47.994306 DATA sockfilt for passive data channel listens on port 40805 17:50:47.994354 > "229 Entering Passive Mode (|||40805|)[CR][LF]" 17:50:47.994373 Client has been notified that DATA conn will be accepted on port 40805 17:50:47.994638 Client connects to port 40805 17:50:47.994671 ====> Client established passive DATA connection on port 40805 17:50:47.994753 < "TYPE I" 17:50:47.994785 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:47.994945 < "SIZE verifiedserver" 17:50:47.994982 > "213 17[CR][LF]" 17:50:47.995132 < "RETR verifiedserver" 17:50:47.995166 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:47.995251 =====> Closing passive DATA connection... 17:50:47.995268 Server disconnects passive DATA connection 17:50:47.995508 Server disconnected passive DATA connection 17:50:47.995537 DATA sockfilt for passive data channel quits (pid 144763) 17:50:47.995774 DATA sockfilt for passive data channel quit (pid 144763) 17:50:47.995797 =====> Closed passive DATA connection 17:50:47.995825 > "226 File transfer complete[CR][LF]" 17:50:48.046888 < "QUIT" 17:50:48.046948 > "221 bye bye baby[CR][LF]" 17:50:48.053536 MAIN sockfilt said DISC 17:50:48.053623 ====> Client disconnected 17:50:48.053713 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:47.832872 ====> Client connect 17:50:47.833290 Received DATA (on stdin) 17:50:47.833305 > 146 bytes data, server => client 17:50:47.833317 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:47.833328 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:47.833336 '220 \___|\___/|_| \_\_____|\r\n' 17:50:47.836598 < 16 bytes data, client => server 17:50:47.836633 'USER anonymous\r\n' 17:50:47.836976 Received DATA (on stdin) 17:50:47.836995 > 33 bytes data, server => client 17:50:47.837007 '331 We are happy you popped in!\r\n' 17:50:47.837081 < 22 bytes data, client => server 17:50:47.837098 'PASS ftp@example.com\r\n' 17:50:47.837257 Received DATA (on stdin) 17:50:47.837271 > 30 bytes data, server => client 17:50:47.837283 '230 Welcome you silly person\r\n' 17:50:47.837346 < 5 bytes data, client => server 17:50:47.837362 'PWD\r\n' 17:50:47.837505 Received DATA (on stdin) 17:50:47.837518 > 30 bytes data, server => client 17:50:47.837529 '257 "/" is current directory\r\n' 17:50:47.837602 < 6 bytes data, client => server 17:50:47.837618 'EPSV\r\n' 17:50:47.840558 Received DATA (on stdin) 17:50:47.840572 > 39 bytes data, server => client 17:50:47.840583 '229 Entering Passive Mode (|||40805|)\r\n' 17:50:47.840738 < 8 bytes data, client => server 17:50:47.840752 'TYPE I\r\n' 17:50:47.840964 Received DATA (on stdin) 17:50:47.840976 > 33 bytes data, server => client 17:50:47.840986 '200 I moCMD (33792): ../libtool --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/valgrind1216 ../src/curl -q --output log/6/curl1216.out --include --trace-ascii log/6/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/6/injar1216 -x 127.0.0.1:42747 > log/6/stdout1216 2> log/6/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/12/valgrind1217 ../src/curl -q --output log/12/curl1217.out --include --trace-ascii log/12/trace1217 --trace-time ftp://127.0.0.1:38035/get/file/1217 ftp://127.0.0.1:38035/get/file/again/1217 --ftp-method singlecwd > log/12/stdout1217 2> log/12/stderr1217 dify TYPE as you wanted\r\n' 17:50:47.841039 < 21 bytes data, client => server 17:50:47.841051 'SIZE verifiedserver\r\n' 17:50:47.841161 Received DATA (on stdin) 17:50:47.841172 > 8 bytes data, server => client 17:50:47.841182 '213 17\r\n' 17:50:47.841230 < 21 bytes data, client => server 17:50:47.841240 'RETR verifiedserver\r\n' 17:50:47.841450 Received DATA (on stdin) 17:50:47.841465 > 29 bytes data, server => client 17:50:47.841475 '150 Binary junk (17 bytes).\r\n' 17:50:47.842006 Received DATA (on stdin) 17:50:47.842018 > 28 bytes data, server => client 17:50:47.842029 '226 File transfer complete\r\n' 17:50:47.892851 < 6 bytes data, client => server 17:50:47.892891 'QUIT\r\n' 17:50:47.893137 Received DATA (on stdin) 17:50:47.893152 > 18 bytes data, server => client 17:50:47.893163 '221 bye bye baby\r\n' 17:50:47.899602 ====> Client disconnect 17:50:47.899905 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:47.839993 Running IPv4 version 17:50:47.840071 Listening on port 40805 17:50:47.840113 Wrote pid 144763 to log/21/server/ftp_sockdata.pid 17:50:47.840297 Received PING (on stdin) 17:50:47.840397 Received PORT (on stdin) 17:50:47.840772 ====> Client connect 17:50:47.841500 Received DATA (on stdin) 17:50:47.841513 > 17 bytes data, server => client 17:50:47.841523 'WE ROOLZ: 81123\r\n' 17:50:47.841550 Received DISC (on stdin) 17:50:47.841561 ====> Client forcibly disconnected 17:50:47.841726 Received QUIT (on stdin) 17:50:47.841736 quits 17:50:47.841807 ============> 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 ==144776== ==144776== Process terminating with default action of signal 4 (SIGILL) ==144776== Illegal opcode at address 0x4014520 ==144776== at 0x4014520: getparameter (tool_getparam.c:2862) ==144776== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144776== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144776== by 0x4003728: main (tool_main.c:186) === End of file valgrind1219 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/6/valgrind1216 ../src/curl -q --output log/6/curl1216.out --include --trace-ascii log/6/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/6/injar1216 -x 127.0.0.1:42747 > log/6/stdout1216 2> log/6/stderr1216 1216: 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 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/6/valgrind1216 ../src/curl -q --output log/6/curl1216.out --include --trace-ascii log/6/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/6/injar1216 -x 127.0.0.1:42747 > log/6/stdout1216 2> log/6/stderr1216 === End of file commands.log === Start of file http_server.log 17:50:47.157858 ====> Client connect 17:50:47.157894 accept_connection 3 returned 4 17:50:47.157912 accept_connection 3 returned 0 17:50:47.157927 Read 93 bytes 17:50:47.157936 Process 93 bytes request 17:50:47.157950 Got request: GET /verifiedserver HTTP/1.1 17:50:47.157958 Are-we-friendly question received 17:50:47.157985 Wrote request (93 bytes) input to log/6/server.input 17:50:47.158002 Identifying ourselves as friends 17:50:47.158061 Response sent (56 bytes) and written to log/6/server.response 17:50:47.158071 special request received, no persistency 17:50:47.158080 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 49682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind1216 ==144572== ==144572== Process terminating with default action of signal 4 (SIGILL) ==144572== Illegal opcode at address 0x4014520 ==144572== at 0x4014520: getparameter (tool_getparam.c:2862) ==144572== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144572== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144572== by 0x4003728: main (tool_main.c:186) === End of file valgrind1216 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/12/valgrind1217 ../src/curl -q --output log/12/curl1217.out --include --trace-ascii log/12/trace1217 --trace-time ftp://127.0.0.1:38035/get/file/1217 ftp://127.0.0.1:38035/get/file/again/1217 --ftp-method singlecwd > log/12/stdout1217 2> log/12/stderr1217 1217: 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 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/12/valgrind1217 ../src/curl -q --output log/12/curl1217.out --include --trace-ascii log/12/trace1217 --trace-time ftp://127.0.0.1:38035/get/file/1217 ftp://127.0.0.1:38035/get/file/again/1217 --ftp-method singlecwd > log/12/stdout1217 2> log/12/stderr1217 === End of file commands.log === Start of file ftp_server.log 17:50:47.386816 ====> Client connect 17:50:47.387013 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:47.387314 < "USER anonymous" 17:50:47.387346 > "331 We are happy you popped in![CR][LF]" 17:50:47.387487 < "PASS ftp@example.com" 17:50:47.387510 > "230 Welcome you silly person[CR][LF]" 17:50:47.387635 < "PWD" 17:50:47.387663 > "257 "/" is current directory[CR][LF]" 17:50:47.387799 < "EPSV" 17:50:47.387823 ====> Passive DATA channel requested by client 17:50:47.387835 DATA sockfilt for passive data channel starting... 17:50:47.393723 DATA sockfilt for passive data channel started (pid 144614) 17:50:47.393887 DATA sockfilt for passive data channel listens on port 42955 17:50:47.393937 > "229 Entering Passive Mode (|||42955|)[CR][LF]" 17:50:47.393955 Client has been notified that DATA conn will be accepted on port 42955 17:50:47.394245 Client connects to port 42955 17:50:47.394274 ====> Client established passive DATA connection on port 42955 17:50:47.394410 < "TYPE I" 17:50:47.394443 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:47.394590 < "SIZE verifiedserver" 17:50:47.394631 > "213 17[CR][LF]" 17:50:47.394769 < "RETR verifiedserver" 17:50:47.394803 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:47.394892 =====> Closing passive DATA connection... 17:50:47.394908 Server disconnects passive DATA connection 17:50:47.395022 Server disconneCMD (33792): ../libtool --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/valgrind1220 ../src/curl -q --trace-ascii log/13/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/13/test1220.txt?a_query=foobar#afragment > log/13/stdout1220 2> log/13/stderr1220 cted passive DATA connection 17:50:47.395044 DATA sockfilt for passive data channel quits (pid 144614) 17:50:47.395355 DATA sockfilt for passive data channel quit (pid 144614) 17:50:47.395377 =====> Closed passive DATA connection 17:50:47.395408 > "226 File transfer complete[CR][LF]" 17:50:47.440376 < "QUIT" 17:50:47.440433 > "221 bye bye baby[CR][LF]" 17:50:47.441692 MAIN sockfilt said DISC 17:50:47.441725 ====> Client disconnected 17:50:47.441817 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:47.232854 ====> Client connect 17:50:47.233201 Received DATA (on stdin) 17:50:47.233214 > 146 bytes data, server => client 17:50:47.233224 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:47.233234 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:47.233243 '220 \___|\___/|_| \_\_____|\r\n' 17:50:47.233355 < 16 bytes data, client => server 17:50:47.233366 'USER anonymous\r\n' 17:50:47.233524 Received DATA (on stdin) 17:50:47.233534 > 33 bytes data, server => client 17:50:47.233543 '331 We are happy you popped in!\r\n' 17:50:47.233588 < 22 bytes data, client => server 17:50:47.233598 'PASS ftp@example.com\r\n' 17:50:47.233685 Received DATA (on stdin) 17:50:47.233695 > 30 bytes data, server => client 17:50:47.233704 '230 Welcome you silly person\r\n' 17:50:47.233743 < 5 bytes data, client => server 17:50:47.233752 'PWD\r\n' 17:50:47.233838 Received DATA (on stdin) 17:50:47.233847 > 30 bytes data, server => client 17:50:47.233856 '257 "/" is current directory\r\n' 17:50:47.233907 < 6 bytes data, client => server 17:50:47.233916 'EPSV\r\n' 17:50:47.240144 Received DATA (on stdin) 17:50:47.240161 > 39 bytes data, server => client 17:50:47.240172 '229 Entering Passive Mode (|||42955|)\r\n' 17:50:47.240475 < 8 bytes data, client => server 17:50:47.240486 'TYPE I\r\n' 17:50:47.240623 Received DATA (on stdin) 17:50:47.240633 > 33 bytes data, server => client 17:50:47.240644 '200 I modify TYPE as you wanted\r\n' 17:50:47.240692 < 21 bytes data, client => server 17:50:47.240702 'SIZE verifiedserver\r\n' 17:50:47.240810 Received DATA (on stdin) 17:50:47.240820 > 8 bytes data, server => client 17:50:47.240830 '213 17\r\n' 17:50:47.240873 < 21 bytes data, client => server 17:50:47.240883 'RETR verifiedserver\r\n' 17:50:47.241456 Received DATA (on stdin) 17:50:47.241468 > 29 bytes data, server => client 17:50:47.241479 '150 Binary junk (17 bytes).\r\n' 17:50:47.241586 Received DATA (on stdin) 17:50:47.241597 > 28 bytes data, server => client 17:50:47.241607 '226 File transfer complete\r\n' 17:50:47.286338 < 6 bytes data, client => server 17:50:47.286381 'QUIT\r\n' 17:50:47.286616 Received DATA (on stdin) 17:50:47.286628 > 18 bytes data, server => client 17:50:47.286638 '221 bye bye baby\r\n' 17:50:47.287817 ====> Client disconnect 17:50:47.287994 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:47.239628 Running IPv4 version 17:50:47.239735 Listening on port 42955 17:50:47.239779 Wrote pid 144614 to log/12/server/ftp_sockdata.pid 17:50:47.239803 Received PING (on stdin) 17:50:47.239957 Received PORT (on stdin) 17:50:47.240375 ====> Client connect 17:50:47.241089 Received DATA (on stdin) 17:50:47.241101 > 17 bytes data, server => client 17:50:47.241111 'WE ROOLZ: 81047\r\n' 17:50:47.241138 Received DISC (on stdin) 17:50:47.241149 ====> Client forcibly disconnected 17:50:47.241230 Received QUIT (on stdin) 17:50:47.241239 quits 17:50:47.241322 ============> 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 ==144636== ==144636== Process terminating with default action of signal 4 (SIGILL) ==144636== Illegal opcode at address 0x4014520 ==144636== at 0x4014520: getparameter (tool_getparam.c:2862) ==144636== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144636== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144636== by 0x4003728: main (tool_main.c:186) === End of file valgrind1217 CMD (33792): ../libtool --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/valgrind1218 ../src/curl -q --output log/2/curl1218.out --include --trace-ascii log/2/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:38779 > log/2/stdout1218 2> log/2/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/16/valgrind1223 ../src/curl -q --include --trace-ascii log/16/trace1223 --trace-time http://127.0.0.1:40899/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/16/stdout1223 2> log/16/stderr1223 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/13/valgrind1220 ../src/curl -q --trace-ascii log/13/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/13/test1220.txt?a_query=foobar#afragment > log/13/stdout1220 2> log/13/stderr1220 1220: stdout FAILED: --- log/13/check-expected 2026-01-28 17:50:50.206555390 +0000 +++ log/13/check-generated 2026-01-28 17:50:50.206555390 +0000 @@ -1 +0,0 @@ -contents in a single file[LF] == Contents of files in the log/13/ 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/13/valgrind1220 ../src/curl -q --trace-ascii log/13/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/13/test1220.txt?a_query=foobar#afragment > log/13/stdout1220 2> log/13/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 ==144864== ==144864== Process terminating with default action of signal 4 (SIGILL) ==144864== Illegal opcode at address 0x4014520 ==144864== at 0x4014520: getparameter (tool_getparam.c:2862) ==144864== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144864== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144864== by 0x4003728: main (tool_main.c:186) === End of file valgrind1220 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/2/valgrind1218 ../src/curl -q --output log/2/curl1218.out --include --trace-ascii log/2/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:38779 > log/2/stdout1218 2> log/2/stderr1218 1218: 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 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/2/valgrind1218 ../src/curl -q --output log/2/curl1218.out --include --trace-ascii log/2/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:38779 > log/2/stdout1218 2> log/2/stderr1218 === End of file commands.log === Start of file http_server.log 17:50:47.852935 ====> Client connect 17:50:47.852991 accept_connection 3 returned 4 17:50:47.853011 accept_connection 3 returned 0 17:50:47.853029 Read 93 bytes 17:50:47.853039 Process 93 bytes request 17:50:47.853052 Got request: GET /verifiedserver HTTP/1.1 17:50:47.853061 Are-we-friendly question received 17:50:47.853088 Wrote request (93 bytes) input to log/2/server.input 17:50:47.853107 Identifying ourselves as friends 17:50:47.853195 Response sent (56 bytes) and written to log/2/server.response 17:50:47.853208 special request received, no persistency 17:50:47.853216 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 41116 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1218 ==144768== ==144768== Process terminating with default action of signal 4 (SIGILL) ==144768== Illegal opcode at address 0x4014520 ==144768== at 0x4014520: getparameter (tool_getparam.c:2862) ==144768== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144768== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144768== by 0x4003728: main (tool_main.c:186) === 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/17/valgrind1236 ../src/curl -q --output log/17/curl1236.out --include --trace-ascii log/17/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/17/stdout1236 2> log/17/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/1/valgrind1226 ../src/curl -q --output log/1/curl1226.out --include --trace-ascii log/1/trace1226 --trace-time ftp://127.0.0.1:39965//1226 --ftp-method singlecwd > log/1/stdout1226 2> log/1/stderr1226 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/16/valgrind1223 ../src/curl -q --include --trace-ascii log/16/trace1223 --trace-time http://127.0.0.1:40899/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/16/stdout1223 2> log/16/stderr1223 1223: stdout FAILED: --- log/16/check-expected 2026-01-28 17:50:50.633222057 +0000 +++ log/16/check-generated 2026-01-28 17:50:50.633222057 +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 40899[LF] == Contents of files in the log/16/ 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 40899[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/valgrind1223 ../src/curl -q --include --trace-ascii log/16/trace1223 --trace-time http://127.0.0.1:40899/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/16/stdout1223 2> log/16/stderr1223 === End of file commands.log === Start of file http_server.log 17:50:48.312405 ====> Client connect 17:50:48.312444 accept_connection 3 returned 4 17:50:48.312462 accept_connection 3 returned 0 17:50:48.312477 Read 93 bytes 17:50:48.312486 Process 93 bytes request 17:50:48.312499 Got request: GET /verifiedserver HTTP/1.1 17:50:48.312508 Are-we-friendly question received 17:50:48.312675 Wrote request (93 bytes) input to log/16/server.input 17:50:48.312696 Identifying ourselves as friends 17:50:48.312766 Response sent (56 bytes) and written to log/16/server.response 17:50:48.312776 special request received, no persistency 17:50:48.312785 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 36406 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind1223 ==145032== ==145032== Process terminating with default action of signal 4 (SIGILL) ==145032== Illegal opcode at address 0x4014520 ==145032== at 0x4014520: getparameter (tool_getparam.c:2862) ==145032== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145032== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145032== by 0x4003728: main (tool_main.c:186) === End of file valgrind1223 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/17/valgrind1236 ../src/curl -q --output log/17/curl1236.out --include --trace-ascii log/17/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/17/stdout1236 2> log/17/stderr1236 curl returned 132, when expecting 3 1236: exit FAILED == Contents of files in the log/17/ 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/17/valgrind1236 ../src/curl -q --output log/17/curl1236.out --include --trace-ascii log/17/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/17/stdout1236 2> log/17/stderr1236 === End of file commands.log === Start of file server.cmd Testnum 1236 === End of file server.cmd === Start of file valgrind1236 ==145485== ==145485== Process terminating with default action of signal 4 (SIGILL) ==145485== Illegal opcode at address 0x4014520 ==145485== at 0x4014520: getparameter (tool_getparam.c:2862) ==145485== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145485== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145485== by 0x4003728: main (tool_main.c:186) === End of file valgrind1236 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/1/valgrind1226 ../src/curl -q --output log/1/curl1226.out --include --trace-ascii log/1/trace1226 --trace-time ftp://127.0.0.1:39965//1226 --ftp-method singlecwd > log/1/stdout1226 2> log/1/stderr1226 1226: 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 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/1/valgrind1226 ../src/curl -q --output log/1/curl1226.out --include --trace-ascii log/1/trace1226 --trace-time ftp://127.0.0.1:39965//1226 --ftp-method singlecwd > log/1/stdout1226 2> log/1/stderr1226 === End of file commands.log === Start of file ftp_server.log 17:50:48.550019 ====> Client connect 17:50:48.550318 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:48.550590 < "USER anonymous" 17:50:48.550630 > "331 We are happy you popped in![CR][LF]" 17:50:48.550804 < "PASS ftp@example.com" 17:50:48.550835 > "230 Welcome you silly person[CR][LF]" 17:50:48.550990 < "PWD" 17:50:48.551023 > "257 "/" is current directory[CR][LF]" 17:50:48.551180 < "EPSV" 17:50:48.551206 ====> Passive DATA channel requested by client 17:50:48.551221 DATA sockfilt for passive data channel starting... 17:50:48.558825 DATA sockfilt for passive data channel started (pid 145067) 17:50:48.558956 DATA sockfilt for passive data channel listens on port 43497 17:50:48.559008 > "229 Entering Passive Mode (|||43497|)[CR][LF]" 17:50:48.559024 Client has been notified that DATA conn will be accepted on port 43497 17:50:48.559329 Client connects to port 43497 17:50:48.559361 ====> Client established passive DATA connection on port 43497 17:50:48.559453 < "TYPE I" 17:50:48.559488 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:48.559637 < "SIZE verifiedserver" 17:50:48.559671 > "213 17[CR][LF]" 17:50:48.559801 < "RETR verifiedserver" 17:50:48.559831 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:48.559908 =====> Closing passive DATA connection... 17:50:48.559922 Server disconnects passive DATA connection 17:50:48.564355 Server disconnected passive DATA connection 17:50:48.572653 DATA sockfilt for passive data channel quits (pid 145067) 17:50:48.573660 DATA sockfilt for passive data channel quit (pid 145067) 17:50:48.573697 =====> Closed passive DATA connection 17:50:48.573742 > "226 File transfer complete[CR][LF]" 17:50:48.604062 < "QUIT" 17:50:48.604118 > "221 bye bye baby[CR][LF]" 17:50:48.605639 MAIN sockfilt said DISC 17:50:48.605681 ====> Client disconnected 17:50:48.605750 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:48.395771 ====> Client connect 17:50:4CMD (33792): ../libtool --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/valgrind1224 ../src/curl -q --output log/11/curl1224.out --include --trace-ascii log/11/trace1224 --trace-time ftp://127.0.0.1:36233//1224 > log/11/stdout1224 2> log/11/stderr1224 8.396511 Received DATA (on stdin) 17:50:48.396525 > 146 bytes data, server => client 17:50:48.396540 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:48.396551 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:48.396561 '220 \___|\___/|_| \_\_____|\r\n' 17:50:48.396635 < 16 bytes data, client => server 17:50:48.396647 'USER anonymous\r\n' 17:50:48.396813 Received DATA (on stdin) 17:50:48.396824 > 33 bytes data, server => client 17:50:48.396834 '331 We are happy you popped in!\r\n' 17:50:48.396884 < 22 bytes data, client => server 17:50:48.396895 'PASS ftp@example.com\r\n' 17:50:48.397014 Received DATA (on stdin) 17:50:48.397025 > 30 bytes data, server => client 17:50:48.397036 '230 Welcome you silly person\r\n' 17:50:48.397084 < 5 bytes data, client => server 17:50:48.397094 'PWD\r\n' 17:50:48.397202 Received DATA (on stdin) 17:50:48.397211 > 30 bytes data, server => client 17:50:48.397221 '257 "/" is current directory\r\n' 17:50:48.397274 < 6 bytes data, client => server 17:50:48.397286 'EPSV\r\n' 17:50:48.405210 Received DATA (on stdin) 17:50:48.405227 > 39 bytes data, server => client 17:50:48.405236 '229 Entering Passive Mode (|||43497|)\r\n' 17:50:48.405454 < 8 bytes data, client => server 17:50:48.405464 'TYPE I\r\n' 17:50:48.405666 Received DATA (on stdin) 17:50:48.405676 > 33 bytes data, server => client 17:50:48.405685 '200 I modify TYPE as you wanted\r\n' 17:50:48.405736 < 21 bytes data, client => server 17:50:48.405745 'SIZE verifiedserver\r\n' 17:50:48.405847 Received DATA (on stdin) 17:50:48.405856 > 8 bytes data, server => client 17:50:48.405864 '213 17\r\n' 17:50:48.405905 < 21 bytes data, client => server 17:50:48.405914 'RETR verifiedserver\r\n' 17:50:48.406191 Received DATA (on stdin) 17:50:48.406371 > 29 bytes data, server => client 17:50:48.406448 '150 Binary junk (17 bytes).\r\n' 17:50:48.419937 Received DATA (on stdin) 17:50:48.419955 > 28 bytes data, server => client 17:50:48.419966 '226 File transfer complete\r\n' 17:50:48.449807 < 6 bytes data, client => server 17:50:48.449830 'QUIT\r\n' 17:50:48.450307 Received DATA (on stdin) 17:50:48.450326 > 18 bytes data, server => client 17:50:48.450336 '221 bye bye baby\r\n' 17:50:48.451755 ====> Client disconnect 17:50:48.451930 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:48.403696 Running IPv4 version 17:50:48.403784 Listening on port 43497 17:50:48.403829 Wrote pid 145067 to log/1/server/ftp_sockdata.pid 17:50:48.404929 Received PING (on stdin) 17:50:48.405042 Received PORT (on stdin) 17:50:48.405426 ====> Client connect 17:50:48.406101 Received DATA (on stdin) 17:50:48.406112 > 17 bytes data, server => client 17:50:48.406121 'WE ROOLZ: 81139\r\n' 17:50:48.406145 Received DISC (on stdin) 17:50:48.406166 ====> Client forcibly disconnected 17:50:48.419512 Received QUIT (on stdin) 17:50:48.419546 quits 17:50:48.419639 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1226 === End of file server.cmd === Start of file valgrind1226 ==145118== ==145118== Process terminating with default action of signal 4 (SIGILL) ==145118== Illegal opcode at address 0x4014520 ==145118== at 0x4014520: getparameter (tool_getparam.c:2862) ==145118== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145118== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145118== by 0x4003728: main (tool_main.c:186) === End of file valgrind1226 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/11/valgrind1224 ../src/curl -q --output log/11/curl1224.out --include --trace-ascii log/11/trace1224 --trace-time ftp://127.0.0.1:36233//1224 > log/11/stdout1224 2> log/11/stderr1224 1224: 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 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/11/valgrind1224 ../src/curl -q --output log/11/curl1224.out --include --trace-ascii log/11/trace1224 --trace-time ftp://127.0.0.1:36233//1224 > log/11/stdout1224 2> log/11/stderr1224 === End of file commands.log === Start of file ftp_server.log 17:50:48.525961 ====> Client connect 17:50:48.526136 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:48.526438 < "USER anonymous" 17:50:48.526483 > "331 We are happy you popped in![CR][LF]" 17:50:48.526999 < "PASS ftp@example.com" 17:50:48.527033 > "230 Welcome you silly person[CR][LF]" 17:50:48.527193 < "PWD" 17:50:48.527226 > "257 "/" is current directory[CR][LF]" 17:50:48.527391 < "EPSV" 17:50:48.527417 ====> Passive DATA channel requested by client 17:50:48.527431 DATA sockfilt for passive data channel starting... 17:50:48.530426 DATA sockfilt for passive data channel started (pid 145047) 17:50:48.530539 DATA sockfilt for passive data channel listens on port 46853 17:50:48.530585 > "229 Entering Passive Mode (|||46853|)[CR][LF]" 17:50:48.530605 Client has been notified that DATA conn will be accepted on port 46853 17:50:48.530862 Client connects to port 46853 17:50:48.530893 ====> Client established passive DATA connection on port 46853 17:50:48.530970 < "TYPE I" 17:50:48.531040 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:48.531219 < "SIZE verifiedserver" 17:50:48.531255 > "213 17[CR][LF]" 17:50:48.531399 < "RETR verifiedserver" 17:50:48.531432 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:48.531517 =====> Closing passive DATA connection... 17:50:48.531534 Server disconnects passive DATA connection 17:50:48.532067 Server disconnected passive DATA connection 17:50:48.532097 DATA sockfilt for passive data channel quits (pid 145047) 17:50:48.532385 DATA sockfilt for passive data channel quit (pid 145047) 17:50:48.532452 =====> Closed passive DATA connection 17:50:48.532485 > "226 File transfer complete[CR][LF]" 17:50:48.576819 < "QUIT" 17:50:48.576888 > "221 bye bye baby[CR][LF]" 17:50:48.578366 MAIN sockfilt said DISC 17:50:48.578410 ====> Client disconnected 17:50:48.578500 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:48.372010 ====> Client connect 17:50:48.372333 Received DATA (on stdin) 17:50:48.372348 > 146 bytes data, server => client 17:50:48.372361 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:48.372371 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:48.372381 '220 \___|\___/|_| \_\_____|\r\n' 17:50:48.372467 < 16 bytes data, client => server 17:50:48.372479 'USER anonymous\r\n' 17:50:48.372948 Received DATA (on stdin) 17:50:48.372967 > 33 bytes data, server => client 17:50:48.372978 '331 We are happy you popped in!\r\n' 17:50:48.373067 < 22 bytes data, client => server 17:50:48.373079 'PASS ftp@example.com\r\n' 17:50:48.373214 Received DATA (on stdin) 17:50:48.373225 > 30 bytes data, server => client 17:50:48.373236 '230 Welcome you silly person\r\n' 17:50:48.373285 < 5 bytes data, client => server 17:50:48.373296 'PWD\r\n' 17:50:48.373405 Received DATA (on stdin) 17:50:48.373416 > 30 bytes data, server => client 17:50:48.373427 '257 "/" is current directory\r\n' 17:50:48.373485 < 6 bytes data, client => server 17:50:48.373496 'EPSV\r\n' 17:50:48.376790 Received DATA (on stdin) 17:50:48.376804 > 39 bytes data, server => client 17:50:48.376815 '229 Entering Passive Mode (|||46853|)\r\n' 17:50:48.376963 < 8 bytes data, client => server 17:50:48.376978 'TYPE I\r\n' 17:50:48.377223 Received DATA (on stdin) 17:50:48.377234 > 33 bytes data, server => client 17:50:48.377245 '200 I modify TYPCMD (33792): ../libtool --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/valgrind1232 ../src/curl -q --output log/20/curl1232.out --include --trace-ascii log/20/trace1232 --trace-time --proxy http://127.0.0.1:46725 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/20/stdout1232 2> log/20/stderr1232 CMD (33792): ../libtool --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/valgrind1231 ../src/curl -q --output log/19/curl1231.out --include --trace-ascii log/19/trace1231 --trace-time http://127.0.0.1:36987/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:36987/../../hej/but/who/../12310001#/../12310001 > log/19/stdout1231 2> log/19/stderr1231 E as you wanted\r\n' 17:50:48.377308 < 21 bytes data, client => server 17:50:48.377320 'SIZE verifiedserver\r\n' 17:50:48.377434 Received DATA (on stdin) 17:50:48.377444 > 8 bytes data, server => client 17:50:48.377452 '213 17\r\n' 17:50:48.377499 < 21 bytes data, client => server 17:50:48.377509 'RETR verifiedserver\r\n' 17:50:48.377714 Received DATA (on stdin) 17:50:48.377725 > 29 bytes data, server => client 17:50:48.377736 '150 Binary junk (17 bytes).\r\n' 17:50:48.378668 Received DATA (on stdin) 17:50:48.378682 > 28 bytes data, server => client 17:50:48.378693 '226 File transfer complete\r\n' 17:50:48.419768 < 6 bytes data, client => server 17:50:48.419806 'QUIT\r\n' 17:50:48.423088 Received DATA (on stdin) 17:50:48.423111 > 18 bytes data, server => client 17:50:48.423123 '221 bye bye baby\r\n' 17:50:48.424477 ====> Client disconnect 17:50:48.424689 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:48.376287 Running IPv4 version 17:50:48.376353 Listening on port 46853 17:50:48.376389 Wrote pid 145047 to log/11/server/ftp_sockdata.pid 17:50:48.376549 Received PING (on stdin) 17:50:48.376633 Received PORT (on stdin) 17:50:48.376998 ====> Client connect 17:50:48.378064 Received DATA (on stdin) 17:50:48.378084 > 17 bytes data, server => client 17:50:48.378095 'WE ROOLZ: 80983\r\n' 17:50:48.378127 Received DISC (on stdin) 17:50:48.378140 ====> Client forcibly disconnected 17:50:48.378327 Received QUIT (on stdin) 17:50:48.378343 quits 17:50:48.378412 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1224 === End of file server.cmd === Start of file valgrind1224 ==145087== ==145087== Process terminating with default action of signal 4 (SIGILL) ==145087== Illegal opcode at address 0x4014520 ==145087== at 0x4014520: getparameter (tool_getparam.c:2862) ==145087== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145087== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145087== by 0x4003728: main (tool_main.c:186) === End of file valgrind1224 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/20/valgrind1232 ../src/curl -q --output log/20/curl1232.out --include --trace-ascii log/20/trace1232 --trace-time --proxy http://127.0.0.1:46725 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/20/stdout1232 2> log/20/stderr1232 1232: 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 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/20/valgrind1232 ../src/curl -q --output log/20/curl1232.out --include --trace-ascii log/20/trace1232 --trace-time --proxy http://127.0.0.1:46725 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/20/stdout1232 2> log/20/stderr1232 === End of file commands.log === Start of file http_server.log 17:50:48.582906 ====> Client connect 17:50:48.582956 accept_connection 3 returned 4 17:50:48.582975 accept_connection 3 returned 0 17:50:48.582992 Read 93 bytes 17:50:48.583002 Process 93 bytes request 17:50:48.583016 Got request: GET /verifiedserver HTTP/1.1 17:50:48.583025 Are-we-friendly question received 17:50:48.583055 Wrote request (93 bytes) input to log/20/server.input 17:50:48.583073 Identifying ourselves as friends 17:50:48.583162 Response sent (56 bytes) and written to log/20/server.response 17:50:48.583174 special request received, no persistency 17:50:48.583183 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 40670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1232 ==145350== ==145350== Process terminating with default action of signal 4 (SIGILL) ==145350== Illegal opcode at address 0x4014520 ==145350== at 0x4014520: getparameter (tool_getparam.c:2862) ==145350== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145350== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145350== by 0x4003728: main (tool_main.c:186) === End of file valgrind1232 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/19/valgrind1231 ../src/curl -q --output log/19/curl1231.out --include --trace-ascii log/19/trace1231 --trace-time http://127.0.0.1:36987/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:36987/../../hej/but/who/../12310001#/../12310001 > log/19/stdout1231 2> log/19/stderr1231 1231: 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 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/19/valgrind1231 ../src/curl -q --output log/19/curl1231.out --include --trace-ascii log/19/trace1231 --trace-time http://127.0.0.1:36987/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:36987/../../hej/but/who/../12310001#/../12310001 > log/19/stdout1231 2> log/19/stderr1231 === End of file commands.log === Start of file http_server.log 17:50:48.546353 ====> Client connect 17:50:48.546401 accept_connection 3 returned 4 17:50:48.546419 accept_connection 3 returned 0 17:50:48.546436 Read 93 bytes 17:50:48.546446 Process 93 bytes request 17:50:48.546461 Got request: GET /verifiedserver HTTP/1.1 17:50:48.546470 Are-we-friendly question received 17:50:48.546501 Wrote request (93 bytes) input to log/19/server.input 17:50:48.546520 Identifying ourselves as friends 17:50:48.546605 Response sent (56 bytes) and written to log/19/server.response 17:50:48.546618 special request received, no persistency 17:50:48.546626 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 50856 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1231 ==145296== ==145296== Process terminating with default action of signal 4 (SIGILL) ==145CMD (33792): ../libtool --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/valgrind1229 ../src/curl -q --output log/8/curl1229.out --include --trace-ascii log/8/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:42045/1229 --digest > log/8/stdout1229 2> log/8/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/valgrind1227 ../src/curl -q --output log/24/curl1227.out --include --trace-ascii log/24/trace1227 --trace-time ftp://127.0.0.1:39525//1227 --ftp-method nocwd > log/24/stdout1227 2> log/24/stderr1227 296== Illegal opcode at address 0x4014520 ==145296== at 0x4014520: getparameter (tool_getparam.c:2862) ==145296== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145296== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145296== by 0x4003728: main (tool_main.c:186) === End of file valgrind1231 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/8/valgrind1229 ../src/curl -q --output log/8/curl1229.out --include --trace-ascii log/8/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:42045/1229 --digest > log/8/stdout1229 2> log/8/stderr1229 1229: 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 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/8/valgrind1229 ../src/curl -q --output log/8/curl1229.out --include --trace-ascii log/8/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:42045/1229 --digest > log/8/stdout1229 2> log/8/stderr1229 === End of file commands.log === Start of file http_server.log 17:50:48.529243 ====> Client connect 17:50:48.529278 accept_connection 3 returned 4 17:50:48.529294 accept_connection 3 returned 0 17:50:48.529435 Read 93 bytes 17:50:48.529448 Process 93 bytes request 17:50:48.529461 Got request: GET /verifiedserver HTTP/1.1 17:50:48.529470 Are-we-friendly question received 17:50:48.529546 Wrote request (93 bytes) input to log/8/server.input 17:50:48.529563 Identifying ourselves as friends 17:50:48.529620 Response sent (56 bytes) and written to log/8/server.response 17:50:48.529629 special request received, no persistency 17:50:48.529637 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 60146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind1229 ==145261== ==145261== Process terminating with default action of signal 4 (SIGILL) ==145261== Illegal opcode at address 0x4014520 ==145261== at 0x4014520: getparameter (tool_getparam.c:2862) ==145261== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145261== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145261== by 0x4003728: main (tool_main.c:186) === End of file valgrind1229 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/24/valgrind1227 ../src/curl -q --output log/24/curl1227.out --include --trace-ascii log/24/trace1227 --trace-time ftp://127.0.0.1:39525//1227 --ftp-method nocwd > log/24/stdout1227 2> log/24/stderr1227 1227: 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 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/24/valgrind1227 ../src/curl -q --output log/24/curl1227.out --include --trace-ascii log/24/trace1227 --trace-time ftp://127.0.0.1:39525//1227 --ftp-method nocwd > log/24/stdout1227 2> log/24/stderr1227 === End of file commands.log === Start of file ftp_server.log 17:50:48.686767 ====> Client connect 17:50:48.686929 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:48.690898 < "USER anonymous" 17:50:48.690956 > "331 We are happy you popped in![CR][LF]" 17:50:48.691161 < "PASS ftp@example.com" 17:50:48.691198 > "230 Welcome you silly person[CR][LF]" 17:50:48.691371 < "PWD" 17:50:48.691405 > "257 "/" is current directory[CR][LF]" 17:50:48.691565 < "EPSV" 17:50:48.691590 ====> Passive DATA channel requested by client 17:50:48.691603 DATA sockfilt for passive data channel starting... 17:50:48.696695 DATA sockfilt for passive data channel started (pid 145230) 17:50:48.696863 DATA sockfilt for passive data channel listens on port 37157 17:50:48.696918 > "229 Entering Passive Mode (|||37157|)[CR][LF]" 17:50:48.696937 Client has been notified that DATA conn will be accepted on port 37157 17:50:48.697261 Client connects to port 37157 17:50:48.697297 ====> Client established passive DATA connection on port 37157 17:50:48.697392 < "TYPE I" 17:50:48.697430 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:48.697619 < "SIZE verifiedserver" 17:50:48.697666 > "213 17[CR][LF]" 17:50:48.697834 < "RETR verifiedserver" 17:50:48.697875 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:48.697971 =====> Closing passive DATA connection... 17:50:48.697988 Server disconnects passive DATA connection 17:50:48.698149 Server disconnected passive DATA connection 17:50:48.698175 DATA sockfilt for passive data channel quits (pid 145230) 17:50:48.698414 DATA sockfilt for passive data channel quit (pid 145230) 17:50:48.698439 =====> Closed passive DATA connection 17:50:48.698471 > "226 File transfer complete[CR][LF]" 17:50:48.743623 < "QUIT" 17:50:48.743681 > "221 bye bye baby[CR][LF]" 17:50:48.744862 MAIN sockfilt said DISC 17:50:48.744904 ====> Client disconnected 17:50:48.744998 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:49.532845 ====> Client connect 17:50:49.533122 Received DATA (on stdin) 17:50:49.533136 > 146 bytes data, server => client 17:50:49.533147 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:49.533157 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:49.533165 '220 \___|\___/|_| \_\_____|\r\n' 17:50:49.536887 < 16 bytes data, client => server 17:50:49.536911 'USER anonymous\r\n' 17:50:49.537146 Received DATA (on stdin) 17:50:49.537159 > 33 bytes data, server => client 17:50:49.537169 '331 We are happy you popped in!\r\n' 17:50:49.537229 < 22 bytes data, client => server 17:50:49.537240 'PASS ftp@example.com\r\n' 17:50:49.537379 Received DATA (on stdin) 17:50:49.537390 > 30 bytes data, server => client 17:50:49.537400 '230 Welcome you silly person\r\n' 17:50:49.537455 < 5 bytes data, client => server 17:50:49.537466 'PWD\r\n' 17:50:49.537583 Received DATA (on stdin) 17:50:49.537594 > 30 bytes data, server => client 17:50:49.537603 '257 "/" is current directory\r\n' 17:50:49.537661 < 6 bytes data, client => server 17:50:49.537672 'EPSV\r\n' 17:50:49.543125 Received DATA (on stdin) 17:50:49.543141 > 39 bytes data, server => client 17:50:49.543151 '229 Entering Passive Mode (|||37157|)\r\n' 17:50:49.543354 < 8 bytes data, client => server 17:50:49.543370 'TYPE I\r\n' 17:50:49.543612 Received DATA (on stdin) 17:50:49.543624 > 33 bytes data, server => client 17:50:49.543635 '200 I modify TYPE as you wanted\r\n' 17:50:49.543696 < 21 bytes data, client => server 17:50:49.543707 'SIZE verifiedserver\r\n' 17:50:49.543847 Received DATA (on stdin) 17:50:49.543858 > 8 bytes data, server => client 17:50:49.543868 '213 17\r\n' 17:50:49.543CMD (33792): ../libtool --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/valgrind1233 ../src/curl -q --output log/22/curl1233.out --include --trace-ascii log/22/trace1233 --trace-time ftp://127.0.0.1:44871/1233 > log/22/stdout1233 2> log/22/stderr1233 921 < 21 bytes data, client => server 17:50:49.543932 'RETR verifiedserver\r\n' 17:50:49.544169 Received DATA (on stdin) 17:50:49.544180 > 29 bytes data, server => client 17:50:49.544190 '150 Binary junk (17 bytes).\r\n' 17:50:49.544653 Received DATA (on stdin) 17:50:49.544664 > 28 bytes data, server => client 17:50:49.544675 '226 File transfer complete\r\n' 17:50:49.589618 < 6 bytes data, client => server 17:50:49.589655 'QUIT\r\n' 17:50:49.589863 Received DATA (on stdin) 17:50:49.589873 > 18 bytes data, server => client 17:50:49.589882 '221 bye bye baby\r\n' 17:50:49.590982 ====> Client disconnect 17:50:49.591644 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:48.539582 Running IPv4 version 17:50:48.539645 Listening on port 37157 17:50:48.539683 Wrote pid 145230 to log/24/server/ftp_sockdata.pid 17:50:48.540945 Received PING (on stdin) 17:50:48.542939 Received PORT (on stdin) 17:50:48.543391 ====> Client connect 17:50:48.544215 Received DATA (on stdin) 17:50:48.544229 > 17 bytes data, server => client 17:50:48.544239 'WE ROOLZ: 81152\r\n' 17:50:48.544265 Received DISC (on stdin) 17:50:48.544277 ====> Client forcibly disconnected 17:50:48.544361 Received QUIT (on stdin) 17:50:48.544371 quits 17:50:48.544450 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1227 === End of file server.cmd === Start of file valgrind1227 ==145359== ==145359== Process terminating with default action of signal 4 (SIGILL) ==145359== Illegal opcode at address 0x4014520 ==145359== at 0x4014520: getparameter (tool_getparam.c:2862) ==145359== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145359== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145359== by 0x4003728: main (tool_main.c:186) === End of file valgrind1227 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/22/valgrind1233 ../src/curl -q --output log/22/curl1233.out --include --trace-ascii log/22/trace1233 --trace-time ftp://127.0.0.1:44871/1233 > log/22/stdout1233 2> log/22/stderr1233 1233: 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 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/22/valgrind1233 ../src/curl -q --output log/22/curl1233.out --include --trace-ascii log/22/trace1233 --trace-time ftp://127.0.0.1:44871/1233 > log/22/stdout1233 2> log/22/stderr1233 === End of file commands.log === Start of file ftp_server.log 17:50:48.886362 ====> Client connect 17:50:48.886553 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:48.886902 < "USER anonymous" 17:50:48.886954 > "331 We are happy you popped in![CR][LF]" 17:50:48.888111 < "PASS ftp@example.com" 17:50:48.888153 > "230 Welcome you silly person[CR][LF]" 17:50:48.888336 < "PWD" 17:50:48.888376 > "257 "/" is current directory[CR][LF]" 17:50:48.888554 < "EPSV" 17:50:48.888583 ====> Passive DATA channel requested by client 17:50:48.888597 DATA sockfilt for passive data channel starting... 17:50:48.891883 DATA sockfilt for passive data channel started (pid 145537) 17:50:48.892047 DATA sockfilt for passive data channel listens on port 45119 17:50:48.892117 > "229 Entering Passive Mode (|||45119|)[CR][LF]" 17:50:48.892142 Client has been notified that DATA conn will be accepted on port 45119 17:50:48.892448 Client connects to port 45119 17:50:48.892479 ====> Client established passive DATA connection on port 45119 17:50:48.892629 < "TYPE I" 17:50:48.892671 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:48.892864 < "SIZE verifiedserver" 17:50:48.892906 > "213 17[CR][LF]" 17:50:48.893083 < "RETR verifiedserver" 17:50:48.893120 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:48.893213 =====> Closing passive DATA connection... 17:50:48.893233 Server disconnects passive DATA connection 17:50:48.893485 Server disconnected passive DATA connection 17:50:48.893516 DATA sockfilt for passive data channel quits (pid 145537) 17:50:48.893996 DATA sockfilt for passive data channel quit (pid 145537) 17:50:48.894031 =====> Closed passive DATA connection 17:50:48.894062 > "226 File transfer complete[CR][LF]" 17:50:48.940312 < "QUIT" 17:50:48.940372 > "221 bye bye baby[CR][LF]" 17:50:48.956704 MAIN sockfilt said DISC 17:50:48.956815 ====> Client disconnected 17:50:48.956922 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:48.732406 ====> Client connect 17:50:48.732755 Received DATA (on stdin) 17:50:48.732774 > 146 bytes data, server => client 17:50:48.732786 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:48.732797 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:48.732807 '220 \___|\___/|_| \_\_____|\r\n' 17:50:48.732915 < 16 bytes data, client => server 17:50:48.732927 'USER anonymous\r\n' 17:50:48.733145 Received DATA (on stdin) 17:50:48.733160 > 33 bytes data, server => client 17:50:48.733171 '331 We are happy you popped in!\r\n' 17:50:48.733230 < 22 bytes data, client => server 17:50:48.733242 'PASS ftp@example.com\r\n' 17:50:48.734336 Received DATA (on stdin) 17:50:48.734350 > 30 bytes data, server => client 17:50:48.734360 '230 Welcome you silly person\r\n' 17:50:48.734415 < 5 bytes data, client => server 17:50:48.734426 'PWD\r\n' 17:50:48.734559 Received DATA (on stdin) 17:50:48.734571 > 30 bytes data, server => client 17:50:48.734582 '257 "/" is current directory\r\n' 17:50:48.734643 < 6 bytes data, client => server 17:50:48.734653 'EPSV\r\n' 17:50:48.738338 Received DATA (on stdin) 17:50:48.738359 > 39 bytes data, server => client 17:50:48.738372 '229 Entering Passive Mode (|||45119|)\r\n' 17:50:48.738684 < 8 bytes data, client => server 17:50:48.738697 'TYPE I\r\n' 17:50:48.738858 Received DATA (on stdin) 17:50:48.738871 > 33 bytes data, server => client 17:50:48.738882 '200 I modify TYPE as you wanted\r\n' 17:50:48.738942 < 21 bytes data, client => server 17:50:48.738958 'SIZE verifiedserver\r\n' 17:50:48.739091 Received DATA (on stdin) 17:50:48.739104 > 8 bytes data, server => client 17:50:48.739115 '213 17\r\n' 17:50:48.739170 < 21 bytes data, client => server 17:50:48.739183 'RETR verifiedserver\r\n' 17:50:48.739417 Received DATA (on stdin) 17:50:48.739430 > 29 bytes data, server => client 17:50:48.739441 '150 Binary junk (17 bytes).\r\n' 17:50:48.740246 Received DATA (on stdin) 17:50:48.740259 > 28 bytes data, server => client 17:50:48.740270 '226 File transfer complete\r\n' 17:50:48.786284 < 6 bytes data, client => server 17:50:48.786323 'QUIT\r\n' 17:50:48.786557 Received DATA (on stdin) 17:50:48.786569 > 18 bytes data, server => client 17:50:48.786580 '221 bye bye baby\r\n' 17:50:48.792842 ====> Client disconnect 17:50:48.806188 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:48.736671 Running IPv4 version 17:50:48.736767 Listening on port 45119 17:50:48.736812 Wrote pid 145537 to log/22/server/ftp_sockdata.pid 17:50:48.737990 Received PING (on stdin) 17:50:48.738107 Received PORT (on stdin) 17:50:48.738575 ====> Client connect 17:50:48.739470 Received DATA (on stdin) 17:50:48.739493 > 17 bytes data, server => client 17:50:48.739503 'WE ROOLZ: 81056\r\n' 17:50:48.739529 Received DISC (on stdin) 17:50:48.739541 ====> Client forcibly disconnected 17:50:48.739705 Received QUIT (on stdin) 17:50:48.739717 quits 17:50:48.739796 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd # Assuming there is nothing CMD (33792): ../libtool --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/valgrind1225 ../src/curl -q --output log/15/curl1225.out --include --trace-ascii log/15/trace1225 --trace-time ftp://127.0.0.1:44375//foo/1225 ftp://127.0.0.1:44375//foo/bar/1225 > log/15/stdout1225 2> log/15/stderr1225 CMD (33792): ../libtool --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/valgrind1234 ../src/curl -q --output log/4/curl1234.out --include --trace-ascii log/4/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/4/stdout1234 2> log/4/stderr1234 listening on port 1 REPLY EPSV 229 Entering Passive Mode (|||1|) Testnum 1233 === End of file server.cmd === Start of file valgrind1233 ==145720== ==145720== Process terminating with default action of signal 4 (SIGILL) ==145720== Illegal opcode at address 0x4014520 ==145720== at 0x4014520: getparameter (tool_getparam.c:2862) ==145720== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145720== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145720== by 0x4003728: main (tool_main.c:186) === End of file valgrind1233 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/15/valgrind1225 ../src/curl -q --output log/15/curl1225.out --include --trace-ascii log/15/trace1225 --trace-time ftp://127.0.0.1:44375//foo/1225 ftp://127.0.0.1:44375//foo/bar/1225 > log/15/stdout1225 2> log/15/stderr1225 1225: 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 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/15/valgrind1225 ../src/curl -q --output log/15/curl1225.out --include --trace-ascii log/15/trace1225 --trace-time ftp://127.0.0.1:44375//foo/1225 ftp://127.0.0.1:44375//foo/bar/1225 > log/15/stdout1225 2> log/15/stderr1225 === End of file commands.log === Start of file ftp_server.log 17:50:48.533355 ====> Client connect 17:50:48.533531 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:48.540377 < "USER anonymous" 17:50:48.540440 > "331 We are happy you popped in![CR][LF]" 17:50:48.540653 < "PASS ftp@example.com" 17:50:48.540691 > "230 Welcome you silly person[CR][LF]" 17:50:48.540873 < "PWD" 17:50:48.540912 > "257 "/" is current directory[CR][LF]" 17:50:48.541095 < "EPSV" 17:50:48.541125 ====> Passive DATA channel requested by client 17:50:48.541140 DATA sockfilt for passive data channel starting... 17:50:48.547066 DATA sockfilt for passive data channel started (pid 145062) 17:50:48.547211 DATA sockfilt for passive data channel listens on port 40659 17:50:48.547281 > "229 Entering Passive Mode (|||40659|)[CR][LF]" 17:50:48.547308 Client has been notified that DATA conn will be accepted on port 40659 17:50:48.550256 Client connects to port 40659 17:50:48.550296 ====> Client established passive DATA connection on port 40659 17:50:48.550410 < "TYPE I" 17:50:48.550452 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:48.550639 < "SIZE verifiedserver" 17:50:48.550684 > "213 17[CR][LF]" 17:50:48.550855 < "RETR verifiedserver" 17:50:48.550892 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:48.550986 =====> Closing passive DATA connection... 17:50:48.551006 Server disconnects passive DATA connection 17:50:48.551262 Server disconnected passive DATA connection 17:50:48.551295 DATA sockfilt for passive data channel quits (pid 145062) 17:50:48.551580 DATA sockfilt for passive data channel quit (pid 145062) 17:50:48.551610 =====> Closed passive DATA connection 17:50:48.551642 > "226 File transfer complete[CR][LF]" 17:50:48.600288 < "QUIT" 17:50:48.600345 > "221 bye bye baby[CR][LF]" 17:50:48.607846 MAIN sockfilt said DISC 17:50:48.607904 ====> Client disconnected 17:50:48.607976 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:48.376189 ====> Client connect 17:50:48.379733 Received DATA (on stdin) 17:50:48.379754 > 146 bytes data, server => client 17:50:48.379766 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:48.379776 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:48.379786 '220 \___|\___/|_| \_\_____|\r\n' 17:50:48.386297 < 16 bytes data, client => server 17:50:48.386337 'USER anonymous\r\n' 17:50:48.386630 Received DATA (on stdin) 17:50:48.386644 > 33 bytes data, server => client 17:50:48.386654 '331 We are happy you popped in!\r\n' 17:50:48.386721 < 22 bytes data, client => server 17:50:48.386733 'PASS ftp@example.com\r\n' 17:50:48.386875 Received DATA (on stdin) 17:50:48.386888 > 30 bytes data, server => client 17:50:48.386898 '230 Welcome you silly person\r\n' 17:50:48.386955 < 5 bytes data, client => server 17:50:48.386968 'PWD\r\n' 17:50:48.387094 Received DATA (on stdin) 17:50:48.387105 > 30 bytes data, server => client 17:50:48.387116 '257 "/" is current directory\r\n' 17:50:48.387182 < 6 bytes data, client => server 17:50:48.387195 'EPSV\r\n' 17:50:48.396169 Received DATA (on stdin) 17:50:48.396196 > 39 bytes data, server => client 17:50:48.396207 '229 Entering Passive Mode (|||40659|)\r\n' 17:50:48.396352 < 8 bytes data, client => server 17:50:48.396366 'TYPE I\r\n' 17:50:48.396636 Received DATA (on stdin) 17:50:48.396649 > 33 bytes data, server => client 17:50:48.396659 '200 I modify TYPE as you wanted\r\n' 17:50:48.396720 < 21 bytes data, client => server 17:50:48.396732 'SIZE verifiedserver\r\n' 17:50:48.396868 Received DATA (on stdin) 17:50:48.396879 > 8 bytes data, server => client 17:50:48.396889 '213 17\r\n' 17:50:48.396943 < 21 bytes data, client => server 17:50:48.396956 'RETR verifiedserver\r\n' 17:50:48.397192 Received DATA (on stdin) 17:50:48.397204 > 29 bytes data, server => client 17:50:48.397214 '150 Binary junk (17 bytes).\r\n' 17:50:48.397826 Received DATA (on stdin) 17:50:48.397839 > 28 bytes data, server => client 17:50:48.397849 '226 File transfer complete\r\n' 17:50:48.446300 < 6 bytes data, client => server 17:50:48.446326 'QUIT\r\n' 17:50:48.446537 Received DATA (on stdin) 17:50:48.446552 > 18 bytes data, server => client 17:50:48.446563 '221 bye bye baby\r\n' 17:50:48.453948 ====> Client disconnect 17:50:48.454160 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:48.391788 Running IPv4 version 17:50:48.391880 Listening on port 40659 17:50:48.391918 Wrote pid 145062 to log/15/server/ftp_sockdata.pid 17:50:48.393172 Received PING (on stdin) 17:50:48.393290 Received PORT (on stdin) 17:50:48.396386 ====> Client connect 17:50:48.397276 Received DATA (on stdin) 17:50:48.397291 > 17 bytes data, server => client 17:50:48.397301 'WE ROOLZ: 81145\r\n' 17:50:48.397328 Received DISC (on stdin) 17:50:48.397339 ====> Client forcibly disconnected 17:50:48.397484 Received QUIT (on stdin) 17:50:48.397495 quits 17:50:48.397566 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1225 === End of file server.cmd === Start of file valgrind1225 ==145135== ==145135== Process terminating with default action of signal 4 (SIGILL) ==145135== Illegal opcode at address 0x4014520 ==145135== at 0x4014520: getparameter (tool_getparam.c:2862) ==145135== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145135== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145135== by 0x4003728: main (tool_main.c:186) === End of file valgrind1225 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/4/valgrind1234 ../src/curl -q --output log/4/curl1234.out --include --trace-ascii log/4/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/4/stdout1234 2> log/4/stderr1234 curl returned 132, when expecting 3 1234: exit FAILED == Contents of files in the log/4/ 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/4/valgrind1234 ../src/curl -q --output log/4/curl1234.out --include --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/18/valgrind1228 ../src/curl -q --output log/18/curl1228.out --include --trace-ascii log/18/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:34067 > log/18/stdout1228 2> log/18/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/14/valgrind1221 ../src/curl -q --output log/14/curl1221.out --include --trace-ascii log/14/trace1221 --trace-time http://127.0.0.1:37569/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/14/1221.txt" --url-query @log/14/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/14/stdout1221 2> log/14/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/10/valgrind1239 ../src/curl -q --include --trace-ascii log/10/trace1239 --trace-time http://127.0.0.1:32889/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/10/stdout1239 2> log/10/stderr1239 -ascii log/4/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/4/stdout1234 2> log/4/stderr1234 === End of file commands.log === Start of file server.cmd Testnum 1234 === End of file server.cmd === Start of file valgrind1234 ==145450== ==145450== Process terminating with default action of signal 4 (SIGILL) ==145450== Illegal opcode at address 0x4014520 ==145450== at 0x4014520: getparameter (tool_getparam.c:2862) ==145450== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145450== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145450== by 0x4003728: main (tool_main.c:186) === End of file valgrind1234 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/18/valgrind1228 ../src/curl -q --output log/18/curl1228.out --include --trace-ascii log/18/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:34067 > log/18/stdout1228 2> log/18/stderr1228 1228: 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 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/18/valgrind1228 ../src/curl -q --output log/18/curl1228.out --include --trace-ascii log/18/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:34067 > log/18/stdout1228 2> log/18/stderr1228 === End of file commands.log === Start of file http_server.log 17:50:48.507076 ====> Client connect 17:50:48.507115 accept_connection 3 returned 4 17:50:48.507133 accept_connection 3 returned 0 17:50:48.507149 Read 93 bytes 17:50:48.507158 Process 93 bytes request 17:50:48.507172 Got request: GET /verifiedserver HTTP/1.1 17:50:48.507180 Are-we-friendly question received 17:50:48.507207 Wrote request (93 bytes) input to log/18/server.input 17:50:48.507223 Identifying ourselves as friends 17:50:48.507289 Response sent (56 bytes) and written to log/18/server.response 17:50:48.507299 special request received, no persistency 17:50:48.507307 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 58672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1228 ==145223== ==145223== Process terminating with default action of signal 4 (SIGILL) ==145223== Illegal opcode at address 0x4014520 ==145223== at 0x4014520: getparameter (tool_getparam.c:2862) ==145223== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145223== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145223== by 0x4003728: main (tool_main.c:186) === End of file valgrind1228 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/14/valgrind1221 ../src/curl -q --output log/14/curl1221.out --include --trace-ascii log/14/trace1221 --trace-time http://127.0.0.1:37569/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/14/1221.txt" --url-query @log/14/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/14/stdout1221 2> log/14/stderr1221 1221: 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 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/14/valgrind1221 ../src/curl -q --output log/14/curl1221.out --include --trace-ascii log/14/trace1221 --trace-time http://127.0.0.1:37569/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/14/1221.txt" --url-query @log/14/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/14/stdout1221 2> log/14/stderr1221 === End of file commands.log === Start of file http_server.log 17:50:49.222872 ====> Client connect 17:50:49.222911 accept_connection 3 returned 4 17:50:49.222928 accept_connection 3 returned 0 17:50:49.222944 Read 93 bytes 17:50:49.222954 Process 93 bytes request 17:50:49.222969 Got request: GET /verifiedserver HTTP/1.1 17:50:49.222978 Are-we-friendly question received 17:50:49.223168 Wrote request (93 bytes) input to log/14/server.input 17:50:49.223194 Identifying ourselves as friends 17:50:49.223277 Response sent (56 bytes) and written to log/14/server.response 17:50:49.223289 special request received, no persistency 17:50:49.223298 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 44676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1221 ==144957== ==144957== Process terminating with default action of signal 4 (SIGILL) ==144957== Illegal opcode at address 0x4014520 ==144957== at 0x4014520: getparameter (tool_getparam.c:2862) ==144957== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==144957== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==144957== by 0x4003728: main (tool_main.c:186) === 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/7/valgrind1237 ../src/curl -q --output log/7/curl1237.out --include --trace-ascii log/7/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:35671/1237" > log/7/stdout1237 2> log/7/stderr1237 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/10/valgrind1239 ../src/curl -q --include --trace-ascii log/10/trace1239 --trace-time http://127.0.0.1:32889/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/10/stdout1239 2> log/10/stderr1239 1239: stdout FAILED: --- log/10/check-expected 2026-01-28 17:50:51.496555389 +0000 +++ log/10/check-generated 2026-01-28 17:50:51.496555389 +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/10/ 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/10/valgrind1239 ../src/curl -q --include --trace-ascii log/10/trace1239 --trace-time http://127.0.0.1:32889/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/10/stdout1239 2> log/10/stderr1239 === End of file commands.log === Start of file http_server.log 17:50:49.036260 ====> Client connect 17:50:49.036311 accept_connection 3 returned 4 17:50:49.036330 accept_connection 3 returned 0 17:50:49.036348 Read 93 bytes 17:50:49.036358 Process 93 bytes request 17:50:49.036374 Got request: GET /verifiedserver HTTP/1.1 17:50:49.036383 Are-we-friendly question received 17:50:49.036411 Wrote request (93 bytes) input to log/10/server.input 17:50:49.036428 Identifying ourselves as friends 17:50:49.036499 Response sent (56 bytes) and written to log/10/server.response 17:50:49.036510 special request received, no persistency 17:50:49.036519 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 35668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind1239 ==145889== ==145889== Process terminating with default action of signal 4 (SIGILL) ==145889== Illegal opcode at address 0x4014520 ==145889== at 0x4014520: getparameter (tool_getparam.c:2862) ==145889== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145889== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145889== by 0x4003728: main (tool_main.c:186) === End of file valgrind1239 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/7/valgrind1237 ../src/curl -q --output log/7/curl1237.out --include --trace-ascii log/7/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:35671/1237" > log/7/stdout1237 2> log/7/stderr1237 1237: 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 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/7/valgrind1237 ../src/curl -q --output log/7/curl1237.out --include --trace-ascii log/7/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCMD (33792): ../libtool --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/valgrind1235 ../src/curl -q --include --trace-ascii log/5/trace1235 --trace-time "127.0.0.1:46875/{1235,1235}{0001,0002}" > log/5/stdout1235 2> log/5/stderr1235 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:35671/1237" > log/7/stdout1237 2> log/7/stderr1237 === End of file commands.log === Start of file http_server.log 17:50:48.812066 ====> Client connect 17:50:48.812101 accept_connection 3 returned 4 17:50:48.812119 accept_connection 3 returned 0 17:50:48.812135 Read 93 bytes 17:50:48.812146 Process 93 bytes request 17:50:48.812158 Got request: GET /verifiedserver HTTP/1.1 17:50:48.812168 Are-we-friendly question received 17:50:48.812195 Wrote request (93 bytes) input to log/7/server.input 17:50:48.812214 Identifying ourselves as friends 17:50:48.812278 Response sent (56 bytes) and written to log/7/server.response 17:50:48.812290 special request received, no persistency 17:50:48.812299 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 32798 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1237 ==145685== ==145685== Process terminating with default action of signal 4 (SIGILL) ==145685== Illegal opcode at address 0x4014520 ==145685== at 0x4014520: getparameter (tool_getparam.c:2862) ==145685== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145685== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145685== by 0x4003728: main (tool_main.c:186) === End of file valgrind1237 CMD (33792): ../libtool --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/valgrind1240 ../src/curl -q --output log/3/curl1240.out --include --trace-ascii log/3/trace1240 --trace-time "127.0.0.1:45927/0[0-1]/1240" > log/3/stdout1240 2> log/3/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/valgrind1238 ../src/curl -q --output log/9/curl1238.out --include --trace-ascii log/9/trace1238 --trace-time tftp://127.0.0.1:39991//1238 -Y1000 -y2 > log/9/stdout1238 2> log/9/stderr1238 RUN: Process with pid 145674 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/valgrind1245 ../src/curl -q --output log/13/curl1245.out --include --trace-ascii log/13/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:43845/1245 > log/13/stdout1245 2> log/13/stderr1245 CMD (33792): ../libtool --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/valgrind1241 ../src/curl -q --output log/21/curl1241.out --include --trace-ascii log/21/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:41669 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/21/stdout1241 2> log/21/stderr1241 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/5/valgrind1235 ../src/curl -q --include --trace-ascii log/5/trace1235 --trace-time "127.0.0.1:46875/{1235,1235}{0001,0002}" > log/5/stdout1235 2> log/5/stderr1235 1235: stdout FAILED: --- log/5/check-expected 2026-01-28 17:50:51.689888723 +0000 +++ log/5/check-generated 2026-01-28 17:50:51.689888723 +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/5/ 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/5/valgrind1235 ../src/curl -q --include --trace-ascii log/5/trace1235 --trace-time "127.0.0.1:46875/{1235,1235}{0001,0002}" > log/5/stdout1235 2> log/5/stderr1235 === End of file commands.log === Start of file http_server.log 17:50:48.762921 ====> Client connect 17:50:48.762973 accept_connection 3 returned 4 17:50:48.762994 accept_connection 3 returned 0 17:50:48.763011 Read 93 bytes 17:50:48.763021 Process 93 bytes request 17:50:48.763035 Got request: GET /verifiedserver HTTP/1.1 17:50:48.763045 Are-we-friendly question received 17:50:48.763074 Wrote request (93 bytes) input to log/5/server.input 17:50:48.763092 Identifying ourselves as friends 17:50:48.763182 Response sent (56 bytes) and written to log/5/server.response 17:50:48.763195 special request received, no persistency 17:50:48.763204 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 35950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind1235 ==145671== ==145671== Process terminating with default action of signal 4 (SIGILL) ==145671== Illegal opcode at address 0x4014520 ==145671== at 0x4014520: getparameter (tool_getparam.c:2862) ==145671== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145671== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145671== by 0x4003728: main (tool_main.c:186) === 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/3/valgrind1240 ../src/curl -q --output log/3/curl1240.out --include --trace-ascii log/3/trace1240 --trace-time "127.0.0.1:45927/0[0-1]/1240" > log/3/stdout1240 2> log/3/stderr1240 1240: 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 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/3/valgrind1240 ../src/curl -q --output log/3/curl1240.out --include --trace-ascii log/3/trace1240 --trace-time "127.0.0.1:45927/0[0-1]/1240" > log/3/stdout1240 2> log/3/stderr1240 === End of file commands.log === Start of file http_server.log 17:50:49.362872 ====> Client connect 17:50:49.362912 accept_connection 3 returned 4 17:50:49.362933 accept_connection 3 returned 0 17:50:49.362950 Read 93 bytes 17:50:49.362960 Process 93 bytes request 17:50:49.362975 Got request: GET /verifiedserver HTTP/1.1 17:50:49.362984 Are-we-friendly question received 17:50:49.363015 Wrote request (93 bytes) input to log/3/server.input 17:50:49.363033 Identifying ourselves as friends 17:50:49.363135 Response sent (56 bytes) and written to log/3/server.response 17:50:49.363148 special request received, no persistency 17:50:49.363157 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 49560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1240 ==145972== ==145972== Process terminating with default action of signal 4 (SIGILL) ==145972== Illegal opcode at address 0x4014520 ==145972== at 0x4014520: getparameter (tool_getparam.c:2862) ==145972== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==145972== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==145972== by 0x4003728: main (tool_main.c:186) === End of file valgrind1240 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/13/valgrind1245 ../src/curl -q --output log/13/curl1245.out --include --trace-ascii log/13/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:43845/1245 > log/13/stdout1245 2> log/13/stderr1245 1245: 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 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/13/valgrind1245 ../src/curl -q --output log/13/curl1245.out --include --trace-ascii log/13/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:43845/1245 > log/13/stdout1245 2> log/13/stderr1245 === End of file commands.log === Start of file ftp_server.log 17:50:50.486823 ====> Client connect 17:50:50.487025 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:50.490289 < "USER anonymous" 17:50:50.490349 > "331 We are happy you popped in![CR][LF]" 17:50:50.490564 < "PASS ftp@example.com" 17:50:50.490600 > "230 Welcome you silly person[CR][LF]" 17:50:50.490764 < "PWD" 17:50:50.490802 > "257 "/" is current directory[CR][LF]" 17:50:50.490985 < "EPSV" 17:50:50.491013 ====> Passive DATA channel requested by client 17:50:50.491030 DATA sockfilt for passive data channel starting... 17:50:50.497970 DATA sockfilt for passive data channel started (pid 146261) 17:50:50.498137 DATA sockfilt for passive data channel listens on port 39873 17:50:50.498199 > "229 Entering Passive Mode (|||39873|)[CR][LF]" 17:50:50.498228 Client has been notified that DATA conn will be accepted on port 39873 17:50:50.498578 Client connects to port 39873 17:50:50.498615 ====> Client established passive DATA connection on port 39873 17:50:50.498730 < "TYPE I" 17:50:50.498779 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:50.498976 < "SIZE verifiedserver" 17:50:50.499024 > "213 17[CR][LF]" 17:50:50.499225 < "RETR verifiedserver" 17:50:50.499273 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:50.499371 =====> Closing passive DATA connection... 17:50:50.499396 Server disconnects passive DATA connection 17:50:50.499656 Server disconnected passive DATA connection 17:50:50.499693 DATA sockfilt for passive data channel quits (pid 146261) 17:50:50.499981 DATA sockfilt for passive data channel quit (pid 146261) 17:50:50.500144 =====> Closed passive DATA connection 17:50:50.500180 > "226 File transfer complete[CR][LF]" 17:50:50.546829 < "QUIT" 17:50:50.546895 > "221 bye bye baby[CR][LF]" 17:50:50.551249 MAIN sockfilt said DISC 17:50:50.551307 ====> Client disconnected 17:50:50.551402 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:50.332858 ====> Client connect 17:50:50.333225 Received DATA (on stdin) 17:50:50.333242 > 146 bytes data, server => client 17:50:50.333259 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:50.333269 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:50.333279 '220 \___|\___/|_| \_\_____|\r\n' 17:50:50.336273 < 16 bytes data, client => server 17:50:50.336299 'USER anonymous\r\n' 17:50:50.336545 Received DATA (on stdin) 17:50:50.336560 > 33 bytes data, server => client 17:50:50.336571 '331 We are happy you popped in!\r\n' 17:50:50.336638 < 22 bytes data, client => server 17:50:50.336649 'PASS ftp@example.com\r\n' 17:50:50.336781 Received DATA (on stdin) 17:50:50.336793 > 30 bytes data, server => client 17:50:50.336803 '230 Welcome you silly person\r\n' 17:50:50.336854 < 5 bytes data, client => server 17:50:50.336864 'PWD\r\n' 17:50:50.336989 Received DATA (on stdin) 17:50:50.337001 > 30 bytes data, server => client 17:50:50.337012 '257 "/" is current directory\r\n' 17:50:50.337077 < 6 bytes data, client => server 17:50:50.337088 'EPSV\r\n' 17:50:50.344422 Received DATA (on stdin) 17:50:50.344443 > 39 bytes data, server => client 17:50:50.344454 '229 Entering Passive Mode (|||39873|)\r\n' 17:50:50.344663 < 8 bytes data, client => server 17:50:50.344682 'TYPE I\r\n' 17:50:50.344969 Received DATA (on stdin) 17:50:50.344985 > 33 bytes data, server => client 17:50:50.344996 '200 I modify TYPE as you wanted\r\n' 17:50:50.345056 < 21 bytes data, client => server 17:50:50.345067 'SIZE verifiedserver\r\n' 17:50:50.345212 Received DATA (on stdin) 17:50:50.345226 > 8 bytes data, server => client 17:50:50.345237 '213 17\r\n' 17:50:50.345299 < 21 bytes data, client => server 17:50:50.345315 'RETR verifiedserver\r\n' 17:50:50.345581 Received DATA (on stdin) 17:50:50.345595 > 29 bytes data, server => client 17:50:50.345606 '150 Binary junk (17 bytes).\r\n' 17:50:50.346363 Received DATA (on stdin) 17:50:50.346376 > 28 bytes data, server => client 17:50:50.346386 '226 File transfer complete\r\n' 17:50:50.389660 < 6 bytes data, client => server 17:50:50.389698 'QUIT\r\n' 17:50:50.393092 Received DATA (on stdin) 17:50:50.393112 > 18 bytes data, server => client 17:50:50.393123 '221 bye bye baby\r\n' 17:50:50.397339 ====> Client disconnect 17:50:50.397591 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:50.343698 Running IPv4 version 17:50:50.343799 Listening on port 39873 17:50:50.343890 Wrote pid 146261 to log/13/server/ftp_sockdata.pid 17:50:50.344084 Received PING (on stdin) 17:50:50.344204 Received PORT (on stdin) 17:50:50.344709 ====> Client connect 17:50:50.345636 Received DATA (on stdin) 17:50:50.345650 > 17 bytes data, server => client 17:50:50.345661 'WE ROOLZ: 80972\r\n' 17:50:50.345688 Received DISC (on stdin) 17:50:50.345702 ====> Client forcibly disconnected 17:50:50.345890 Received QUIT (on stdin) 17:50:50.345904 quits 17:50:50.346000 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 17:50:51.249592 ====> Client connect 17:50:51.249640 accept_connection 3 returned 4 17:50:51.249659 accept_connection 3 returned 0 17:50:51.249675 Read 93 bytes 17:50:51.249684 Process 93 bytes request 17:50:51.249698 Got request: GET /verifiedserver HTTP/1.1 17:50:51.249707 Are-we-friendly question received 17:50:51.249734 Wrote request (93 bytes) input to log/13/server.input 17:50:51.249751 Identifying ourselves as friends 17:50:51.249830 Response sent (56 bytes) and written to log/13/server.response 17:50:51.249839 special request received, no persistency 17:50:51.249847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 52128 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1245 ==146283== ==146283== Process terminating with default action of signal 4 (SIGILL) ==146283== Illegal opcode at address 0x4014520 ==146283== at 0x4014520: getparameter (tool_getparam.c:2862) ==146283== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146283== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146283== by 0x4003728: main (tool_main.c:186) === End of file valgrind1245 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/21/valgrind1241 ../src/curl -q --output log/21/curl1241.out --include --trace-ascii log/21/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:41669 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/21/stdout1241 2> log/21/stderr1241 1241: 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 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/21/valgrind1241 ../src/curl -q --output log/21/curl1241.out --include --trace-ascii log/21/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:41669 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/21/stdout1241 2> log/21/stderr1241 === End of file commands.log === Start of file http_server.log 17:50:49.905148 ====> Client 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/17/valgrind1248 ../src/curl -q --output log/17/curl1248.out --include --trace-ascii log/17/trace1248 --trace-time http://user:secret@127.0.0.1:44593/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/17/stdout1248 2> log/17/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/24/valgrind1254 ../src/curl -q --output log/24/curl1254.out --include --trace-ascii log/24/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:39649 --noproxy "" > log/24/stdout1254 2> log/24/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/2/valgrind1246 ../src/curl -q --output log/2/curl1246.out --include --trace-ascii log/2/trace1246 --trace-time --proxy http://127.0.0.1:38779 http://test.remote.haxx.se.1246:38779#@127.0.0.1/tricked.html no-scheme-url.com.1246:38779#@127.127.127.127/again.html > log/2/stdout1246 2> log/2/stderr1246 nect 17:50:49.905184 accept_connection 3 returned 4 17:50:49.905201 accept_connection 3 returned 0 17:50:49.905216 Read 93 bytes 17:50:49.905226 Process 93 bytes request 17:50:49.905238 Got request: GET /verifiedserver HTTP/1.1 17:50:49.905247 Are-we-friendly question received 17:50:49.905416 Wrote request (93 bytes) input to log/21/server.input 17:50:49.905435 Identifying ourselves as friends 17:50:49.905495 Response sent (56 bytes) and written to log/21/server.response 17:50:49.905505 special request received, no persistency 17:50:49.905513 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 35838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind1241 ==146080== ==146080== Process terminating with default action of signal 4 (SIGILL) ==146080== Illegal opcode at address 0x4014520 ==146080== at 0x4014520: getparameter (tool_getparam.c:2862) ==146080== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146080== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146080== by 0x4003728: main (tool_main.c:186) === End of file valgrind1241 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/17/valgrind1248 ../src/curl -q --output log/17/curl1248.out --include --trace-ascii log/17/trace1248 --trace-time http://user:secret@127.0.0.1:44593/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/17/stdout1248 2> log/17/stderr1248 1248: 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 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/17/valgrind1248 ../src/curl -q --output log/17/curl1248.out --include --trace-ascii log/17/trace1248 --trace-time http://user:secret@127.0.0.1:44593/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/17/stdout1248 2> log/17/stderr1248 === End of file commands.log === Start of file http_server.log 17:50:50.586249 ====> Client connect 17:50:50.586562 accept_connection 3 returned 4 17:50:50.586582 accept_connection 3 returned 0 17:50:50.586597 Read 93 bytes 17:50:50.586606 Process 93 bytes request 17:50:50.586618 Got request: GET /verifiedserver HTTP/1.1 17:50:50.586627 Are-we-friendly question received 17:50:50.586651 Wrote request (93 bytes) input to log/17/server.input 17:50:50.586667 Identifying ourselves as friends 17:50:50.586730 Response sent (56 bytes) and written to log/17/server.response 17:50:50.586741 special request received, no persistency 17:50:50.586749 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 49760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1248 ==146424== ==146424== Process terminating with default action of signal 4 (SIGILL) ==146424== Illegal opcode at address 0x4014520 ==146424== at 0x4014520: getparameter (tool_getparam.c:2862) ==146424== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146424== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146424== by 0x4003728: main (tool_main.c:186) === End of file valgrind1248 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/24/valgrind1254 ../src/curl -q --output log/24/curl1254.out --include --trace-ascii log/24/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:39649 --noproxy "" > log/24/stdout1254 2> log/24/stderr1254 1254: 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 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/24/valgrind1254 ../src/curl -q --output log/24/curl1254.out --include --trace-ascii log/24/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:39649 --noproxy "" > log/24/stdout1254 2> log/24/stderr1254 === End of file commands.log === Start of file http_server.log 17:50:50.879565 ====> Client connect 17:50:50.879602 accept_connection 3 returned 4 17:50:50.879620 accept_connection 3 returned 0 17:50:50.879636 Read 93 bytes 17:50:50.879646 Process 93 bytes request 17:50:50.879660 Got request: GET /verifiedserver HTTP/1.1 17:50:50.879669 Are-we-friendly question received 17:50:50.879695 Wrote request (93 bytes) input to log/24/server.input 17:50:50.879712 Identifying ourselves as friends 17:50:50.879779 Response sent (56 bytes) and written to log/24/server.response 17:50:50.879790 special request received, no persistency 17:50:50.879799 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 58450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1254 ==146817== ==146817== Process terminating with default action of signal 4 (SIGILL) ==146817== Illegal opcode at address 0x4014520 ==146817== at 0x4014520: getparameter (tool_getparam.c:2862) ==146817== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146817== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146817== by 0x4003728: main (tool_main.c:186) === End of file valgrind1254 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/2/valgrind1246 ../src/curl -q --output log/2/curl1246.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/23/valgrind1230 ../src/curl -q --output log/23/curl1230.out --include --trace-ascii log/23/trace1230 --trace-time http://[1234:1234:1234::4ce]:39173/wanted/page/1230 -p -x 127.0.0.1:39173 > log/23/stdout1230 2> log/23/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/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:39589/1249 --proxy http://dummy:47/ --max-time 5 > log/1/stdout1249 2> log/1/stderr1249 race-ascii log/2/trace1246 --trace-time --proxy http://127.0.0.1:38779 http://test.remote.haxx.se.1246:38779#@127.0.0.1/tricked.html no-scheme-url.com.1246:38779#@127.127.127.127/again.html > log/2/stdout1246 2> log/2/stderr1246 1246: 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 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/2/valgrind1246 ../src/curl -q --output log/2/curl1246.out --include --trace-ascii log/2/trace1246 --trace-time --proxy http://127.0.0.1:38779 http://test.remote.haxx.se.1246:38779#@127.0.0.1/tricked.html no-scheme-url.com.1246:38779#@127.127.127.127/again.html > log/2/stdout1246 2> log/2/stderr1246 === End of file commands.log === Start of file http_server.log 17:50:50.272896 ====> Client connect 17:50:50.272934 accept_connection 3 returned 4 17:50:50.272951 accept_connection 3 returned 0 17:50:50.272967 Read 93 bytes 17:50:50.272977 Process 93 bytes request 17:50:50.272990 Got request: GET /verifiedserver HTTP/1.1 17:50:50.272999 Are-we-friendly question received 17:50:50.273025 Wrote request (93 bytes) input to log/2/server.input 17:50:50.273041 Identifying ourselves as friends 17:50:50.273112 Response sent (56 bytes) and written to log/2/server.response 17:50:50.273123 special request received, no persistency 17:50:50.273132 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 41128 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1246 ==146244== ==146244== Process terminating with default action of signal 4 (SIGILL) ==146244== Illegal opcode at address 0x4014520 ==146244== at 0x4014520: getparameter (tool_getparam.c:2862) ==146244== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146244== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146244== by 0x4003728: main (tool_main.c:186) === End of file valgrind1246 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 145102 port 34909 * pid http-proxy => 145102 145102 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/23/server/http_ipv6_server.pid" --logfile "log/23/http_ipv6_server.log" --logdir "log/23" --portfile log/23/server/http_ipv6_server.port --config log/23/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 145992 port 42393 * pid http-ipv6 => 145992 145992 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/23/valgrind1230 ../src/curl -q --output log/23/curl1230.out --include --trace-ascii log/23/trace1230 --trace-time http://[1234:1234:1234::4ce]:39173/wanted/page/1230 -p -x 127.0.0.1:39173 > log/23/stdout1230 2> log/23/stderr1230 1230: 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 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/23/valgrind1230 ../src/curl -q --output log/23/curl1230.out --include --trace-ascii log/23/trace1230 --trace-time http://[1234:1234:1234::4ce]:39173/wanted/page/1230 -p -x 127.0.0.1:39173 > log/23/stdout1230 2> log/23/stderr1230 === End of file commands.log === Start of file http2_server.log 17:50:48.525005 Run as proxy, CONNECT to host 127.0.0.1 17:50:48.525127 Running HTTP IPv4 version on port 34909 17:50:48.525182 Wrote pid 145102 to log/23/server/http2_server.pid 17:50:48.525220 Wrote port 34909 to log/23/server/http2_server.port === End of file http2_server.log === Start of file http_ipv6_server.log 17:50:49.502649 Running HTTP IPv6 version on port 42393 17:50:49.502780 Wrote pid 145992 to log/23/server/http_ipv6_server.pid 17:50:49.503821 Wrote port 42393 to log/23/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 17:50:51.553181 ====> Client connect 17:50:51.553228 accept_connection 3 returned 4 17:50:51.553247 accept_connection 3 returned 0 17:50:51.553265 Read 93 bytes 17:50:51.553275 Process 93 bytes request 17:50:51.553289 Got request: GET /verifiedserver HTTP/1.1 17:50:51.553298 Are-we-friendly question received 17:50:51.553326 Wrote request (93 bytes) input to log/23/server.input 17:50:51.553344 Identifying ourselves as friends 17:50:51.553427 Response sent (56 bytes) and written to log/23/server.response 17:50:51.553437 special request received, no persistency 17:50:51.553445 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 58792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1230 ==146412== ==146412== Process terminating with default action of signal 4 (SIGILL) ==146412== Illegal opcode at address 0x4014520 ==146412== at 0x4014520: getparameter (tool_getparam.c:2862) ==146412== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146412== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146412== by 0x4003728: main (tool_main.c:186) === End of file valgrind1230 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:39589/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 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/16/valgrind1247 ../src/curl -q --output log/16/curl1247.out --include --trace-ascii log/16/trace1247 --trace-time --fail-early h1234://127.0.0.1:40899/1247 http://127.0.0.1:40899/1247 > log/16/stdout1247 2> log/16/stderr1247 CMD (33792): ../libtool --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/valgrind1242 ../src/curl -q --output log/6/curl1242.out --include --trace-ascii log/6/trace1242 --trace-time tftp://127.0.0.1:41060//1242 --tftp-no-options > log/6/stdout1242 2> log/6/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/14/valgrind1259 ../src/curl -q --output log/14/curl1259.out --include --trace-ascii log/14/trace1259 --trace-time "http://user:pass;word@127.0.0.1:37569/we/want/1259" > log/14/stdout1259 2> log/14/stderr1259 og/1/curl1249.out --include --trace-ascii log/1/trace1249 --trace-time http://user:secret@127.0.0.1:39589/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 17:50:50.592906 ====> Client connect 17:50:50.592948 accept_connection 3 returned 4 17:50:50.592966 accept_connection 3 returned 0 17:50:50.592983 Read 93 bytes 17:50:50.592994 Process 93 bytes request 17:50:50.593009 Got request: GET /verifiedserver HTTP/1.1 17:50:50.593019 Are-we-friendly question received 17:50:50.593053 Wrote request (93 bytes) input to log/1/server.input 17:50:50.593073 Identifying ourselves as friends 17:50:50.593154 Response sent (56 bytes) and written to log/1/server.response 17:50:50.593168 special request received, no persistency 17:50:50.593178 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 56588 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind1249 ==146437== ==146437== Process terminating with default action of signal 4 (SIGILL) ==146437== Illegal opcode at address 0x4014520 ==146437== at 0x4014520: getparameter (tool_getparam.c:2862) ==146437== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146437== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146437== by 0x4003728: main (tool_main.c:186) === End of file valgrind1249 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/16/valgrind1247 ../src/curl -q --output log/16/curl1247.out --include --trace-ascii log/16/trace1247 --trace-time --fail-early h1234://127.0.0.1:40899/1247 http://127.0.0.1:40899/1247 > log/16/stdout1247 2> log/16/stderr1247 curl returned 132, when expecting 1 1247: exit FAILED == Contents of files in the log/16/ 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/16/valgrind1247 ../src/curl -q --output log/16/curl1247.out --include --trace-ascii log/16/trace1247 --trace-time --fail-early h1234://127.0.0.1:40899/1247 http://127.0.0.1:40899/1247 > log/16/stdout1247 2> log/16/stderr1247 === End of file commands.log === Start of file http_server.log 17:50:50.578351 ====> Client connect 17:50:50.578388 accept_connection 3 returned 4 17:50:50.578404 accept_connection 3 returned 0 17:50:50.578419 Read 93 bytes 17:50:50.578429 Process 93 bytes request 17:50:50.578443 Got request: GET /verifiedserver HTTP/1.1 17:50:50.578452 Are-we-friendly question received 17:50:50.578478 Wrote request (93 bytes) input to log/16/server.input 17:50:50.578495 Identifying ourselves as friends 17:50:50.578553 Response sent (56 bytes) and written to log/16/server.response 17:50:50.578562 special request received, no persistency 17:50:50.578571 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 36420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind1247 ==146418== ==146418== Process terminating with default action of signal 4 (SIGILL) ==146418== Illegal opcode at address 0x4014520 ==146418== at 0x4014520: getparameter (tool_getparam.c:2862) ==146418== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146418== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146418== by 0x4003728: main (tool_main.c:186) === End of file valgrind1247 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 146083 port 41060 * pid tftp => 146083 146083 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/6/valgrind1242 ../src/curl -q --output log/6/curl1242.out --include --trace-ascii log/6/trace1242 --trace-time tftp://127.0.0.1:41060//1242 --tftp-no-options > log/6/stdout1242 2> log/6/stderr1242 1242: 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 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/6/valgrind1242 ../src/curl -q --output log/6/curl1242.out --include --trace-ascii log/6/trace1242 --trace-time tftp://127.0.0.1:41060//1242 --tftp-no-options > log/6/stdout1242 2> log/6/stderr1242 === End of file commands.log === Start of file server.cmd Testnum 1242 === End of file server.cmd === Start of file tftp_server.log 17:50:50.970109 Wrote pid 146083 to log/6/server/tftp_server.pid 17:50:50.970176 Wrote port 41060 to log/6/server/tftp_server.port 17:50:50.970188 Running IPv4 version on port UDP/41060 === End of file tftp_server.log === Start of file valgrind1242 ==146865== ==146865== Process terminating with default action of signal 4 (SIGILL) ==146865== Illegal opcode at address 0x4014520 ==146865== at 0x4014520: getparameter (tool_getparam.c:2862) ==146865== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146865== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146865== by 0x4003728: main (tool_main.c:186) === End of file valgrind1242 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/14/valgrind1259 ../src/curl -q --output log/14/curl1259.out --include --trace-ascii log/14/trace1259 --trace-time "http://user:pass;word@127.0.0.1:37569/we/want/1259" > log/14/stdout1259 2> log/14/stderr1259 1259: 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 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/14/valgrind1259 ../src/curl -q --output log/14/curl1259.out --include --trace-ascii log/14/trace1259 --trace-time "http://user:pass;word@127.0.0.1:37569/we/want/1259" > log/14/stdout1259 2> log/14/stderr1259 === End 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/18/valgrind1258 ../src/curl -q --output log/18/curl1258.out --include --trace-ascii log/18/trace1258 --trace-time http://127.0.0.1:34067/we/want/1258 http://127.0.0.1:34067/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/18/stdout1258 2> log/18/stderr1258 CMD (33792): ../libtool --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/valgrind1251 ../src/curl -q --output log/20/curl1251.out --include --trace-ascii log/20/trace1251 --trace-time http://user:secret@127.0.0.1:46725/1251 --max-time 5 > log/20/stdout1251 2> log/20/stderr1251 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/18/stdout1275 2> log/18/stderr1275 og === Start of file http_server.log 17:50:51.992907 ====> Client connect 17:50:51.992946 accept_connection 3 returned 4 17:50:51.992966 accept_connection 3 returned 0 17:50:51.992982 Read 93 bytes 17:50:51.992992 Process 93 bytes request 17:50:51.993006 Got request: GET /verifiedserver HTTP/1.1 17:50:51.993016 Are-we-friendly question received 17:50:51.993044 Wrote request (93 bytes) input to log/14/server.input 17:50:51.993061 Identifying ourselves as friends 17:50:51.993134 Response sent (56 bytes) and written to log/14/server.response 17:50:51.993147 special request received, no persistency 17:50:51.993156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 44692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1259 ==147081== ==147081== Process terminating with default action of signal 4 (SIGILL) ==147081== Illegal opcode at address 0x4014520 ==147081== at 0x4014520: getparameter (tool_getparam.c:2862) ==147081== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147081== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147081== by 0x4003728: main (tool_main.c:186) === End of file valgrind1259 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/18/valgrind1258 ../src/curl -q --output log/18/curl1258.out --include --trace-ascii log/18/trace1258 --trace-time http://127.0.0.1:34067/we/want/1258 http://127.0.0.1:34067/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/18/stdout1258 2> log/18/stderr1258 1258: 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 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/18/valgrind1258 ../src/curl -q --output log/18/curl1258.out --include --trace-ascii log/18/trace1258 --trace-time http://127.0.0.1:34067/we/want/1258 http://127.0.0.1:34067/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/18/stdout1258 2> log/18/stderr1258 === End of file commands.log === Start of file http_server.log 17:50:50.981040 ====> Client connect 17:50:50.981076 accept_connection 3 returned 4 17:50:50.981092 accept_connection 3 returned 0 17:50:50.981107 Read 93 bytes 17:50:50.981116 Process 93 bytes request 17:50:50.981130 Got request: GET /verifiedserver HTTP/1.1 17:50:50.981139 Are-we-friendly question received 17:50:50.981166 Wrote request (93 bytes) input to log/18/server.input 17:50:50.981183 Identifying ourselves as friends 17:50:50.981247 Response sent (56 bytes) and written to log/18/server.response 17:50:50.981259 special request received, no persistency 17:50:50.981268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 58676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1258 ==146987== ==146987== Process terminating with default action of signal 4 (SIGILL) ==146987== Illegal opcode at address 0x4014520 ==146987== at 0x4014520: getparameter (tool_getparam.c:2862) ==146987== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146987== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146987== by 0x4003728: main (tool_main.c:186) === End of file valgrind1258 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/18/stdout1275 2> log/18/stderr1275 valgrind SKIPPED -------e--- OK (1214 out of 1760, remaining: 00:54, took 0.029s, duration: 02:01) setenv http_proxy = http://dummy:42327/ 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/20/valgrind1251 ../src/curl -q --output log/20/curl1251.out --include --trace-ascii log/20/trace1251 --trace-time http://user:secret@127.0.0.1:46725/1251 --max-time 5 > log/20/stdout1251 2> log/20/stderr1251 1251: 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 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/20/valgrind1251 ../src/curl -q --output log/20/curl1251.out --include --trace-ascii log/20/trace1251 --trace-time http://user:secret@127.0.0.1:46725/1251 --max-time 5 > log/20/stdout1251 2> log/20/stderr1251 === End of file commands.log === Start of file http_server.log 17:50:50.818288 ====> Client connect 17:50:50.818320 accept_connection 3 returned 4 17:50:50.818335 accept_connection 3 returned 0 17:50:50.818350 Read 93 bytes 17:50:50.818359 Process 93 bytes request 17:50:50.818373 Got request: GET /verifiedserver HTTP/1.1 17:50:50.818382 Are-we-friendly question received 17:50:50.818406 Wrote request (93 bytes) input to log/20/server.input 17:50:50.818422 Identifying ourselves as friends 17:50:50.818473 Response sent (56 bytes) and written to log/20/server.response 17:50:50.818482 special request received, no persistency 17:50:50.818490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 40676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1251 ==146721== ==146721== Process terminating with default action of signal 4 (SIGILL) ==146721== Illegal opcode at address 0x4014520 ==146721== at 0x4014520: getparameter (tool_getparam.c:2862) ==146721== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146721== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146CMD (33792): ../libtool --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/valgrind1256 ../src/curl -q --output log/15/curl1256.out --include --trace-ascii log/15/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/15/stdout1256 2> log/15/stderr1256 CMD (33792): ../libtool --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/valgrind1253 ../src/curl -q --output log/8/curl1253.out --include --trace-ascii log/8/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:42045 --noproxy 127.0.0.1 > log/8/stdout1253 2> log/8/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/12/valgrind1243 ../src/curl -q --output log/12/curl1243.out --include --trace-ascii log/12/trace1243 --trace-time -T log/12/test1243.txt tftp://127.0.0.1:41551// --tftp-no-options > log/12/stdout1243 2> log/12/stderr1243 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/20/stdout1276 2> log/20/stderr1276 721== by 0x4003728: main (tool_main.c:186) === End of file valgrind1251 setenv http_proxy = http://127.0.0.1:41057 setenv NO_PROXY = example.com test 1256...[http_proxy, override NO_PROXY by --noproxy and 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/15/valgrind1256 ../src/curl -q --output log/15/curl1256.out --include --trace-ascii log/15/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/15/stdout1256 2> log/15/stderr1256 1256: 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 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/15/valgrind1256 ../src/curl -q --output log/15/curl1256.out --include --trace-ascii log/15/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/15/stdout1256 2> log/15/stderr1256 === End of file commands.log === Start of file http_server.log 17:50:50.905873 ====> Client connect 17:50:50.905910 accept_connection 3 returned 4 17:50:50.905926 accept_connection 3 returned 0 17:50:50.905939 Read 93 bytes 17:50:50.905949 Process 93 bytes request 17:50:50.905961 Got request: GET /verifiedserver HTTP/1.1 17:50:50.905970 Are-we-friendly question received 17:50:50.905996 Wrote request (93 bytes) input to log/15/server.input 17:50:50.906013 Identifying ourselves as friends 17:50:50.906068 Response sent (56 bytes) and written to log/15/server.response 17:50:50.906078 special request received, no persistency 17:50:50.906087 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 51912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1256 ==146822== ==146822== Process terminating with default action of signal 4 (SIGILL) ==146822== Illegal opcode at address 0x4014520 ==146822== at 0x4014520: getparameter (tool_getparam.c:2862) ==146822== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146822== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146822== by 0x4003728: main (tool_main.c:186) === End of file valgrind1256 setenv NO_PROXY = example.com test 1253...[--proxy, 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/8/valgrind1253 ../src/curl -q --output log/8/curl1253.out --include --trace-ascii log/8/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:42045 --noproxy 127.0.0.1 > log/8/stdout1253 2> log/8/stderr1253 1253: 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 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/8/valgrind1253 ../src/curl -q --output log/8/curl1253.out --include --trace-ascii log/8/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:42045 --noproxy 127.0.0.1 > log/8/stdout1253 2> log/8/stderr1253 === End of file commands.log === Start of file http_server.log 17:50:50.865864 ====> Client connect 17:50:50.865902 accept_connection 3 returned 4 17:50:50.865919 accept_connection 3 returned 0 17:50:50.865934 Read 93 bytes 17:50:50.865944 Process 93 bytes request 17:50:50.865956 Got request: GET /verifiedserver HTTP/1.1 17:50:50.865965 Are-we-friendly question received 17:50:50.865992 Wrote request (93 bytes) input to log/8/server.input 17:50:50.866008 Identifying ourselves as friends 17:50:50.866090 Response sent (56 bytes) and written to log/8/server.response 17:50:50.866099 special request received, no persistency 17:50:50.866108 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 60158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind1253 ==146780== ==146780== Process terminating with default action of signal 4 (SIGILL) ==146780== Illegal opcode at address 0x4014520 ==146780== at 0x4014520: getparameter (tool_getparam.c:2862) ==146780== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146780== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146780== by 0x4003728: main (tool_main.c:186) === End of file valgrind1253 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/12/server/tftp_server.pid" --portfile "log/12/server/tftp_server.port" --logfile "log/12/tftp_server.log" --logdir "log/12" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 146086 port 41551 * pid tftp => 146086 146086 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/12/valgrind1243 ../src/curl -q --output log/12/curl1243.out --include --trace-ascii log/12/trace1243 --trace-time -T log/12/test1243.txt tftp://127.0.0.1:41551// --tftp-no-options > log/12/stdout1243 2> log/12/stderr1243 1243: 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 1243 === Start of file commands.log ../libtool --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/valgrind1243 ../src/curl -q --output log/12/curl1243.out --include --trace-ascii log/12/trace1243 --trace-time -T log/12/test1243.txt tftp://127.0.0.1:41551// --tftp-no-options > log/12/stdout1243 2> log/12/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 17:50:50.982419 Wrote pid 146086 to log/12/server/tftp_server.pid 17:50:50.982620 Wrote port 41551 to log/12/server/tftp_server.port 17:50:50.982635 Running IPv4 version on port UDP/41551 === End of file tftp_server.log === Start of file valgrind1243 ==146930== ==146930== Process terminating with default action of signal 4 (SIGILL) ==146930== Illegal opCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl --heading=EXPORTS --sort /startdir/src/curl/tests/.. > log/8/stdout1279 2> log/8/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/19/valgrind1252 ../src/curl -q --output log/19/curl1252.out --include --trace-ascii log/19/trace1252 --trace-time http://127.0.0.1:36987/1252 --proxy http://127.0.0.1:36987 --noproxy 127.0.0.1 > log/19/stdout1252 2> log/19/stderr1252 CMD (33792): ../libtool --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/valgrind1257 ../src/curl -q --output log/4/curl1257.out --include --trace-ascii log/4/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/4/stdout1257 2> log/4/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/22/valgrind1255 ../src/curl -q --output log/22/curl1255.out --include --trace-ascii log/22/trace1255 --trace-time http://127.0.0.1:42933/1255 --noproxy 127.0.0.1 > log/22/stdout1255 2> log/22/stderr1255 code at address 0x4014520 ==146930== at 0x4014520: getparameter (tool_getparam.c:2862) ==146930== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146930== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146930== by 0x4003728: main (tool_main.c:186) === End of file valgrind1243 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/20/stdout1276 2> log/20/stderr1276 valgrind SKIPPED -------e--- OK (1215 out of 1760, remaining: 00:54, took 0.050s, duration: 02:01) 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/8/stdout1279 2> log/8/stderr1279 valgrind SKIPPED s------e--- OK (1218 out of 1760, remaining: 00:54, took 0.050s, duration: 02:01) setenv NO_PROXY = example.com test 1252...[--proxy, override NO_PROXY by --noproxy and access 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/19/valgrind1252 ../src/curl -q --output log/19/curl1252.out --include --trace-ascii log/19/trace1252 --trace-time http://127.0.0.1:36987/1252 --proxy http://127.0.0.1:36987 --noproxy 127.0.0.1 > log/19/stdout1252 2> log/19/stderr1252 1252: 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 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/19/valgrind1252 ../src/curl -q --output log/19/curl1252.out --include --trace-ascii log/19/trace1252 --trace-time http://127.0.0.1:36987/1252 --proxy http://127.0.0.1:36987 --noproxy 127.0.0.1 > log/19/stdout1252 2> log/19/stderr1252 === End of file commands.log === Start of file http_server.log 17:50:50.842913 ====> Client connect 17:50:50.842957 accept_connection 3 returned 4 17:50:50.842976 accept_connection 3 returned 0 17:50:50.842992 Read 93 bytes 17:50:50.843002 Process 93 bytes request 17:50:50.843016 Got request: GET /verifiedserver HTTP/1.1 17:50:50.843025 Are-we-friendly question received 17:50:50.843057 Wrote request (93 bytes) input to log/19/server.input 17:50:50.843077 Identifying ourselves as friends 17:50:50.843164 Response sent (56 bytes) and written to log/19/server.response 17:50:50.843177 special request received, no persistency 17:50:50.843186 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 50862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1252 ==146758== ==146758== Process terminating with default action of signal 4 (SIGILL) ==146758== Illegal opcode at address 0x4014520 ==146758== at 0x4014520: getparameter (tool_getparam.c:2862) ==146758== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146758== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146758== by 0x4003728: main (tool_main.c:186) === End of file valgrind1252 setenv http_proxy = http://127.0.0.1:34411 setenv NO_PROXY = example.com test 1257...[http_proxy, override NO_PROXY by --noproxy and 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/4/valgrind1257 ../src/curl -q --output log/4/curl1257.out --include --trace-ascii log/4/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/4/stdout1257 2> log/4/stderr1257 1257: 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 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/4/valgrind1257 ../src/curl -q --output log/4/curl1257.out --include --trace-ascii log/4/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/4/stdout1257 2> log/4/stderr1257 === End of file commands.log === Start of file http_server.log 17:50:50.912263 ====> Client connect 17:50:50.912295 accept_connection 3 returned 4 17:50:50.912311 accept_connection 3 returned 0 17:50:50.912325 Read 93 bytes 17:50:50.912334 Process 93 bytes request 17:50:50.912347 Got request: GET /verifiedserver HTTP/1.1 17:50:50.912356 Are-we-friendly question received 17:50:50.912382 Wrote request (93 bytes) input to log/4/server.input 17:50:50.912398 Identifying ourselves as friends 17:50:50.912455 Response sent (56 bytes) and written to log/4/server.response 17:50:50.912465 special request received, no persistency 17:50:50.912473 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 42850 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind1257 ==146918== ==146918== Process terminating with default action of signal 4 (SIGILL) ==146918== Illegal opcode at address 0x4014520 ==146918== at 0x4014520: getparameter (tool_getparam.c:2862) ==146918== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146918== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146918== by 0x4003728: main (tool_main.c:186) === End of file valgrind1257 setenv http_proxy = http://127.0.0.1:42933 setenv NO_PROXY = example.com test 1255...[http_proxy, override NO_PROXY by --noproxy and access 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/22/valgrind1255 ../src/curl -q --output log/22/curl1255.out --include --trace-ascii log/22/trace1255 --trace-time http://127.0.0.1:42933/1255 --noproxy 127.0.0.1 > log/22/stdout1255 2> log/22/stderr1255 1255: 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 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/22/valgrind1255 ../src/curl -q --output log/22/curl1255.out --include --trace-ascii log/22/trace1255 --trace-time http://127.0.0.1:42933/1255 --noproxy 127.0.0.1 > log/22/stdout1255 2> log/22/stderr1255 === End of file commands.log === Start 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/11/valgrind1250 ../src/curl -q --output log/11/curl1250.out --include --trace-ascii log/11/trace1250 --trace-time http://user:secret@127.0.0.1:46439/1250 --noproxy 127.0.0.1 --max-time 5 > log/11/stdout1250 2> log/11/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/10/valgrind1260 ../src/curl -q --output log/10/curl1260.out --include --trace-ascii log/10/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/10/stdout1260 2> log/10/stderr1260 CMD (33792): ../libtool --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/valgrind1262 ../src/curl -q --output log/5/curl1262.out --include --trace-ascii log/5/trace1262 --trace-time ftp://127.0.0.1:34559/blalbla/1262 -z "-1 jan 2001" > log/5/stdout1262 2> log/5/stderr1262 f file http_server.log 17:50:50.906557 ====> Client connect 17:50:50.906618 accept_connection 3 returned 4 17:50:50.906637 accept_connection 3 returned 0 17:50:50.906653 Read 93 bytes 17:50:50.906663 Process 93 bytes request 17:50:50.906676 Got request: GET /verifiedserver HTTP/1.1 17:50:50.906686 Are-we-friendly question received 17:50:50.906714 Wrote request (93 bytes) input to log/22/server.input 17:50:50.906733 Identifying ourselves as friends 17:50:50.906813 Response sent (56 bytes) and written to log/22/server.response 17:50:50.906824 special request received, no persistency 17:50:50.906832 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 46150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind1255 ==146861== ==146861== Process terminating with default action of signal 4 (SIGILL) ==146861== Illegal opcode at address 0x4014520 ==146861== at 0x4014520: getparameter (tool_getparam.c:2862) ==146861== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146861== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146861== by 0x4003728: main (tool_main.c:186) === End of file valgrind1255 setenv http_proxy = http://dummy:[not running]/ 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/11/valgrind1250 ../src/curl -q --output log/11/curl1250.out --include --trace-ascii log/11/trace1250 --trace-time http://user:secret@127.0.0.1:46439/1250 --noproxy 127.0.0.1 --max-time 5 > log/11/stdout1250 2> log/11/stderr1250 1250: 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 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/11/valgrind1250 ../src/curl -q --output log/11/curl1250.out --include --trace-ascii log/11/trace1250 --trace-time http://user:secret@127.0.0.1:46439/1250 --noproxy 127.0.0.1 --max-time 5 > log/11/stdout1250 2> log/11/stderr1250 === End of file commands.log === Start of file http_server.log 17:50:50.691311 ====> Client connect 17:50:50.691347 accept_connection 3 returned 4 17:50:50.691363 accept_connection 3 returned 0 17:50:50.691377 Read 93 bytes 17:50:50.691387 Process 93 bytes request 17:50:50.691399 Got request: GET /verifiedserver HTTP/1.1 17:50:50.691407 Are-we-friendly question received 17:50:50.691435 Wrote request (93 bytes) input to log/11/server.input 17:50:50.691451 Identifying ourselves as friends 17:50:50.691508 Response sent (56 bytes) and written to log/11/server.response 17:50:50.691518 special request received, no persistency 17:50:50.691526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 56218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind1250 ==146592== ==146592== Process terminating with default action of signal 4 (SIGILL) ==146592== Illegal opcode at address 0x4014520 ==146592== at 0x4014520: getparameter (tool_getparam.c:2862) ==146592== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146592== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146592== by 0x4003728: main (tool_main.c:186) === End of file valgrind1250 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/10/valgrind1260 ../src/curl -q --output log/10/curl1260.out --include --trace-ascii log/10/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/10/stdout1260 2> log/10/stderr1260 curl returned 132, when expecting 3 1260: exit FAILED == Contents of files in the log/10/ 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 --log-file=log/10/valgrind1260 ../src/curl -q --output log/10/curl1260.out --include --trace-ascii log/10/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/10/stdout1260 2> log/10/stderr1260 === End of file commands.log === Start of file server.cmd Testnum 1260 === End of file server.cmd === Start of file valgrind1260 ==147379== ==147379== Process terminating with default action of signal 4 (SIGILL) ==147379== Illegal opcode at address 0x4014520 ==147379== at 0x4014520: getparameter (tool_getparam.c:2862) ==147379== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147379== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147379== by 0x4003728: main (tool_main.c:186) === End of file valgrind1260 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/5/valgrind1262 ../src/curl -q --output log/5/curl1262.out --include --trace-ascii log/5/trace1262 --trace-time ftp://127.0.0.1:34559/blalbla/1262 -z "-1 jan 2001" > log/5/stdout1262 2> log/5/stderr1262 1262: 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 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/5/valgrind1262 ../src/curl -q --output log/5/curl1262.out --include --trace-ascii log/5/trace1262 --trace-time ftp://127.0.0.1:34559/blalbla/1262 -z "-1 jan 2001" > log/5/stdout1262 2> log/5/stderr1262 === End of file commands.log === Start of file ftp_server.log 17:50:51.790032 ====> Client connect 17:50:51.790267 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:51.803877 < "USER anonymous" 17:50:51.803954 > "331 We are happy you popped in![CR][LF]" 17:50:51.804151 < "PASS ftp@example.com" 17:50:51.804186 > "230 Welcome you silly person[CR][LF]" 17:50:51.804367 < "PWD" 17:50:51.804405 > "257 "/" is current directory[CR][LF]" 17:50:51.804604 CMD (33792): ../libtool --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/valgrind1264 ../src/curl -q --output log/13/curl1264.out --include --trace-ascii log/13/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/13/stdout1264 2> log/13/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/17/valgrind1266 ../src/curl -q --output log/17/curl1266.out --include --trace-ascii log/17/trace1266 --trace-time http://127.0.0.1:44593/1266 --http0.9 > log/17/stdout1266 2> log/17/stderr1266 < "EPSV" 17:50:51.804637 ====> Passive DATA channel requested by client 17:50:51.804656 DATA sockfilt for passive data channel starting... 17:50:51.810050 DATA sockfilt for passive data channel started (pid 147487) 17:50:51.810181 DATA sockfilt for passive data channel listens on port 35775 17:50:51.810239 > "229 Entering Passive Mode (|||35775|)[CR][LF]" 17:50:51.810266 Client has been notified that DATA conn will be accepted on port 35775 17:50:51.810582 Client connects to port 35775 17:50:51.810616 ====> Client established passive DATA connection on port 35775 17:50:51.810716 < "TYPE I" 17:50:51.810756 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:51.810940 < "SIZE verifiedserver" 17:50:51.810983 > "213 17[CR][LF]" 17:50:51.811155 < "RETR verifiedserver" 17:50:51.811196 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:51.811298 =====> Closing passive DATA connection... 17:50:51.811321 Server disconnects passive DATA connection 17:50:51.811598 Server disconnected passive DATA connection 17:50:51.811632 DATA sockfilt for passive data channel quits (pid 147487) 17:50:51.811904 DATA sockfilt for passive data channel quit (pid 147487) 17:50:51.811935 =====> Closed passive DATA connection 17:50:51.811967 > "226 File transfer complete[CR][LF]" 17:50:51.860403 < "QUIT" 17:50:51.860480 > "221 bye bye baby[CR][LF]" 17:50:51.862020 MAIN sockfilt said DISC 17:50:51.862064 ====> Client disconnected 17:50:51.862163 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:51.629815 ====> Client connect 17:50:51.649505 Received DATA (on stdin) 17:50:51.649570 > 146 bytes data, server => client 17:50:51.649585 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:51.649596 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:51.649607 '220 \___|\___/|_| \_\_____|\r\n' 17:50:51.649778 < 16 bytes data, client => server 17:50:51.649796 'USER anonymous\r\n' 17:50:51.650148 Received DATA (on stdin) 17:50:51.650163 > 33 bytes data, server => client 17:50:51.650174 '331 We are happy you popped in!\r\n' 17:50:51.650232 < 22 bytes data, client => server 17:50:51.650246 'PASS ftp@example.com\r\n' 17:50:51.650371 Received DATA (on stdin) 17:50:51.650384 > 30 bytes data, server => client 17:50:51.650395 '230 Welcome you silly person\r\n' 17:50:51.650451 < 5 bytes data, client => server 17:50:51.650465 'PWD\r\n' 17:50:51.650591 Received DATA (on stdin) 17:50:51.650604 > 30 bytes data, server => client 17:50:51.650615 '257 "/" is current directory\r\n' 17:50:51.650683 < 6 bytes data, client => server 17:50:51.650698 'EPSV\r\n' 17:50:51.656458 Received DATA (on stdin) 17:50:51.656475 > 39 bytes data, server => client 17:50:51.656486 '229 Entering Passive Mode (|||35775|)\r\n' 17:50:51.656670 < 8 bytes data, client => server 17:50:51.656686 'TYPE I\r\n' 17:50:51.656942 Received DATA (on stdin) 17:50:51.656955 > 33 bytes data, server => client 17:50:51.656966 '200 I modify TYPE as you wanted\r\n' 17:50:51.657022 < 21 bytes data, client => server 17:50:51.657036 'SIZE verifiedserver\r\n' 17:50:51.657167 Received DATA (on stdin) 17:50:51.657179 > 8 bytes data, server => client 17:50:51.657189 '213 17\r\n' 17:50:51.657241 < 21 bytes data, client => server 17:50:51.657253 'RETR verifiedserver\r\n' 17:50:51.657507 Received DATA (on stdin) 17:50:51.657521 > 29 bytes data, server => client 17:50:51.657532 '150 Binary junk (17 bytes).\r\n' 17:50:51.658153 Received DATA (on stdin) 17:50:51.658168 > 28 bytes data, server => client 17:50:51.658179 '226 File transfer complete\r\n' 17:50:51.706317 < 6 bytes data, client => server 17:50:51.706362 'QUIT\r\n' 17:50:51.706676 Received DATA (on stdin) 17:50:51.706691 > 18 bytes data, server => client 17:50:51.706703 '221 bye bye baby\r\n' 17:50:51.708137 ====> Client disconnect 17:50:51.708356 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:51.654101 Running IPv4 version 17:50:51.654182 Listening on port 35775 17:50:51.654230 Wrote pid 147487 to log/5/server/ftp_sockdata.pid 17:50:51.656166 Received PING (on stdin) 17:50:51.656265 Received PORT (on stdin) 17:50:51.656711 ====> Client connect 17:50:51.657592 Received DATA (on stdin) 17:50:51.657609 > 17 bytes data, server => client 17:50:51.657620 'WE ROOLZ: 81078\r\n' 17:50:51.657653 Received DISC (on stdin) 17:50:51.657668 ====> Client forcibly disconnected 17:50:51.657825 Received QUIT (on stdin) 17:50:51.657839 quits 17:50:51.657905 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1262 === End of file server.cmd === Start of file valgrind1262 ==147519== ==147519== Process terminating with default action of signal 4 (SIGILL) ==147519== Illegal opcode at address 0x4014520 ==147519== at 0x4014520: getparameter (tool_getparam.c:2862) ==147519== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147519== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147519== by 0x4003728: main (tool_main.c:186) === End of file valgrind1262 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/13/valgrind1264 ../src/curl -q --output log/13/curl1264.out --include --trace-ascii log/13/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/13/stdout1264 2> log/13/stderr1264 curl returned 132, when expecting 3 1264: exit FAILED == Contents of files in the log/13/ 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/13/valgrind1264 ../src/curl -q --output log/13/curl1264.out --include --trace-ascii log/13/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/13/stdout1264 2> log/13/stderr1264 === End of file commands.log === Start of file server.cmd Testnum 1264 === End of file server.cmd === Start of file valgrind1264 ==147664== ==147664== Process terminating with default action of signal 4 (SIGILL) ==147664== Illegal opcode at address 0x4014520 ==147664== at 0x4014520: getparameter (tool_getparam.c:2862) ==147664== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147664== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147664== by 0x4003728: main (tool_main.c:186) === End of file valgrind1264 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/17/valgrind1266 ../src/curl -q --output log/17/curl1266.out --include --trace-ascii log/17/trace1266 --trace-time http://127.0.0.1:44593/1266 --http0.9 > log/17/stdout1266 2> log/17/stderr1266 1266: 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 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/17/valgrind1266 ../src/curl -q --output log/17/curl1266.out --include --trace-ascii log/17/trace1266 --trace-time http://127.0.0.1:44593/1266 --http0.9 > log/17/stdout1266 2> log/17/stderr1266 === End of file commands.log === Start of file http_server.log 17:50:52.611919 ====> Client connect 17:50:52.611958 accept_connection 3 returned 4 17:50:52.611976 accept_connection 3 returned 0 17:50:52.611991 Read 93 bytes 17:50:52.612000 Process 93 bytes request 17:50:52.612015 Got request: GET /verifiedserver HTTP/1.1 17:50:52.612024 Are-we-friendly question received 17:50:52.612051 Wrote request (93 bytes) input to log/17/server.input 17:50:52.612068 Identifying ourselves as friends 17:50:CMD (33792): ../libtool --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/valgrind1263 ../src/curl -q --output log/3/curl1263.out --include --trace-ascii log/3/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/3/stdout1263 2> log/3/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/7/valgrind1261 ../src/curl -q --include --trace-ascii log/7/trace1261 --trace-time http://127.0.0.1:35671/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/7/stdout1261 2> log/7/stderr1261 52.612134 Response sent (56 bytes) and written to log/17/server.response 17:50:52.612146 special request received, no persistency 17:50:52.612155 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 49762 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1266 ==147744== ==147744== Process terminating with default action of signal 4 (SIGILL) ==147744== Illegal opcode at address 0x4014520 ==147744== at 0x4014520: getparameter (tool_getparam.c:2862) ==147744== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147744== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147744== by 0x4003728: main (tool_main.c:186) === End of file valgrind1266 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/3/valgrind1263 ../src/curl -q --output log/3/curl1263.out --include --trace-ascii log/3/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/3/stdout1263 2> log/3/stderr1263 curl returned 132, when expecting 3 1263: exit FAILED == Contents of files in the log/3/ 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/3/valgrind1263 ../src/curl -q --output log/3/curl1263.out --include --trace-ascii log/3/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/3/stdout1263 2> log/3/stderr1263 === End of file commands.log === Start of file server.cmd Testnum 1263 === End of file server.cmd === Start of file valgrind1263 ==147504== ==147504== Process terminating with default action of signal 4 (SIGILL) ==147504== Illegal opcode at address 0x4014520 ==147504== at 0x4014520: getparameter (tool_getparam.c:2862) ==147504== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147504== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147504== by 0x4003728: main (tool_main.c:186) === 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/24/valgrind1267 ../src/curl -q --output log/24/curl1267.out --include --trace-ascii log/24/trace1267 --trace-time http://127.0.0.1:39649/1267 --http0.9 > log/24/stdout1267 2> log/24/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/14/valgrind1274 ../src/curl -q --output log/14/curl1274.out --include --trace-ascii log/14/trace1274 --trace-time http://127.0.0.1:37569/1274 -D log/14/out1274 > log/14/stdout1274 2> log/14/stderr1274 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/7/valgrind1261 ../src/curl -q --include --trace-ascii log/7/trace1261 --trace-time http://127.0.0.1:35671/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/7/stdout1261 2> log/7/stderr1261 1261: stdout FAILED: --- log/7/check-expected 2026-01-28 17:50:54.493222054 +0000 +++ log/7/check-generated 2026-01-28 17:50:54.493222054 +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:35671/we/want/our/data/10290002.txt?coolsite=yes[LF] == Contents of files in the log/7/ 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:35671/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/7/valgrind1261 ../src/curl -q --include --trace-ascii log/7/trace1261 --trace-time http://127.0.0.1:35671/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/7/stdout1261 2> log/7/stderr1261 === End of file commands.log === Start of file http_server.log 17:50:51.512949 ====> Client connect 17:50:51.516305 accept_connection 3 returned 4 17:50:51.516335 accept_connection 3 returned 0 17:50:51.516356 Read 93 bytes 17:50:51.516365 Process 93 bytes request 17:50:51.516377 Got request: GET /verifiedserver HTTP/1.1 17:50:51.516385 Are-we-friendly question received 17:50:51.516414 Wrote request (93 bytes) input to log/7/server.input 17:50:51.516431 Identifying ourselves as friends 17:50:51.516521 Response sent (56 bytes) and written to log/7/server.response 17:50:51.516534 special request received, no persistency 17:50:51.516546 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 32812 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1261 ==147447== ==147447== Process terminating with default action of signal 4 (SIGILL) ==147447== Illegal opcode at address 0x4014520 ==147447== at 0x4014520: getparameter (tool_getparam.c:2862) ==147447== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147447== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147447== by 0x4003728: main (tool_main.c:186) === End of file valgrind1261 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/24/valgrind1267 ../src/curl -q --output log/24/curl1267.out --include --trace-ascii log/24/trace1267 --trace-time http://127.0.0.1:39649/1267 --http0.9 > log/24/stdout1267 2> log/24/stderr1267 1267: 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 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/24/valgrind1267 ../src/curl -q --output log/24/curl1267.out --include --trace-ascii log/24/trace1267 --trace-time http://127.0.0.1:39649/1267 --http0.9 > log/24/stdout1267 2> log/24/stderr1267 === End of file commands.log === Start of file http_server.log 17:50:52.683486 ====> Client connect 17:50:52.683543 accept_connection 3 returned 4 17:50:52.683566 accept_connection 3 returned 0 17:50:52.683585 Read 93 bytes 17:50:52.683595 Process 93 bytes request 17:50:52.683609 Got request: GET /verifiedserver HTTP/1.1 17:50:52.683617 Are-we-friendly question received 17:50:52.683644 Wrote request (93 bytes) input to log/24/server.input 17:50:52.683663 Identifying ourselves as friends 17:50:52.683750 Response sent (56 bytes) and written to log/24/server.response 17:50:52.683763 special request received, no persistency 17:50:52.683772 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 58464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1267 ==147780== ==147780== Process terminating with default action of signal 4 (SIGILL) ==147780== Illegal opcode at address 0x4014520 ==147780== at 0x4014520: getparameter (tool_getparam.c:2862) ==147780== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147780== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147780== by 0x4003728: main (tool_main.c:186) === 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/14/valgrind1274 ../src/curl -q --output log/14/curl1274.out --include --trace-ascii log/14/trace1274 --trace-time http://127.0.0.1:37569/1274 -D log/14/out1274 > log/14/stdout1274 2> log/14/stderr1274 1274: 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 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/14/valgrind1274 ../src/curl -q --output log/14/curl1274.out --include --trace-ascii log/14/trace1274 --trace-time http://127.0.0.1:37569/1274 -D log/14/out1274 > log/14/stdout1274 2> log/14/stderr1274 === End of file commands.log === Start of file http_server.log 17:50:54.139276 ====> Client connect 17:50:54.139309 accept_connection 3 returned 4 17:50:54.139324 accept_connection 3 returned 0 17:50:54.140265 Read 93 bytes 17:50:54.140285 Process 93 bytes request 17:50:54.140298 Got request: GET /verifiedserver HTTP/1.1 17:50:54.140307 Are-we-friendly question received 17:50:54.140342 Wrote request (93 bytes) input to log/14/server.input 17:50:54.140359 Identifying ourselves as friends 17:50:54.140415 Response sent (56 bytes) and written to log/14/server.response 17:50:54.140425 special request received, no persistency 17:50:54.140433 ====> Client disconnect 0 === End of file http_server.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/valgrind1268 ../src/curl -q --output log/2/curl1268.out --include --trace-ascii log/2/trace1268 --trace-time --stderr log/2/moo1268 --unix-socket -q hej://moo > log/2/stdout1268 2> log/2/stderr1268 = Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 44702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1274 ==148112== ==148112== Process terminating with default action of signal 4 (SIGILL) ==148112== Illegal opcode at address 0x4014520 ==148112== at 0x4014520: getparameter (tool_getparam.c:2862) ==148112== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148112== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148112== by 0x4003728: main (tool_main.c:186) === 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/18/valgrind1277 ../src/curl -q --output log/18/curl1277.out --include --trace-ascii log/18/trace1277 --trace-time http://127.0.0.1:34067/1277 --tr-encoding --compressed > log/18/stdout1277 2> log/18/stderr1277 CMD (33792): ../libtool --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/valgrind1269 ../src/curl -q --output log/23/curl1269.out --include --trace-ascii log/23/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/23/stdout1269 2> log/23/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/1/valgrind1270 ../src/curl -q --include --trace-ascii log/1/trace1270 --trace-time http://127.0.0.1:39589/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/2/valgrind1268 ../src/curl -q --output log/2/curl1268.out --include --trace-ascii log/2/trace1268 --trace-time --stderr log/2/moo1268 --unix-socket -q hej://moo > log/2/stdout1268 2> log/2/stderr1268 1268: output (log/2/moo1268) FAILED: --- log/2/check-expected 2026-01-28 17:50:55.079888721 +0000 +++ log/2/check-generated 2026-01-28 17:50:55.079888721 +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/2/ 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/2/valgrind1268 ../src/curl -q --output log/2/curl1268.out --include --trace-ascii log/2/trace1268 --trace-time --stderr log/2/moo1268 --unix-socket -q hej://moo > log/2/stdout1268 2> log/2/stderr1268 === End of file commands.log === Start of file server.cmd Testnum 1268 === End of file server.cmd === Start of file valgrind1268 ==147818== ==147818== Process terminating with default action of signal 4 (SIGILL) ==147818== Illegal opcode at address 0x4014520 ==147818== at 0x4014520: getparameter (tool_getparam.c:2862) ==147818== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147818== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147818== by 0x4003728: main (tool_main.c:186) === End of file valgrind1268 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/18/valgrind1277 ../src/curl -q --output log/18/curl1277.out --include --trace-ascii log/18/trace1277 --trace-time http://127.0.0.1:34067/1277 --tr-encoding --compressed > log/18/stdout1277 2> log/18/stderr1277 1277: 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 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/18/valgrind1277 ../src/curl -q --output log/18/curl1277.out --include --trace-ascii log/18/trace1277 --trace-time http://127.0.0.1:34067/1277 --tr-encoding --compressed > log/18/stdout1277 2> log/18/stderr1277 === End of file commands.log === Start of file http_server.log 17:50:53.265766 ====> Client connect 17:50:53.265799 accept_connection 3 returned 4 17:50:53.265814 accept_connection 3 returned 0 17:50:53.265828 Read 93 bytes 17:50:53.265837 Process 93 bytes request 17:50:53.265851 Got request: GET /verifiedserver HTTP/1.1 17:50:53.265860 Are-we-friendly question received 17:50:53.265887 Wrote request (93 bytes) input to log/18/server.input 17:50:53.265903 Identifying ourselves as friends 17:50:53.265965 Response sent (56 bytes) and written to log/18/server.response 17:50:53.265974 special request received, no persistency 17:50:53.265983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 58686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1277 ==148297== ==148297== Process terminating with default action of signal 4 (SIGILL) ==148297== Illegal opcode at address 0x4014520 ==148297== at 0x4014520: getparameter (tool_getparam.c:2862) ==148297== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148297== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148297== by 0x4003728: main (tool_main.c:186) === End of file valgrind1277 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/23/valgrind1269 ../src/curl -q --output log/23/curl1269.out --include --trace-ascii log/23/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/23/stdout1269 2> log/23/stderr1269 curl returned 132, when expecting 2 1269: exit FAILED == Contents of files in the log/23/ 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/23/valgrind1269 ../src/curl -q --output log/23/curl1269.out --include --trace-ascii log/23/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/23/stdout1269 2> log/23/stderr1269 === End of file commands.log === Start of file server.cmd Testnum 1269 === End of file server.cmd === Start of file valgrind1269 ==147830== ==147830== Process terminating with default action of signal 4 (SIGILL) ==147830== Illegal opcode at address 0x4014520 ==147830== at 0x4014520: getparameter (tool_getparam.c:2862) ==147830== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147830== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147830== by 0x4003728: main (tool_main.c:186) === End of file valgrind1269 CMD (33792): ../libtool --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/valgrind1283 ../src/curl -q --include --trace-ascii log/19/trace1283 --trace-time http://127.0.0.1:36987/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/19/outfile1283_#1#2#3#4.dump" > log/19/stdout1283 2> log/19/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/6/valgrind1273 ../src/curl -q --output log/6/curl1273.out --include --trace-ascii log/6/trace1273 --trace-time http://127.0.0.1:42747/1273 -C - -f > log/6/stdout1273 2> log/6/stderr1273 RUN: Process with pid 76292 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/20/valgrind1281 ../src/curl -q --output log/20/curl1281.out --include --trace-ascii log/20/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/20/stdout1281 2> log/20/stderr1281 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:39589/we/want/our/1270 -w '%{redirect_url}\n' -s > log/1/stdout1270 2> log/1/stderr1270 1270: stdout FAILED: --- log/1/check-expected 2026-01-28 17:50:55.339888721 +0000 +++ log/1/check-generated 2026-01-28 17:50:55.339888721 +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:39589/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 17:50:52.956680 ====> Client connect 17:50:52.956717 accept_connection 3 returned 4 17:50:52.956733 accept_connection 3 returned 0 17:50:52.956748 Read 93 bytes 17:50:52.956756 Process 93 bytes request 17:50:52.956769 Got request: GET /verifiedserver HTTP/1.1 17:50:52.956778 Are-we-friendly question received 17:50:52.956800 Wrote request (93 bytes) input to log/1/server.input 17:50:52.956816 Identifying ourselves as friends 17:50:52.956879 Response sent (56 bytes) and written to log/1/server.response 17:50:52.956887 special request received, no persistency 17:50:52.956896 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 56590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind1270 ==147989== ==147989== Process terminating with default action of signal 4 (SIGILL) ==147989== Illegal opcode at address 0x4014520 ==147989== at 0x4014520: getparameter (tool_getparam.c:2862) ==147989== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==147989== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==147989== by 0x4003728: main (tool_main.c:186) === End of file valgrind1270 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/19/valgrind1283 ../src/curl -q --include --trace-ascii log/19/trace1283 --trace-time http://127.0.0.1:36987/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/19/outfile1283_#1#2#3#4.dump" > log/19/stdout1283 2> log/19/stderr1283 1283: 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 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/19/valgrind1283 ../src/curl -q --include --trace-ascii log/19/trace1283 --trace-time http://127.0.0.1:36987/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/19/outfile1283_#1#2#3#4.dump" > log/19/stdout1283 2> log/19/stderr1283 === End of file commands.log === Start of file http_server.log 17:50:53.356265 ====> Client connect 17:50:53.356312 accept_connection 3 returned 4 17:50:53.356330 accept_connection 3 returned 0 17:50:53.356346 Read 93 bytes 17:50:53.356356 Process 93 bytes request 17:50:53.356369 Got request: GET /verifiedserver HTTP/1.1 17:50:53.356378 Are-we-friendly question received 17:50:53.356409 Wrote request (93 bytes) input to log/19/server.input 17:50:53.356426 Identifying ourselves as friends 17:50:53.356506 Response sent (56 bytes) and written to log/19/server.response 17:50:53.356518 special request received, no persistency 17:50:53.356526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 50878 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1283 ==148454== ==148454== Process terminating with default action of signal 4 (SIGILL) ==148454== Illegal opcode at address 0x4014520 ==148454== at 0x4014520: getparameter (tool_getparam.c:2862) ==148454== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148454== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148454== by 0x4003728: main (tool_main.c:186) === End of file valgrind1283 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/20/valgrind1281 ../src/curl -q --output log/20/curl1281.out --include --trace-ascii log/20/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/20/stdout1281 2> log/20/stderr1281 curl returned 132, when expecting 3 1281: exit FAILED == Contents of files in the log/20/ 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/20/valgrind1281 ../src/curl -q --output log/20/curl1281.out --include --trace-ascii log/20/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/20/stdout1281 2> log/20/stderr1281 === End of file commands.log === Start of file server.cmd Testnum 1281 === End of file server.cmd === Start of file valgrind1281 ==148161== ==148161== Process terminating with default action of signal 4 (SIGILL) ==148161== Illegal opcode at address 0x4014520 ==148161== at 0x4014520: getparameter (tool_getparam.c:2862) ==148161== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148161== by 0x4003728: UnkRUN: Process with pid 76292 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/22/valgrind1285 ../src/curl -q --output log/22/curl1285.out --include --trace-ascii log/22/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/22/put1285 http://127.0.0.1:42933/1285 > log/22/stdout1285 2> log/22/stderr1285 CMD (33792): ../libtool --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/valgrind1265 ../src/curl -q --output log/21/curl1265.out --include --trace-ascii log/21/trace1265 --trace-time http://[::1]:40185/1265 > log/21/stdout1265 2> log/21/stderr1265 nownInlinedFun (tool_operate.c:2244) ==148161== by 0x4003728: main (tool_main.c:186) === End of file valgrind1281 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/6/valgrind1273 ../src/curl -q --output log/6/curl1273.out --include --trace-ascii log/6/trace1273 --trace-time http://127.0.0.1:42747/1273 -C - -f > log/6/stdout1273 2> log/6/stderr1273 1273: 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 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/6/valgrind1273 ../src/curl -q --output log/6/curl1273.out --include --trace-ascii log/6/trace1273 --trace-time http://127.0.0.1:42747/1273 -C - -f > log/6/stdout1273 2> log/6/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 17:50:53.158461 ====> Client connect 17:50:53.158493 accept_connection 3 returned 4 17:50:53.158507 accept_connection 3 returned 0 17:50:53.158520 Read 93 bytes 17:50:53.158530 Process 93 bytes request 17:50:53.158543 Got request: GET /verifiedserver HTTP/1.1 17:50:53.158551 Are-we-friendly question received 17:50:53.158578 Wrote request (93 bytes) input to log/6/server.input 17:50:53.158594 Identifying ourselves as friends 17:50:53.158653 Response sent (56 bytes) and written to log/6/server.response 17:50:53.158662 special request received, no persistency 17:50:53.158670 ====> Client disconnect 0 exit_signal_handler: called 17:50:55.290546 signalled to die 17:50:55.290655 ========> IPv4 sws (port 42747 pid: 76292) exits with signal (15) 17:50:55.290671 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 33924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76292 === 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: 76292 === End of file server.response === Start of file valgrind1273 ==148126== ==148126== Process terminating with default action of signal 4 (SIGILL) ==148126== Illegal opcode at address 0x4014520 ==148126== at 0x4014520: getparameter (tool_getparam.c:2862) ==148126== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148126== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148126== by 0x4003728: main (tool_main.c:186) === End of file valgrind1273 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/22/valgrind1285 ../src/curl -q --output log/22/curl1285.out --include --trace-ascii log/22/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/22/put1285 http://127.0.0.1:42933/1285 > log/22/stdout1285 2> log/22/stderr1285 1285: 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 1285 === Start of file commands.log ../libtool --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/valgrind1285 ../src/curl -q --output log/22/curl1285.out --include --trace-ascii log/22/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/22/put1285 http://127.0.0.1:42933/1285 > log/22/stdout1285 2> log/22/stderr1285 === End of file commands.log === Start of file http_server.log 17:50:53.559564 ====> Client connect 17:50:53.559606 accept_connection 3 returned 4 17:50:53.559622 accept_connection 3 returned 0 17:50:53.559635 Read 93 bytes 17:50:53.559644 Process 93 bytes request 17:50:53.559654 Got request: GET /verifiedserver HTTP/1.1 17:50:53.559662 Are-we-friendly question received 17:50:53.559684 Wrote request (93 bytes) input to log/22/server.input 17:50:53.559698 Identifying ourselves as friends 17:50:53.559770 Response sent (56 bytes) and written to log/22/server.response 17:50:53.559779 special request received, no persistency 17:50:53.559787 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 46164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind1285 ==148690== ==148690== Process terminating with default action of signal 4 (SIGILL) ==148690== Illegal opcode at address 0x4014520 ==148690== at 0x4014520: getparameter (tool_getparam.c:2862) ==148690== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148690== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148690== by 0x4003728: main (tool_main.c:186) === End of file valgrind1285 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/21/server/http_ipv6_server.pid" --logfile "log/21/http_ipv6_server.log" --logdir "log/21" --portfile log/21/server/http_ipv6_server.port --config log/21/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 147661 port 40185 * pid http-ipv6 => 147661 147661 setenv http_proxy = http://127.0.0.1:41669 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/21/valgrind1265 ../src/curl -q --output log/21/curl1265.out --include --trace-ascii log/21/trace1265 --trace-time http://[::1]:40185/1265 > log/21/stdout1265 2> log/21/stderr1265 1265: 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 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/21/valgrind1265 ../src/curl -q --output log/21/curl1265.out --include --trace-ascii log/21/trace1265 --trace-time http://[::1]:40185/1265 > log/21/stdout1265 2> log/21/stderr1265 === End of file commands.log === Start of file http_ipv6_server.log 17:50:52.398209 Running HTTP IPv6 version on port 40185 17:50:52.398329 Wrote pid 147661 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/12/valgrind1280 ../src/curl -q --output log/12/curl1280.out --include --trace-ascii log/12/trace1280 --trace-time http://127.0.0.1:36641/[a-d]/1280 > log/12/stdout1280 2> log/12/stderr1280 CMD (33792): ../libtool --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/valgrind1278 ../src/curl -q --include --trace-ascii log/15/trace1278 --trace-time http://127.0.0.1:41057/1278 --no-progress-meter -o log/15/out1278 --no-remote-name -w '%{stderr}yes\n' > log/15/stdout1278 2> log/15/stderr1278 log/21/server/http_ipv6_server.pid 17:50:52.398363 Wrote port 40185 to log/21/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 ==148407== ==148407== Process terminating with default action of signal 4 (SIGILL) ==148407== Illegal opcode at address 0x4014520 ==148407== at 0x4014520: getparameter (tool_getparam.c:2862) ==148407== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148407== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148407== by 0x4003728: main (tool_main.c:186) === End of file valgrind1265 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/12/valgrind1280 ../src/curl -q --output log/12/curl1280.out --include --trace-ascii log/12/trace1280 --trace-time http://127.0.0.1:36641/[a-d]/1280 > log/12/stdout1280 2> log/12/stderr1280 1280: 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 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/12/valgrind1280 ../src/curl -q --output log/12/curl1280.out --include --trace-ascii log/12/trace1280 --trace-time http://127.0.0.1:36641/[a-d]/1280 > log/12/stdout1280 2> log/12/stderr1280 === End of file commands.log === Start of file http_server.log 17:50:53.265843 ====> Client connect 17:50:53.265873 accept_connection 3 returned 4 17:50:53.265890 accept_connection 3 returned 0 17:50:53.269669 Read 93 bytes 17:50:53.269694 Process 93 bytes request 17:50:53.269708 Got request: GET /verifiedserver HTTP/1.1 17:50:53.269717 Are-we-friendly question received 17:50:53.269759 Wrote request (93 bytes) input to log/12/server.input 17:50:53.269781 Identifying ourselves as friends 17:50:53.269838 Response sent (56 bytes) and written to log/12/server.response 17:50:53.269846 special request received, no persistency 17:50:53.269855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 58912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1280 ==148312== ==148312== Process terminating with default action of signal 4 (SIGILL) ==148312== Illegal opcode at address 0x4014520 ==148312== at 0x4014520: getparameter (tool_getparam.c:2862) ==148312== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148312== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148312== by 0x4003728: main (tool_main.c:186) === End of file valgrind1280 CMD (33792): ../libtool --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/valgrind1282 ../src/curl -q --output log/8/curl1282.out --include --trace-ascii log/8/trace1282 --trace-time ftp://127.0.0.1:42799/1282 > log/8/stdout1282 2> log/8/stderr1282 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/15/valgrind1278 ../src/curl -q --include --trace-ascii log/15/trace1278 --trace-time http://127.0.0.1:41057/1278 --no-progress-meter -o log/15/out1278 --no-remote-name -w '%{stderr}yes\n' > log/15/stdout1278 2> log/15/stderr1278 1278: stderr FAILED: --- log/15/check-expected 2026-01-28 17:50:55.786555387 +0000 +++ log/15/check-generated 2026-01-28 17:50:55.786555387 +0000 @@ -1 +0,0 @@ -yes[CR][LF] == Contents of files in the log/15/ 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/15/valgrind1278 ../src/curl -q --include --trace-ascii log/15/trace1278 --trace-time http://127.0.0.1:41057/1278 --no-progress-meter -o log/15/out1278 --no-remote-name -w '%{stderr}yes\n' > log/15/stdout1278 2> log/15/stderr1278 === End of file commands.log === Start of file http_server.log 17:50:53.235873 ====> Client connect 17:50:53.235906 accept_connection 3 returned 4 17:50:53.235920 accept_connection 3 returned 0 17:50:53.235933 Read 93 bytes 17:50:53.235941 Process 93 bytes request 17:50:53.235954 Got request: GET /verifiedserver HTTP/1.1 17:50:53.235962 Are-we-friendly question received 17:50:53.235984 Wrote request (93 bytes) input to log/15/server.input 17:50:53.235998 Identifying ourselves as friends 17:50:53.236048 Response sent (56 bytes) and written to log/15/server.response 17:50:53.236056 special request received, no persistency 17:50:53.236063 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 51924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1278 ==148236== ==148236== Process terminating with default action of signal 4 (SIGILL) ==148236== Illegal opcode at address 0x4014520 ==148236== at 0x4014520: getparameter (tool_getparam.c:2862) ==148236== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148236== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148236== by 0x4003728: main (tool_main.c:186) === End of file valgrind1278 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/8/valgrind1282 ../src/curl -q --output log/8/curl1282.out --include --trace-ascii log/8/trace1282 --trace-time ftp://127.0.0.1:42799/1282 > log/8/stdout1282 2> log/8/stderr1282 1282: 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 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/8/valgrind1282 ../src/curl -q --output log/8/curl1282.out --include --trace-ascii log/8/trace1282 --trace-time ftp://127.0.0.1:42799/1282 > log/8/stdout1282 2> log/8/stderr1282 === End of file commands.log === Start of file ftp_server.log 17:50:53.470053 ====> Client connect 17:50:53.470260 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:53.470643 < "USER anonymous" 17:50:53.470696 > "331 We are happy you popped in![CR][LF]" 17:50:53.470917 < "PASS ftp@example.com" 17:50:53.470959 > "230 Welcome you silly person[CR][LF]" 17:50:53.471153 < "PWD" 17:50:53.471190 > "257 "/" is current directory[CR][LF]" 17:50:53.473634 < "EPSV" 17:50:53.473668 ====> Passive DATA channel requested by client 17:50:53.473684 DATA sockfilt for passive data channel starting... 17:50:53.483944 DATA sockfilt for passive data channel started (pid 148363) 17:50:53.484089 DATA sockfilt for passive data channel listens on port 33835 17:50:53.484147 > "229 Entering Passive Mode (|||33835|)[CR][LF]" 17:50:53.484175 Client has been notified that DATA conn will be accepted on port 33835 17:50:53.484543 Client connects to port 33835 17:50:53.484578 ====> Client established passive DATA connection on port 33835 17:50:53.484685 < "TYPE I" 17:50:53.484732 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:53.487561 < "SIZE verifiedserver" 17:50:53.487609 > "213 17[CR][LF]" 17:50:53.487789 < "RETR verifiedserver" 17:50:53.487823 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:53.487924 =====> Closing passive DATA connection... 17:50:53.487943 Server disconnects passive DATA connection 17:50:53.488186 Server disconnected passive DATA connection 17:50:53.488215 DATA sockfilt for passive data channel quits (pid 148363) 17:50:53.488499 DATA sockfilt for passive data channel quit (pid 148363) 17:50:53.488524 =====> Closed passive DATA connection 17:50:53.488554 > "226 File transfer complete[CR][LF]" 17:50:53.533712 < "QUIT" 17:50:53.533772 > "221 bye bye baby[CR][LF]" 17:50:53.535018 MAIN sockfilt said DISC 17:50:53.535060 ====> Client disconnected 17:50:53.535158 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:54.312852 ====> Client connect 17:50:54.316462 Received DATA (on stdin) 17:50:54.316484 > 146 bytes data, server => client 17:50:54.316496 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:54.316507 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:54.316515 '220 \___|\___/|_| \_\_____|\r\n' 17:50:54.316642 < 16 bytes data, client => server 17:50:54.316659 'USER anonymous\r\n' 17:50:54.316885 Received DATA (on stdin) 17:50:54.316901 > 33 bytes data, server => client 17:50:54.316912 '331 We are happy you popped in!\r\n' 17:50:54.316981 < 22 bytes data, client => server 17:50:54.316995 'PASS ftp@example.com\r\n' 17:50:54.317144 Received DATA (on stdin) 17:50:54.317158 > 30 bytes data, server => client 17:50:54.317169 '230 Welcome you silly person\r\n' 17:50:54.317229 < 5 bytes data, client => server 17:50:54.317243 'PWD\r\n' 17:50:54.319570 Received DATA (on stdin) 17:50:54.319592 > 30 bytes data, server => client 17:50:54.319603 '257 "/" is current directory\r\n' 17:50:54.319692 < 6 bytes data, client => server 17:50:54.319708 'EPSV\r\n' 17:50:54.330371 Received DATA (on stdin) 17:50:54.330393 > 39 bytes data, server => client 17:50:54.330404 '229 Entering Passive Mode (|||33835|)\r\n' 17:50:54.330626 < 8 bytes data, client => server 17:50:54.330646 'TYPE I\r\n' 17:50:54.330922 Received DATA (on stdin) 17:50:54.330936 > 33 bytes data, server => client 17:50:54.330947 '200 I modify TYPE as you wanted\r\n' 17:50:54.333609 < 21 bytes data, client => server 17:50:54.333630 'SIZE verifiedserver\r\n' 17:50:54.333792 Received DATA (on stdin) 17:50:54.333804 > 8 bytes data, server => client 17:50:54.333814 '213 17\r\n' 17:50:54.333880 < 21 bytes data, client => server 17:50:54.333893 'RETR verifiedserver\r\n' 17:50:54.334126 Received DATA (on stdin) 17:50:54.334138 > 29 bytes data, server => client 17:50:54.334149 '150 Binary junk (17 bytes).\r\n' 17:50:54.334733 Received DATA (on stdin) 17:CMD (33792): ../libtool --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/valgrind1284 ../src/curl -q --output log/4/curl1284.out --include --trace-ascii log/4/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:34411/1284 > log/4/stdout1284 2> log/4/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/16/valgrind1271 ../src/curl -q --output log/16/curl1271.out --include --trace-ascii log/16/trace1271 --trace-time http://127.0.0.1:40899/we/want/our/1271 -w @log/16/blank1271 > log/16/stdout1271 2> log/16/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/11/valgrind1286 ../src/curl -q --output log/11/curl1286.out --include --trace-ascii log/11/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:46439/1286 > log/11/stdout1286 2> log/11/stderr1286 50:54.334745 > 28 bytes data, server => client 17:50:54.334756 '226 File transfer complete\r\n' 17:50:54.379674 < 6 bytes data, client => server 17:50:54.379719 'QUIT\r\n' 17:50:54.379957 Received DATA (on stdin) 17:50:54.379970 > 18 bytes data, server => client 17:50:54.379981 '221 bye bye baby\r\n' 17:50:54.381138 ====> Client disconnect 17:50:54.381342 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:53.328044 Running IPv4 version 17:50:53.328156 Listening on port 33835 17:50:53.328202 Wrote pid 148363 to log/8/server/ftp_sockdata.pid 17:50:53.330049 Received PING (on stdin) 17:50:53.330166 Received PORT (on stdin) 17:50:53.330671 ====> Client connect 17:50:53.334176 Received DATA (on stdin) 17:50:53.334189 > 17 bytes data, server => client 17:50:53.334199 'WE ROOLZ: 81155\r\n' 17:50:53.334225 Received DISC (on stdin) 17:50:53.334236 ====> Client forcibly disconnected 17:50:53.334401 Received QUIT (on stdin) 17:50:53.334412 quits 17:50:53.334486 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 633 XXXXXXXX\x00\x00XXXXXXXX Testnum 1282 === End of file server.cmd === Start of file valgrind1282 ==148490== ==148490== Process terminating with default action of signal 4 (SIGILL) ==148490== Illegal opcode at address 0x4014520 ==148490== at 0x4014520: getparameter (tool_getparam.c:2862) ==148490== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148490== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148490== by 0x4003728: main (tool_main.c:186) === End of file valgrind1282 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/4/valgrind1284 ../src/curl -q --output log/4/curl1284.out --include --trace-ascii log/4/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:34411/1284 > log/4/stdout1284 2> log/4/stderr1284 1284: 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 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/4/valgrind1284 ../src/curl -q --output log/4/curl1284.out --include --trace-ascii log/4/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:34411/1284 > log/4/stdout1284 2> log/4/stderr1284 === End of file commands.log === Start of file http_server.log 17:50:53.549597 ====> Client connect 17:50:53.549643 accept_connection 3 returned 4 17:50:53.549660 accept_connection 3 returned 0 17:50:53.549675 Read 93 bytes 17:50:53.549685 Process 93 bytes request 17:50:53.549699 Got request: GET /verifiedserver HTTP/1.1 17:50:53.549707 Are-we-friendly question received 17:50:53.549732 Wrote request (93 bytes) input to log/4/server.input 17:50:53.549748 Identifying ourselves as friends 17:50:53.549820 Response sent (56 bytes) and written to log/4/server.response 17:50:53.549830 special request received, no persistency 17:50:53.549839 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 42860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind1284 ==148689== ==148689== Process terminating with default action of signal 4 (SIGILL) ==148689== Illegal opcode at address 0x4014520 ==148689== at 0x4014520: getparameter (tool_getparam.c:2862) ==148689== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148689== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148689== by 0x4003728: main (tool_main.c:186) === End of file valgrind1284 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/16/valgrind1271 ../src/curl -q --output log/16/curl1271.out --include --trace-ascii log/16/trace1271 --trace-time http://127.0.0.1:40899/we/want/our/1271 -w @log/16/blank1271 > log/16/stdout1271 2> log/16/stderr1271 1271: 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 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/16/valgrind1271 ../src/curl -q --output log/16/curl1271.out --include --trace-ascii log/16/trace1271 --trace-time http://127.0.0.1:40899/we/want/our/1271 -w @log/16/blank1271 > log/16/stdout1271 2> log/16/stderr1271 === End of file commands.log === Start of file http_server.log 17:50:53.032915 ====> Client connect 17:50:53.032963 accept_connection 3 returned 4 17:50:53.032982 accept_connection 3 returned 0 17:50:53.032999 Read 93 bytes 17:50:53.033009 Process 93 bytes request 17:50:53.033025 Got request: GET /verifiedserver HTTP/1.1 17:50:53.033035 Are-we-friendly question received 17:50:53.033066 Wrote request (93 bytes) input to log/16/server.input 17:50:53.033085 Identifying ourselves as friends 17:50:53.033159 Response sent (56 bytes) and written to log/16/server.response 17:50:53.033170 special request received, no persistency 17:50:53.033179 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 36430 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind1271 ==148010== ==148010== Process terminating with default action of signal 4 (SIGILL) ==148010== Illegal opcode at address 0x4014520 ==148010== at 0x4014520: getparameter (tool_getparam.c:2862) ==148010== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148010== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148010== by 0x4003728: main (tool_main.c:186) === End of file valgrind1271 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/11/valgrind1286 ../src/curl -q --output log/11/curl1286.out --include --trace-ascii log/11/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:46439/1286 > log/11/stdout1286 2> log/11/stderr1286 1286: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? 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/17/valgrind1290 ../src/curl -q --output log/17/curl1290.out --include --trace-ascii log/17/trace1290 --trace-time "http://127.0.0.1:44593/we/want/[]/page/1290" > log/17/stdout1290 2> log/17/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/5/valgrind1288 ../src/curl -q --include --trace-ascii log/5/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:44309 http://127.0.0.1:46875/we/want/that/page/1288 > log/5/stdout1288 2> log/5/stderr1288 tal curl failure? Returned: 132 == Contents of files in the log/11/ 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/11/valgrind1286 ../src/curl -q --output log/11/curl1286.out --include --trace-ascii log/11/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:46439/1286 > log/11/stdout1286 2> log/11/stderr1286 === End of file commands.log === Start of file http_server.log 17:50:53.658214 ====> Client connect 17:50:53.658247 accept_connection 3 returned 4 17:50:53.658263 accept_connection 3 returned 0 17:50:53.658278 Read 93 bytes 17:50:53.658287 Process 93 bytes request 17:50:53.658301 Got request: GET /verifiedserver HTTP/1.1 17:50:53.658309 Are-we-friendly question received 17:50:53.658334 Wrote request (93 bytes) input to log/11/server.input 17:50:53.658350 Identifying ourselves as friends 17:50:53.658405 Response sent (56 bytes) and written to log/11/server.response 17:50:53.658414 special request received, no persistency 17:50:53.658423 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 56224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind1286 ==148741== ==148741== Process terminating with default action of signal 4 (SIGILL) ==148741== Illegal opcode at address 0x4014520 ==148741== at 0x4014520: getparameter (tool_getparam.c:2862) ==148741== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148741== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148741== by 0x4003728: main (tool_main.c:186) === End of file valgrind1286 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/17/valgrind1290 ../src/curl -q --output log/17/curl1290.out --include --trace-ascii log/17/trace1290 --trace-time "http://127.0.0.1:44593/we/want/[]/page/1290" > log/17/stdout1290 2> log/17/stderr1290 1290: 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 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/17/valgrind1290 ../src/curl -q --output log/17/curl1290.out --include --trace-ascii log/17/trace1290 --trace-time "http://127.0.0.1:44593/we/want/[]/page/1290" > log/17/stdout1290 2> log/17/stderr1290 === End of file commands.log === Start of file http_server.log 17:50:54.299576 ====> Client connect 17:50:54.299616 accept_connection 3 returned 4 17:50:54.299634 accept_connection 3 returned 0 17:50:54.299649 Read 93 bytes 17:50:54.299658 Process 93 bytes request 17:50:54.299672 Got request: GET /verifiedserver HTTP/1.1 17:50:54.299680 Are-we-friendly question received 17:50:54.299704 Wrote request (93 bytes) input to log/17/server.input 17:50:54.299720 Identifying ourselves as friends 17:50:54.299789 Response sent (56 bytes) and written to log/17/server.response 17:50:54.299798 special request received, no persistency 17:50:54.299806 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 49770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1290 ==149043== ==149043== Process terminating with default action of signal 4 (SIGILL) ==149043== Illegal opcode at address 0x4014520 ==149043== at 0x4014520: getparameter (tool_getparam.c:2862) ==149043== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==149043== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==149043== by 0x4003728: main (tool_main.c:186) === End of file valgrind1290 CMD (33792): ../libtool --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/valgrind1289 ../src/curl -q --output log/13/curl1289.out --include --trace-ascii log/13/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/13/stdout1289 2> log/13/stderr1289 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/5/valgrind1288 ../src/curl -q --include --trace-ascii log/5/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:44309 http://127.0.0.1:46875/we/want/that/page/1288 > log/5/stdout1288 2> log/5/stderr1288 1288: stdout FAILED: --- log/5/check-expected 2026-01-28 17:50:56.283222053 +0000 +++ log/5/check-generated 2026-01-28 17:50:56.283222053 +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/5/ 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/5/valgrind1288 ../src/curl -q --include --trace-ascii log/5/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:44309 http://127.0.0.1:46875/we/want/that/page/1288 > log/5/stdout1288 2> log/5/stderr1288 === End of file commands.log === Start of file http2_server.log 17:50:53.962992 ====> Client connect 17:50:53.963047 accept_connection 3 returned 4 17:50:53.963068 accept_connection 3 returned 0 17:50:53.963086 Read 93 bytes 17:50:53.963104 Process 93 bytes request 17:50:53.963127 Got request: GET /verifiedserver HTTP/1.1 17:50:53.963137 Are-we-friendly question received 17:50:53.963165 Wrote request (93 bytes) input to log/5/proxy.input 17:50:53.963188 Identifying ourselves as friends 17:50:53.963291 Response sent (57 bytes) and written to log/5/proxy.response 17:50:53.963307 special request received, no persistency 17:50:53.963316 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44309... * Established connection to 127.0.0.1 (127.0.0.1 port 44309) from 127.0.0.1 port 38206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44309 > User-Agent: curl/8.18.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:44309 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 104511 === End of file http2_verify.out === Start of file http_server.log 17:50:53.875869 ====> Client connect 17:50:53.875907 accept_connection 3 returned 4 17:50:53.875926 accept_connection 3 returned 0 17:50:53.879632 Read 93 bytes 17:50:53.879653 Process 93 bytes request 17:50:53.879667 Got request: GET /verifiedserver HTTP/1.1 17:50:53.879676 Are-we-friendly question received 17:50:53.879716 Wrote request (93 bytes) input to log/5/server.input 17:50:53.879734 Identifying ourselves as friends 17:50:53.879794 Response sent (56 bytes) and written to log/5/server.response 17:50:53.879804 special request received, no persistency 17:50:53.879812 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 35954 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104511 === End of file proxy.response === 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: 77918 === End of file server.response === Start of file valgrind1288 ==148919== ==148919== Process terminating with default action of signal 4 (SIGILL) ==148919== Illegal opcode at address 0x4014520 ==148919== at 0x4014520: getparameter (tool_getparam.c:2862) ==148919== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148919== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148919== by 0x4003728: main (tool_main.c:186) === End of file valgrind1288 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/13/valgrind1289 ../src/curl -q --output log/13/curl1289.out --include --trace-ascii log/13/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/13/stdout1289 2> log/13/stderr1289 curl returned 132, when expecting 3 1289: exit FAILED == Contents of files in the log/13/ 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/13/valgrind1289 ../src/curl -q --output log/13/curl1289.out --include --trace-ascii log/13/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/13/stdout1289 2> log/13/stderr1289 === End of file commands.log === Start of file http_server.log 17:50:55.129581 ====> Client connect 17:50:55.129621 accept_connection 3 returned 4 17:50:55.129638 accept_connection 3 returned 0 17:50:55.129827 Read 93 bytes 17:50:55.129842 Process 93 bytes request 17:50:55.129856 Got request: GET /verifiedserver HTTP/1.1 17:50:55.129865 Are-we-friendly question received 17:50:55.129897 Wrote request (93 bytes) input to log/13/server.input 17:50:55.129915 Identifying ourselves as friends 17:50:55.129972 Response sent (56 bytes) and written to log/13/server.response 17:50:55.129981 special request received, no persistency 17:50:55.129990 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 52142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1289 ==148966== ==148966== Process terminatCMD (33792): ../libtool --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/valgrind1293 ../src/curl -q --output log/24/curl1293.out --include --trace-ascii log/24/trace1293 --trace-time http://0 http://127.0.0.1:39649/1293 -F= > log/24/stdout1293 2> log/24/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/3/valgrind1291 ../src/curl -q --output log/3/curl1291.out --include --trace-ascii log/3/trace1291 --trace-time -K log/3/cmd1291 --fail-early > log/3/stdout1291 2> log/3/stderr1291 ing with default action of signal 4 (SIGILL) ==148966== Illegal opcode at address 0x4014520 ==148966== at 0x4014520: getparameter (tool_getparam.c:2862) ==148966== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==148966== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==148966== by 0x4003728: main (tool_main.c:186) === End of file valgrind1289 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/24/valgrind1293 ../src/curl -q --output log/24/curl1293.out --include --trace-ascii log/24/trace1293 --trace-time http://0 http://127.0.0.1:39649/1293 -F= > log/24/stdout1293 2> log/24/stderr1293 1293: 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 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/24/valgrind1293 ../src/curl -q --output log/24/curl1293.out --include --trace-ascii log/24/trace1293 --trace-time http://0 http://127.0.0.1:39649/1293 -F= > log/24/stdout1293 2> log/24/stderr1293 === End of file commands.log === Start of file http_server.log 17:50:54.469085 ====> Client connect 17:50:54.469122 accept_connection 3 returned 4 17:50:54.469139 accept_connection 3 returned 0 17:50:54.469305 Read 93 bytes 17:50:54.469320 Process 93 bytes request 17:50:54.469334 Got request: GET /verifiedserver HTTP/1.1 17:50:54.469342 Are-we-friendly question received 17:50:54.469377 Wrote request (93 bytes) input to log/24/server.input 17:50:54.469398 Identifying ourselves as friends 17:50:54.469463 Response sent (56 bytes) and written to log/24/server.response 17:50:54.469476 special request received, no persistency 17:50:54.469494 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 58472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1293 ==149193== ==149193== Process terminating with default action of signal 4 (SIGILL) ==149193== Illegal opcode at address 0x4014520 ==149193== at 0x4014520: getparameter (tool_getparam.c:2862) ==149193== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==149193== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==149193== by 0x4003728: main (tool_main.c:186) === End of file valgrind1293 prechecked /usr/bin/perl -e 'for(1 .. 1000) { printf("upload-file=log/3/upload-this\nurl=htttttp://non-existing-host.haxx.se/upload/1291\n", $_);}' > log/3/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/3/valgrind1291 ../src/curl -q --output log/3/curl1291.out --include --trace-ascii log/3/trace1291 --trace-time -K log/3/cmd1291 --fail-early > log/3/stdout1291 2> log/3/stderr1291 curl returned 132, when expecting 1 1291: exit FAILED == Contents of files in the log/3/ directory after test 1291 === Start of file cmd1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=CMD (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/valgrind1301 ./libtest/libtests lib1301 - > log/19/stdout1301 2> log/19/stderr1301 log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this === File too long: 599 lines omitted here upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/CMD (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/valgrind1305 ./unit/units unit1305 1305 > log/21/stdout1305 2> log/21/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/1/valgrind1300 ./unit/units unit1300 - > log/1/stdout1300 2> log/1/stderr1300 upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/3/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/3/valgrind1291 ../src/curl -q --output log/3/curl1291.out --include --trace-ascii log/3/trace1291 --trace-time -K log/3/cmd1291 --fail-early > log/3/stdout1291 2> log/3/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 ==149089== ==149089== Process terminating with default action of signal 4 (SIGILL) ==149089== Illegal opcode at address 0x4014520 ==149089== at 0x4014520: getparameter (tool_getparam.c:2862) ==149089== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==149089== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==149089== by 0x4003728: main (tool_main.c:186) === End of file valgrind1291 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/19/valgrind1301 ./libtest/libtests lib1301 - > log/19/stdout1301 2> log/19/stderr1301 -------e-v- OK (1238 out of 1760, remaining: 00:52, took 1.351s, duration: 02:04) 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/21/valgrind1305 ./unit/units unit1305 1305 > log/21/stdout1305 2> log/21/stderr1305 -------e-v- OK (1242 out of 1760, remaining: 00:52, took 1.223s, duration: 02:05) 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/1/valgrind1300 ./unit/units unit1300 - > log/1/stdout1300 2> log/1/stderr1300 units returned 132, when expecting 0 1300: exit FAILED == Contents of files in the log/1/ 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/1/valgrind1300 ./unit/units unit1300 - > log/1/stdout1300 2> log/1/stderr1300 === End of file commands.log === Start of file server.cmd Testnum 1300 === End of file server.cmd === Start of file stderr1300 URL: - === End of file stderr1300 === StaCMD (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/12/valgrind1306 ./unit/units unit1305 - > log/12/stdout1306 2> log/12/stderr1306 CMD (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/valgrind1304 ./unit/units unit1304 log/22/netrc1304 > log/22/stdout1304 2> log/22/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/20/valgrind1302 ./unit/units unit1302 - > log/20/stdout1302 2> log/20/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/7/valgrind1292 ../src/curl -q --output log/7/curl1292.out --include --trace-ascii log/7/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:35671/1292 > log/7/stdout1292 2> log/7/stderr1292 CMD (33792): ../libtool --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/valgrind1303 ./unit/units unit1303 - > log/6/stdout1303 2> log/6/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/2/valgrind1297 ../src/curl -q --output log/2/curl1297.out --include --trace-ascii log/2/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:33397 http://127.0.0.1:38779/we/want/that/page/1297 > log/2/stdout1297 2> log/2/stderr1297 rt of file valgrind1300 ==149551== ==149551== Process terminating with default action of signal 4 (SIGILL) ==149551== Illegal opcode at address 0x400B4DE ==149551== at 0x400B4DE: UnknownInlinedFun (llist.c:80) ==149551== by 0x400B4DE: test_unit1300.lto_priv.0 (unit1300.c:125) ==149551== by 0x400B165: main (first.c:279) === End of file valgrind1300 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/12/valgrind1306 ./unit/units unit1305 - > log/12/stdout1306 2> log/12/stderr1306 -------e-v- OK (1243 out of 1760, remaining: 00:52, took 1.230s, duration: 02:05) 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/22/valgrind1304 ./unit/units unit1304 log/22/netrc1304 > log/22/stdout1304 2> log/22/stderr1304 -------e-v- OK (1241 out of 1760, remaining: 00:52, took 1.401s, duration: 02:05) 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/20/valgrind1302 ./unit/units unit1302 - > log/20/stdout1302 2> log/20/stderr1302 units returned 132, when expecting 0 1302: exit FAILED == Contents of files in the log/20/ 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/20/valgrind1302 ./unit/units unit1302 - > log/20/stdout1302 2> log/20/stderr1302 === End of file commands.log === Start of file server.cmd Testnum 1302 === End of file server.cmd === Start of file stderr1302 URL: - === End of file stderr1302 === Start of file valgrind1302 ==149699== ==149699== Process terminating with default action of signal 4 (SIGILL) ==149699== Illegal opcode at address 0x40A5DE3 ==149699== at 0x40A5DE3: UnknownInlinedFun (string_fortified.h:59) ==149699== by 0x40A5DE3: curlx_base64_decode (base64.c:105) ==149699== by 0x400C389: test_unit1302.lto_priv.0 (unit1302.c:145) ==149699== by 0x400B165: main (first.c:279) ==149699== 2 bytes in 1 blocks are definitely lost in loss record 1 of 14 ==149699== at 0x499E7A8: malloc (vg_replace_malloc.c:446) ==149699== by 0x40A5DC8: curlx_base64_decode (base64.c:99) ==149699== by 0x400C389: test_unit1302.lto_priv.0 (unit1302.c:145) ==149699== by 0x400B165: main (first.c:279) ==149699== === End of file valgrind1302 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/7/valgrind1292 ../src/curl -q --output log/7/curl1292.out --include --trace-ascii log/7/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:35671/1292 > log/7/stdout1292 2> log/7/stderr1292 1292: 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 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/7/valgrind1292 ../src/curl -q --output log/7/curl1292.out --include --trace-ascii log/7/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:35671/1292 > log/7/stdout1292 2> log/7/stderr1292 === End of file commands.log === Start of file http_server.log 17:50:54.431916 ====> Client connect 17:50:54.431957 accept_connection 3 returned 4 17:50:54.431977 accept_connection 3 returned 0 17:50:54.431994 Read 93 bytes 17:50:54.432004 Process 93 bytes request 17:50:54.432019 Got request: GET /verifiedserver HTTP/1.1 17:50:54.432028 Are-we-friendly question received 17:50:54.432057 Wrote request (93 bytes) input to log/7/server.input 17:50:54.432076 Identifying ourselves as friends 17:50:54.432154 Response sent (56 bytes) and written to log/7/server.response 17:50:54.432165 special request received, no persistency 17:50:54.432174 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 32824 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1292 ==149154== ==149154== Process terminating with default action of signal 4 (SIGILL) ==149154== Illegal opcode at address 0x4014520 ==149154== at 0x4014520: getparameter (tool_getparam.c:2862) ==149154== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==149154== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==149154== by 0x4003728: main (tool_main.c:186) === End of file valgrind1292 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/6/valgrind1303 ./unit/units unit1303 - > log/6/stdout1303 2> log/6/stderr1303 units returned 132, when expecting 0 1303: exit FAILED == Contents of files in the log/6/ 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/6/valgrind1303 ./unit/units unit1303 - > log/6/stdout1303 2> log/6/stderr1303 === End of file commands.log === Start of file server.cmd Testnum 1303 === End of file server.cmd === Start of file stderr1303 URL: - === End of file stderr1303 === Start of file valgrind1303 ==149733== ==149733== Process terminating with default action of signal 4 (SIGILL) ==149733== Illegal opcode at address 0x408094F ==149733== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==149733== by 0x408094F: UnknownInlinedFun (request.c:40) ==149733== by 0x408094F: Curl_open (url.c:502) ==149733== by 0x4040E25: curl_easy_init (easy.c:365) ==149733== by 0x400C78B: UnknownInlinedFun (unit1303.c:34) ==149733== by 0x400C78B: test_unit1303.lto_priv.0 (unit1303.c:71) ==149733== by 0x400B165: main (first.c:279) ==149733== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==149733== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==149733== by 0x408085D: Curl_open (url.c:479) ==149733== by 0x4040E25: curl_easy_init (easy.c:365) ==149733== by 0x400C78B: UnknownInlinedFun (unit1303.c:34) ==149733== by 0x400C78B: test_unit1303.lto_priv.0 (unit1303.c:71) ==149733== by 0x400B165: main (first.c:279) ==149733== === End of file valgrind1303 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/2/valgrind1297 ../src/curl -q --output log/2/curl1297.out --include --trace-ascii log/2/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:33397 http://127.0.0.1:38779/we/want/that/page/1297 > log/2/stdout1297 2> log/2/stderr1297 1297: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? CMD (33792): ../libtool --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/valgrind1296 ../src/curl -q --output log/14/curl1296.out --include --trace-ascii log/14/trace1296 --trace-time http://user%0aname:password@127.0.0.1:37569/1296 > log/14/stdout1296 2> log/14/stderr1296 CMD (33792): ../libtool --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/valgrind1298 ../src/curl -q --output log/18/curl1298.out --include --trace-ascii log/18/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:34067/" -H "Testno: 1298" > log/18/stdout1298 2> log/18/stderr1298 Total curl failure? Returned: 132 == Contents of files in the log/2/ 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/2/valgrind1297 ../src/curl -q --output log/2/curl1297.out --include --trace-ascii log/2/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:33397 http://127.0.0.1:38779/we/want/that/page/1297 > log/2/stdout1297 2> log/2/stderr1297 === End of file commands.log === Start of file http2_server.log 17:50:55.100197 ====> Client connect 17:50:55.100237 accept_connection 3 returned 4 17:50:55.100254 accept_connection 3 returned 0 17:50:55.100271 Read 93 bytes 17:50:55.100280 Process 93 bytes request 17:50:55.100300 Got request: GET /verifiedserver HTTP/1.1 17:50:55.100309 Are-we-friendly question received 17:50:55.100333 Wrote request (93 bytes) input to log/2/proxy.input 17:50:55.100354 Identifying ourselves as friends 17:50:55.100426 Response sent (56 bytes) and written to log/2/proxy.response 17:50:55.100440 special request received, no persistency 17:50:55.100448 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:33397... * Established connection to 127.0.0.1 (127.0.0.1 port 33397) from 127.0.0.1 port 54628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33397 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33397 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79752 === End of file http2_verify.out === Start of file http_server.log 17:50:55.026314 ====> Client connect 17:50:55.026347 accept_connection 3 returned 4 17:50:55.026369 accept_connection 3 returned 0 17:50:55.027898 Read 93 bytes 17:50:55.027919 Process 93 bytes request 17:50:55.027932 Got request: GET /verifiedserver HTTP/1.1 17:50:55.027940 Are-we-friendly question received 17:50:55.027978 Wrote request (93 bytes) input to log/2/server.input 17:50:55.027994 Identifying ourselves as friends 17:50:55.028046 Response sent (56 bytes) and written to log/2/server.response 17:50:55.028055 special request received, no persistency 17:50:55.028063 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 41130 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79752 === 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: 76626 === End of file server.response === Start of file valgrind1297 ==149491== ==149491== Process terminating with default action of signal 4 (SIGILL) ==149491== Illegal opcode at address 0x4014520 ==149491== at 0x4014520: getparameter (tool_getparam.c:2862) ==149491== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==149491== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==149491== by 0x4003728: main (tool_main.c:186) === End of file valgrind1297 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/14/valgrind1296 ../src/curl -q --output log/14/curl1296.out --include --trace-ascii log/14/trace1296 --trace-time http://user%0aname:password@127.0.0.1:37569/1296 > log/14/stdout1296 2> log/14/stderr1296 1296: 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 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/14/valgrind1296 ../src/curl -q --output log/14/curl1296.out --include --trace-ascii log/14/trace1296 --trace-time http://user%0aname:password@127.0.0.1:37569/1296 > log/14/stdout1296 2> log/14/stderr1296 === End of file commands.log === Start of file http_server.log 17:50:55.854526 ====> Client connect 17:50:55.854567 accept_connection 3 returned 4 17:50:55.854589 accept_connection 3 returned 0 17:50:55.854606 Read 93 bytes 17:50:55.854617 Process 93 bytes request 17:50:55.854632 Got request: GET /verifiedserver HTTP/1.1 17:50:55.854642 Are-we-friendly question received 17:50:55.854672 Wrote request (93 bytes) input to log/14/server.input 17:50:55.854693 Identifying ourselves as friends 17:50:55.854761 Response sent (56 bytes) and written to log/14/server.response 17:50:55.854773 special request received, no persistency 17:50:55.854783 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 44716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1296 ==149332== ==149332== Process terminating with default action of signal 4 (SIGILL) ==149332== Illegal opcode at address 0x4014520 ==149332== at 0x4014520: getparameter (tool_getparam.c:2862) ==149332== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==149332== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==149332== by 0x4003728: main (tool_main.c:186) === End of file valgrind1296 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/18/valgrind1298 ../src/curl -q --output log/18/curl1298.out --include --trace-ascii log/18/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:34067/" -H "Testno: 1298" > log/18/stdout1298 2> log/18/stderr1298 1298: 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 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/18/valgrind1298 ../src/curl -q --output log/18/curl1298.out --include --trace-ascii log/18/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:34067/" -H "Testno: 1298" > log/18/stdout1298 2> log/18/stderr1298 === End of file commands.log === Start of file http_server.log 17:50:55.136430 ====> Client connect 17:50:55.136463 accept_connection 3 returned 4 17:50:55.136479 accept_connection 3 returned 0 17:50:55.136492 Read 93 bytes 17:50:55.136502 Process 93 bytes request 17:50:55.136515 Got request: GET /verifiedserver HTTP/1.1 17:50:55.136523 Are-we-friendly question received 17:50:55.136549 Wrote request (93 bytes) inputCMD (33792): ../libtool --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/valgrind1287 ../src/curl -q --output log/10/curl1287.out --include --trace-ascii log/10/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:37881 http://test.1287:32889/we/want/that/page/1287 > log/10/stdout1287 2> log/10/stderr1287 CMD (33792): ../libtool --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/valgrind1299 ../src/curl -q --output log/23/curl1299.out --include --trace-ascii log/23/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:39173/ -H "Testno: 1299" > log/23/stdout1299 2> log/23/stderr1299 to log/18/server.input 17:50:55.136564 Identifying ourselves as friends 17:50:55.136621 Response sent (56 bytes) and written to log/18/server.response 17:50:55.136632 special request received, no persistency 17:50:55.136641 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 58702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1298 ==149511== ==149511== Process terminating with default action of signal 4 (SIGILL) ==149511== Illegal opcode at address 0x4014520 ==149511== at 0x4014520: getparameter (tool_getparam.c:2862) ==149511== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==149511== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==149511== by 0x4003728: main (tool_main.c:186) === End of file valgrind1298 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/10/server/http2_server.pid" --logfile "log/10/http2_server.log" --logdir "log/10" --portfile log/10/server/http2_server.port --config log/10/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 148891 port 37881 * pid http-proxy => 148891 148891 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/10/valgrind1287 ../src/curl -q --output log/10/curl1287.out --include --trace-ascii log/10/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:37881 http://test.1287:32889/we/want/that/page/1287 > log/10/stdout1287 2> log/10/stderr1287 1287: 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 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/10/valgrind1287 ../src/curl -q --output log/10/curl1287.out --include --trace-ascii log/10/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:37881 http://test.1287:32889/we/want/that/page/1287 > log/10/stdout1287 2> log/10/stderr1287 === End of file commands.log === Start of file http2_server.log 17:50:54.946698 Run as proxy, CONNECT to host 127.0.0.1 17:50:54.946830 Running HTTP IPv4 version on port 37881 17:50:54.946875 Wrote pid 148891 to log/10/server/http2_server.pid 17:50:54.946905 Wrote port 37881 to log/10/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:50:53.878651 ====> Client connect 17:50:53.878691 accept_connection 3 returned 4 17:50:53.878712 accept_connection 3 returned 0 17:50:53.878727 Read 93 bytes 17:50:53.878737 Process 93 bytes request 17:50:53.878751 Got request: GET /verifiedserver HTTP/1.1 17:50:53.878760 Are-we-friendly question received 17:50:53.878975 Wrote request (93 bytes) input to log/10/server.input 17:50:53.878998 Identifying ourselves as friends 17:50:53.879067 Response sent (56 bytes) and written to log/10/server.response 17:50:53.879079 special request received, no persistency 17:50:53.879088 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 35680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind1287 ==149365== ==149365== Process terminating with default action of signal 4 (SIGILL) ==149365== Illegal opcode at address 0x4014520 ==149365== at 0x4014520: getparameter (tool_getparam.c:2862) ==149365== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==149365== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==149365== by 0x4003728: main (tool_main.c:186) === End of file valgrind1287 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/23/valgrind1299 ../src/curl -q --output log/23/curl1299.out --include --trace-ascii log/23/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:39173/ -H "Testno: 1299" > log/23/stdout1299 2> log/23/stderr1299 1299: 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 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/23/valgrind1299 ../src/curl -q --output log/23/curl1299.out --include --trace-ascii log/23/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:39173/ -H "Testno: 1299" > log/23/stdout1299 2> log/23/stderr1299 === End of file commands.log === Start of file http_server.log 17:50:56.169558 ====> Client connect 17:50:56.169600 accept_connection 3 returned 4 17:50:56.169619 accept_connection 3 returned 0 17:50:56.169636 Read 93 bytes 17:50:56.169645 Process 93 bytes request 17:50:56.169659 Got request: GET /verifiedserver HTTP/1.1 17:50:56.169668 Are-we-friendly question received 17:50:56.169697 Wrote request (93 bytes) input to log/23/server.input 17:50:56.169713 Identifying ourselves as friends 17:50:56.169778 Response sent (56 bytes) and written to log/23/server.response 17:50:56.169790 special request received, no persistency 17:50:56.169799 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 58796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1299 ==149546== ==149546== Process terminating with default action of signal 4 (SIGILL) ==149546== Illegal opcode at address 0x4014520 ==149546== at 0x4014520: getparameter (tool_getparam.c:2862) ==149546== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==149546== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==149546== by 0x4003728: main (tool_main.c:186) CMD (33792): ../libtool --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/valgrind1308 ./libtest/libtests lib1308 log/15/test-1308 > log/15/stdout1308 2> log/15/stderr1308 RUN: Process with pid 145674 forced to die with SIGKILL CMD (33792): ../libtool --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/valgrind1310 ../src/curl -q --trace-ascii log/4/trace1310 --trace-time http://127.0.0.1:34411/junk -J -O --show-headers --output-dir log/4 > log/4/stdout1310 2> log/4/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/8/valgrind1309 ./unit/units unit1309 - > log/8/stdout1309 2> log/8/stderr1309 === End of file valgrind1299 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/15/valgrind1308 ./libtest/libtests lib1308 log/15/test-1308 > log/15/stdout1308 2> log/15/stderr1308 libtests returned 132, when expecting 0 1308: exit FAILED == Contents of files in the log/15/ 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/15/valgrind1308 ./libtest/libtests lib1308 log/15/test-1308 > log/15/stdout1308 2> log/15/stderr1308 === End of file commands.log === Start of file server.cmd Testnum 1308 === End of file server.cmd === Start of file stderr1308 URL: log/15/test-1308 === End of file stderr1308 === 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 ==149893== ==149893== Process terminating with default action of signal 4 (SIGILL) ==149893== Illegal opcode at address 0x518CEF5 ==149893== at 0x518CEF5: UnknownInlinedFun (string_fortified.h:59) ==149893== by 0x518CEF5: curl_mime_init (mime.c:1271) ==149893== by 0x5159F28: Curl_getformdata.part.0 (formdata.c:732) ==149893== by 0x515A432: UnknownInlinedFun (formdata.c:729) ==149893== by 0x515A432: curl_formget (formdata.c:638) ==149893== by 0x4024BC4: test_lib1308.lto_priv.0 (lib1308.c:72) ==149893== by 0x40034B5: main (first.c:279) ==149893== 96 bytes in 1 blocks are definitely lost in loss record 647 of 796 ==149893== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==149893== by 0x518CECF: curl_mime_init (mime.c:1264) ==149893== by 0x5159F28: Curl_getformdata.part.0 (formdata.c:732) ==149893== by 0x515A432: UnknownInlinedFun (formdata.c:729) ==149893== by 0x515A432: curl_formget (formdata.c:638) ==149893== by 0x4024BC4: test_lib1308.lto_priv.0 (lib1308.c:72) ==149893== by 0x40034B5: main (first.c:279) ==149893== === End of file valgrind1308 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 145674 port 39991 * pid tftp => 145674 145674 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/9/valgrind1238 ../src/curl -q --output log/9/curl1238.out --include --trace-ascii log/9/trace1238 --trace-time tftp://127.0.0.1:39991//1238 -Y1000 -y2 > log/9/stdout1238 2> log/9/stderr1238 1238: 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 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/9/valgrind1238 ../src/curl -q --output log/9/curl1238.out --include --trace-ascii log/9/trace1238 --trace-time tftp://127.0.0.1:39991//1238 -Y1000 -y2 > log/9/stdout1238 2> log/9/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 17:50:49.871689 Wrote pid 145674 to log/9/server/tftp_server.pid 17:50:49.871758 Wrote port 39991 to log/9/server/tftp_server.port 17:50:49.871771 Running IPv4 version on port UDP/39991 exit_signal_handler: called === End of file tftp_server.log === Start of file valgrind1238 ==146064== ==146064== Process terminating with default action of signal 4 (SIGILL) ==146064== Illegal opcode at address 0x4014520 ==146064== at 0x4014520: getparameter (tool_getparam.c:2862) ==146064== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==146064== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==146064== by 0x4003728: main (tool_main.c:186) === End of file valgrind1238 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/4/valgrind1310 ../src/curl -q --trace-ascii log/4/trace1310 --trace-time http://127.0.0.1:34411/junk -J -O --show-headers --output-dir log/4 > log/4/stdout1310 2> log/4/stderr1310 1310: 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 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/4/valgrind1310 ../src/curl -q --trace-ascii log/4/trace1310 --trace-time http://127.0.0.1:34411/junk -J -O --show-headers --output-dir log/4 > log/4/stdout1310 2> log/4/stderr1310 === End of file commands.log === Start of file http_server.log 17:50:55.992904 ====> Client connect 17:50:55.992950 accept_connection 3 returned 4 17:50:55.992975 accept_connection 3 returned 0 17:50:55.992992 Read 93 bytes 17:50:55.993002 Process 93 bytes request 17:50:55.993015 Got request: GET /verifiedserver HTTP/1.1 17:50:55.993025 Are-we-friendly question received 17:50:55.993051 Wrote request (93 bytes) input to log/4/server.input 17:50:55.993068 Identifying ourselves as friends 17:50:55.993149 Response sent (56 bytes) and written to log/4/server.response 17:50:55.993160 special request received, no persistency 17:50:55.993169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 42866 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind1310 ==150044== ==150044== Process terminating with default action of signal 4 (SIGILL) ==150044== Illegal opcode at address 0x4014520 ==150044== at 0x4014520: getparameter (tool_getparam.c:2862) ==150044== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150044== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150044== by 0x4003728: main (tool_main.c:186) === End of file valgrind1310 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/8/valgrind1309 ./unit/units unit1309 - > log/8/stdout1309 2> log/8/stderr1309 1309: stdout FAILED: --- log/8/check-expected 2026-01-28 17:50:57.953222052 +0000 +++ log/8/check-generated 2026-01-28 17:50:57.953222052 +0000 @@ -1,1537 +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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 2, payload 59[LF] -Tree look:[LF] - 0.659[3][LF] - 0.600[2][LF] - 0.177[1][LF] -0.118[0][LF] -remove pointer 3, payload 600[LF] -Tree look:[LF] - 0.659[1][LF] -0.177[0][LF] - 0.118[1][LF] -remove pointer 4, payload 118[LF] -Tree look:[LF] - 0.659[1][LF] -0.177[0][LF] -remove pointer 5, payload 659[LF] -Tree look:[LF] -0.177[0][LF] -remove pointer 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] == Contents of files in the log/8/ 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 37, payload 580[LF] Tree look:[LF] 0.934[2][LF] 0.875[3][LF] === File too long: 136 lines omitted here remove pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 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 pointer 2, payload 59[LF] Tree look:[LF] 0.659[3][LF] 0.600[2][LF] 0.177[1][LF] 0.118[0][LF] remove pointer 3, payload 600[LF] Tree look:[LF] 0.659[1][LF] 0.177[0][LF] 0.118[1][LF] remove pointer 4, payload 118[LF] Tree look:[LF] 0.659[1][LF] 0.177[0][LF] remove pointer 5, payload 659[LF] Tree look:[LF] 0.177[0][LF] remove pointer 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[CMD (33792): ../libtool --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/valgrind1311 ../src/curl -q --trace-ascii log/16/trace1311 --trace-time http://127.0.0.1:40899/1311 -J -O --output-dir log/16 > log/16/stdout1311 2> log/16/stderr1311 CMD (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/valgrind1323 ./unit/units unit1323 - > log/22/stdout1323 2> log/22/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/11/valgrind1312 ../src/curl -q --trace-ascii log/11/trace1312 --trace-time 127.0.0.1:46439/1312 -J -O --output-dir log/11 > log/11/stdout1312 2> log/11/stderr1312 CMD (33792): ../libtool --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/valgrind1314 ../src/curl -q --output log/5/curl1314.out --include --trace-ascii log/5/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:46875 > log/5/stdout1314 2> log/5/stderr1314 0][LF] removed payload 1003[1][LF] removed payload 1013[0][LF] removed payload 1013[1][LF] removed payload 1013[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/8/valgrind1309 ./unit/units unit1309 - > log/8/stdout1309 2> log/8/stderr1309 === End of file commands.log === Start of file server.cmd Testnum 1309 === End of file server.cmd === Start of file stderr1309 URL: - === End of file stderr1309 === Start of file valgrind1309 ==150335== ==150335== Process terminating with default action of signal 4 (SIGILL) ==150335== Illegal opcode at address 0x400E0EC ==150335== at 0x400E0EC: test_unit1309.lto_priv.0 (unit1309.c:77) ==150335== by 0x400B165: main (first.c:279) === End of file valgrind1309 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/16/valgrind1311 ../src/curl -q --trace-ascii log/16/trace1311 --trace-time http://127.0.0.1:40899/1311 -J -O --output-dir log/16 > log/16/stdout1311 2> log/16/stderr1311 1311: 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 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/16/valgrind1311 ../src/curl -q --trace-ascii log/16/trace1311 --trace-time http://127.0.0.1:40899/1311 -J -O --output-dir log/16 > log/16/stdout1311 2> log/16/stderr1311 === End of file commands.log === Start of file http_server.log 17:50:55.987968 ====> Client connect 17:50:55.988007 accept_connection 3 returned 4 17:50:55.988025 accept_connection 3 returned 0 17:50:55.988179 Read 93 bytes 17:50:55.988195 Process 93 bytes request 17:50:55.988207 Got request: GET /verifiedserver HTTP/1.1 17:50:55.988216 Are-we-friendly question received 17:50:55.988248 Wrote request (93 bytes) input to log/16/server.input 17:50:55.988266 Identifying ourselves as friends 17:50:55.988329 Response sent (56 bytes) and written to log/16/server.response 17:50:55.988339 special request received, no persistency 17:50:55.988348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 36440 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === End of file http_verify.out === 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: 74819 === End of file server.response === Start of file valgrind1311 ==150019== ==150019== Process terminating with default action of signal 4 (SIGILL) ==150019== Illegal opcode at address 0x4014520 ==150019== at 0x4014520: getparameter (tool_getparam.c:2862) ==150019== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150019== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150019== by 0x4003728: main (tool_main.c:186) === End of file valgrind1311 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/22/valgrind1323 ./unit/units unit1323 - > log/22/stdout1323 2> log/22/stderr1323 -------e-v- OK (1258 out of 1760, remaining: 00:50, took 1.184s, duration: 02:06) 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/11/valgrind1312 ../src/curl -q --trace-ascii log/11/trace1312 --trace-time 127.0.0.1:46439/1312 -J -O --output-dir log/11 > log/11/stdout1312 2> log/11/stderr1312 1312: 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 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/11/valgrind1312 ../src/curl -q --trace-ascii log/11/trace1312 --trace-time 127.0.0.1:46439/1312 -J -O --output-dir log/11 > log/11/stdout1312 2> log/11/stderr1312 === End of file commands.log === Start of file http_server.log 17:50:56.084285 ====> Client connect 17:50:56.084322 accept_connection 3 returned 4 17:50:56.084337 accept_connection 3 returned 0 17:50:56.084352 Read 93 bytes 17:50:56.084361 Process 93 bytes request 17:50:56.084375 Got request: GET /verifiedserver HTTP/1.1 17:50:56.084384 Are-we-friendly question received 17:50:56.084409 Wrote request (93 bytes) input to log/11/server.input 17:50:56.084426 Identifying ourselves as friends 17:50:56.084483 Response sent (56 bytes) and written to log/11/server.response 17:50:56.084493 special request received, no persistency 17:50:56.084501 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 56240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind1312 ==150096== ==150096== Process terminating with default action of signal 4 (SIGILL) ==150096== Illegal opcode at address 0x4014520 ==150096== at 0x4014520: getparameter (tool_getparam.c:2862) ==150096== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150096== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150096== by 0x4003728: main (tool_main.c:186) === End of file valgrind1312 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/5/valgrind1314 ../src/curl -q --output log/5/curl1314.out --include --trace-ascii log/5/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:46875 > log/5/stdout1314 2> log/5/stderr1314 1314: 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 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/5/valgrind1314 ../src/curl -q --output log/5/curl1314.out --include --trace-ascii log/5/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:46875 > log/5/stdout1314 2> log/5/stderr1314 === End of file commands.log === Start of file http_server.log 17:50:56.231003 ====> Client connect 17:50:56.231044 accept_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/17/valgrind1313 ../src/curl -q --trace-ascii log/17/trace1313 --trace-time http://127.0.0.1:44593/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/valgrind1317 ../src/curl -q --output log/24/curl1317.out --include --trace-ascii log/24/trace1317 --trace-time --resolve example.com:39649:127.0.0.1 http://example.com:39649/1317 > log/24/stdout1317 2> log/24/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/13/valgrind1315 ../src/curl -q --output log/13/curl1315.out --include --trace-ascii log/13/trace1315 --trace-time http://127.0.0.1:43845/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 ection 3 returned 4 17:50:56.231063 accept_connection 3 returned 0 17:50:56.231080 Read 93 bytes 17:50:56.231089 Process 93 bytes request 17:50:56.231103 Got request: GET /verifiedserver HTTP/1.1 17:50:56.231112 Are-we-friendly question received 17:50:56.231139 Wrote request (93 bytes) input to log/5/server.input 17:50:56.231156 Identifying ourselves as friends 17:50:56.231220 Response sent (56 bytes) and written to log/5/server.response 17:50:56.231230 special request received, no persistency 17:50:56.231238 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 35968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind1314 ==150218== ==150218== Process terminating with default action of signal 4 (SIGILL) ==150218== Illegal opcode at address 0x4014520 ==150218== at 0x4014520: getparameter (tool_getparam.c:2862) ==150218== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150218== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150218== by 0x4003728: main (tool_main.c:186) === End of file valgrind1314 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:44593/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:44593/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 17:50:56.172939 ====> Client connect 17:50:56.173000 accept_connection 3 returned 4 17:50:56.173023 accept_connection 3 returned 0 17:50:56.173041 Read 93 bytes 17:50:56.173051 Process 93 bytes request 17:50:56.173064 Got request: GET /verifiedserver HTTP/1.1 17:50:56.173073 Are-we-friendly question received 17:50:56.173098 Wrote request (93 bytes) input to log/17/server.input 17:50:56.173114 Identifying ourselves as friends 17:50:56.173228 Response sent (56 bytes) and written to log/17/server.response 17:50:56.173237 special request received, no persistency 17:50:56.173246 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 49774 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1313 ==150185== ==150185== Process terminating with default action of signal 4 (SIGILL) ==150185== Illegal opcode at address 0x4014520 ==150185== at 0x4014520: getparameter (tool_getparam.c:2862) ==150185== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150185== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150185== by 0x4003728: main (tool_main.c:186) === End of file valgrind1313 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/24/valgrind1317 ../src/curl -q --output log/24/curl1317.out --include --trace-ascii log/24/trace1317 --trace-time --resolve example.com:39649:127.0.0.1 http://example.com:39649/1317 > log/24/stdout1317 2> log/24/stderr1317 1317: 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 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/24/valgrind1317 ../src/curl -q --output log/24/curl1317.out --include --trace-ascii log/24/trace1317 --trace-time --resolve example.com:39649:127.0.0.1 http://example.com:39649/1317 > log/24/stdout1317 2> log/24/stderr1317 === End of file commands.log === Start of file http_server.log 17:50:56.685652 ====> Client connect 17:50:56.685688 accept_connection 3 returned 4 17:50:56.685707 accept_connection 3 returned 0 17:50:56.685722 Read 93 bytes 17:50:56.685731 Process 93 bytes request 17:50:56.685745 Got request: GET /verifiedserver HTTP/1.1 17:50:56.685754 Are-we-friendly question received 17:50:56.685781 Wrote request (93 bytes) input to log/24/server.input 17:50:56.685797 Identifying ourselves as friends 17:50:56.685858 Response sent (56 bytes) and written to log/24/server.response 17:50:56.685869 special request received, no persistency 17:50:56.685878 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 58476 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1317 ==150480== ==150480== Process terminating with default action of signal 4 (SIGILL) ==150480== Illegal opcode at address 0x4014520 ==150480== at 0x4014520: getparameter (tool_getparam.c:2862) ==150480== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150480== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150480== by 0x4003728: main (tool_main.c:186) === End of file valgrind1317 test 1315...[HTTP RFC1867-type formposting - -F with 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:43845/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 alCMD (33792): ../libtool --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/valgrind1327 ../src/curl -q --include --trace-ascii log/2/trace1327 --trace-time telnet://127.0.0.1:38779 -T log/2/1327.txt log/2/stdout1327 2> log/2/stderr1327 CMD (33792): ../libtool --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/valgrind1318 ../src/curl -q --output log/3/curl1318.out --include --trace-ascii log/3/trace1318 --trace-time --resolve MiXeDcAsE.cOm:45927:127.0.0.1 http://MiXeDcAsE.cOm:45927/1318 http://mixedcase.com:45927/13180001 > log/3/stdout1318 2> log/3/stderr1318 l 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:43845/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 17:50:57.435280 ====> Client connect 17:50:57.435319 accept_connection 3 returned 4 17:50:57.435339 accept_connection 3 returned 0 17:50:57.435355 Read 93 bytes 17:50:57.435365 Process 93 bytes request 17:50:57.435378 Got request: GET /verifiedserver HTTP/1.1 17:50:57.435388 Are-we-friendly question received 17:50:57.435416 Wrote request (93 bytes) input to log/13/server.input 17:50:57.435435 Identifying ourselves as friends 17:50:57.435498 Response sent (56 bytes) and written to log/13/server.response 17:50:57.435510 special request received, no persistency 17:50:57.435519 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 52158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file test1315.txt dummy data === End of file test1315.txt === Start of file valgrind1315 ==150341== ==150341== Process terminating with default action of signal 4 (SIGILL) ==150341== Illegal opcode at address 0x4014520 ==150341== at 0x4014520: getparameter (tool_getparam.c:2862) ==150341== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150341== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150341== by 0x4003728: main (tool_main.c:186) === End of file valgrind1315 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/2/valgrind1327 ../src/curl -q --include --trace-ascii log/2/trace1327 --trace-time telnet://127.0.0.1:38779 -T log/2/1327.txt log/2/stdout1327 2> log/2/stderr1327 1327: 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 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/2/valgrind1327 ../src/curl -q --include --trace-ascii log/2/trace1327 --trace-time telnet://127.0.0.1:38779 -T log/2/1327.txt log/2/stdout1327 2> log/2/stderr1327 === End of file commands.log === Start of file http_server.log 17:50:57.337654 ====> Client connect 17:50:57.337693 accept_connection 3 returned 4 17:50:57.337710 accept_connection 3 returned 0 17:50:57.337849 Read 93 bytes 17:50:57.337862 Process 93 bytes request 17:50:57.337877 Got request: GET /verifiedserver HTTP/1.1 17:50:57.337886 Are-we-friendly question received 17:50:57.337913 Wrote request (93 bytes) input to log/2/server.input 17:50:57.337930 Identifying ourselves as friends 17:50:57.337986 Response sent (56 bytes) and written to log/2/server.response 17:50:57.337996 special request received, no persistency 17:50:57.338004 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 41134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === 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 ==150848== ==150848== Process terminating with default action of signal 4 (SIGILL) ==150848== Illegal opcode at address 0x4014520 ==150848== at 0x4014520: getparameter (tool_getparam.c:2862) ==150848== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150848== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150848== by 0x4003728: main (tool_main.c:186) === End of file valgrind1327 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/3/valgrind1318 ../src/curl -q --output log/3/curl1318.out --include --trace-ascii log/3/trace1318 --trace-time --resolve MiXeDcAsE.cOm:45927:127.0.0.1 http://MiXeDcAsE.cOm:45927/1318 http://mixedcase.com:45927/13180001 > log/3/stdout1318 2> log/3/stderr1318 1318: 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 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/3/valgrind1318 ../src/curl -q --output log/3/curl1318.out --include --trace-ascii log/3/trace1318 --trace-time --resolve MiXeDcAsE.cOm:45927:127.0.0.1 http://MiXeDcAsE.cOm:45927/1318 http://mixedcase.com:45927/13180001 > log/3/stdout1318 2> log/3/stderr1318 === End of file commands.log === Start of file http_server.log 17:50:56.701365 ====> Client connect 17:50:56.701400 accept_connection 3 returned 4 17:50:56.701418 accept_connection 3 returned 0 17:50:56.701434 Read 93 bytes 17:50:56.701445 Process 93 bytes request 17:50:56.701459 Got request: GET /verifiedserver HTTP/1.1 17:50:56.701467 Are-we-friendly question received 17:50:56.701492 Wrote request (93 bytes) input to log/3/server.input 17:50:56.701508 Identifying ourselves as friends 17:50:56.701563 Response sent (56 bytes) and written to log/3/server.response 17:50:56.701572 special request received, no persistency 17:50:56.701580 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 49574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === End of file http_verify.out === Start of file server.cmd Testnum 1318 === 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/12/valgrind1322 ../src/curl -q --output log/12/curl1322.out --include --trace-ascii log/12/trace1322 --trace-time --ipv4 --resolve example.com.:36641:127.0.0.1 http://example.com.:36641/1322 > log/12/stdout1322 2> log/12/stderr1322 CMD (33792): ../libtool --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/valgrind1329 ../src/curl -q --output log/18/curl1329.out --include --trace-ascii log/18/trace1329 --trace-time http://127.0.0.1:34067/we/want/that/page/1329 -x "/server" > log/18/stdout1329 2> log/18/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/7/valgrind1325 ../src/curl -q --output log/7/curl1325.out --include --trace-ascii log/7/trace1325 --trace-time http://127.0.0.1:35671/we/1325 -L -d "moo" > log/7/stdout1325 2> log/7/stderr1325 sponse HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75287 === End of file server.response === Start of file valgrind1318 ==150487== ==150487== Process terminating with default action of signal 4 (SIGILL) ==150487== Illegal opcode at address 0x4014520 ==150487== at 0x4014520: getparameter (tool_getparam.c:2862) ==150487== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150487== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150487== by 0x4003728: main (tool_main.c:186) === End of file valgrind1318 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/12/valgrind1322 ../src/curl -q --output log/12/curl1322.out --include --trace-ascii log/12/trace1322 --trace-time --ipv4 --resolve example.com.:36641:127.0.0.1 http://example.com.:36641/1322 > log/12/stdout1322 2> log/12/stderr1322 1322: 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 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/12/valgrind1322 ../src/curl -q --output log/12/curl1322.out --include --trace-ascii log/12/trace1322 --trace-time --ipv4 --resolve example.com.:36641:127.0.0.1 http://example.com.:36641/1322 > log/12/stdout1322 2> log/12/stderr1322 === End of file commands.log === Start of file http_server.log 17:50:56.960485 ====> Client connect 17:50:56.960517 accept_connection 3 returned 4 17:50:56.960532 accept_connection 3 returned 0 17:50:56.960545 Read 93 bytes 17:50:56.960554 Process 93 bytes request 17:50:56.960567 Got request: GET /verifiedserver HTTP/1.1 17:50:56.960575 Are-we-friendly question received 17:50:56.960599 Wrote request (93 bytes) input to log/12/server.input 17:50:56.960614 Identifying ourselves as friends 17:50:56.960665 Response sent (56 bytes) and written to log/12/server.response 17:50:56.960674 special request received, no persistency 17:50:56.960682 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 58924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1322 ==150654== ==150654== Process terminating with default action of signal 4 (SIGILL) ==150654== Illegal opcode at address 0x4014520 ==150654== at 0x4014520: getparameter (tool_getparam.c:2862) ==150654== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150654== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150654== by 0x4003728: main (tool_main.c:186) === End of file valgrind1322 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/18/valgrind1329 ../src/curl -q --output log/18/curl1329.out --include --trace-ascii log/18/trace1329 --trace-time http://127.0.0.1:34067/we/want/that/page/1329 -x "/server" > log/18/stdout1329 2> log/18/stderr1329 curl returned 132, when expecting 5 1329: exit FAILED == Contents of files in the log/18/ 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/18/valgrind1329 ../src/curl -q --output log/18/curl1329.out --include --trace-ascii log/18/trace1329 --trace-time http://127.0.0.1:34067/we/want/that/page/1329 -x "/server" > log/18/stdout1329 2> log/18/stderr1329 === End of file commands.log === Start of file http_server.log 17:50:57.346306 ====> Client connect 17:50:57.346351 accept_connection 3 returned 4 17:50:57.346371 accept_connection 3 returned 0 17:50:57.346386 Read 93 bytes 17:50:57.346395 Process 93 bytes request 17:50:57.346407 Got request: GET /verifiedserver HTTP/1.1 17:50:57.346414 Are-we-friendly question received 17:50:57.346438 Wrote request (93 bytes) input to log/18/server.input 17:50:57.346453 Identifying ourselves as friends 17:50:57.346526 Response sent (56 bytes) and written to log/18/server.response 17:50:57.346534 special request received, no persistency 17:50:57.346541 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 58716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1329 ==150858== ==150858== Process terminating with default action of signal 4 (SIGILL) ==150858== Illegal opcode at address 0x4014520 ==150858== at 0x4014520: getparameter (tool_getparam.c:2862) ==150858== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150858== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150858== by 0x4003728: main (tool_main.c:186) === End of file valgrind1329 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/7/valgrind1325 ../src/curl -q --output log/7/curl1325.out --include --trace-ascii log/7/trace1325 --trace-time http://127.0.0.1:35671/we/1325 -L -d "moo" > log/7/stdout1325 2> log/7/stderr1325 1325: 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 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/7/valgrind1325 ../src/curl -q --output log/7/curl1325.out --include --trace-ascii log/7/trace1325 --trace-time http://127.0.0.1:35671/we/1325 -L -d "moo" > log/7/stdout1325 2> log/7/stderr1325 === End of file commands.log === Start of file http_server.log 17:50:57.083636 ====> Client connect 17:50:57.083675 accept_connection 3 returned 4 17:50:57.083695 accept_connection 3 returned 0 17:50:57.083712 Read 93 bytes 17:50:57.083722 Process 93 bytes request 17:50:57.083737 Got request: GET /verifiedserver HTTP/1.1 17:50:57.083745 Are-we-friendly question received 17:50:57.083789 Wrote request (93 bytes) input to log/7/server.input 17:50:57.083808 Identifying ourselves as friends 17:50:57.083872 Response sent (56 bytes) and written to log/7/server.response 17:50:57.083883 special request received, no persistency 17:50:57.083891 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connectCMD (33792): ../libtool --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/valgrind1331 ../src/curl -q --output log/10/curl1331.out --include --trace-ascii log/10/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:32889 http://z.x.com/1331 --proxy-anyauth -c log/10/dump1331 > log/10/stdout1331 2> log/10/stderr1331 CMD (33792): ../libtool --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/valgrind1328 ../src/curl -q --output log/14/curl1328.out --include --trace-ascii log/14/trace1328 --trace-time -f 'http://127.0.0.1:37569/[13280000-13280001]' -o log/14/#1 > log/14/stdout1328 2> log/14/stderr1328 CMD (33792): ../libtool --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/valgrind1333 ../src/curl -q --output log/15/curl1333.out --include --trace-ascii log/15/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:41057/1333 > log/15/stdout1333 2> log/15/stderr1333 ion to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 32834 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1325 ==150732== ==150732== Process terminating with default action of signal 4 (SIGILL) ==150732== Illegal opcode at address 0x4014520 ==150732== at 0x4014520: getparameter (tool_getparam.c:2862) ==150732== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150732== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150732== by 0x4003728: main (tool_main.c:186) === End of file valgrind1325 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/10/valgrind1331 ../src/curl -q --output log/10/curl1331.out --include --trace-ascii log/10/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:32889 http://z.x.com/1331 --proxy-anyauth -c log/10/dump1331 > log/10/stdout1331 2> log/10/stderr1331 1331: 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 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/10/valgrind1331 ../src/curl -q --output log/10/curl1331.out --include --trace-ascii log/10/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:32889 http://z.x.com/1331 --proxy-anyauth -c log/10/dump1331 > log/10/stdout1331 2> log/10/stderr1331 === End of file commands.log === Start of file http_server.log 17:50:57.416269 ====> Client connect 17:50:57.416324 accept_connection 3 returned 4 17:50:57.416343 accept_connection 3 returned 0 17:50:57.416359 Read 93 bytes 17:50:57.416368 Process 93 bytes request 17:50:57.416382 Got request: GET /verifiedserver HTTP/1.1 17:50:57.416391 Are-we-friendly question received 17:50:57.416418 Wrote request (93 bytes) input to log/10/server.input 17:50:57.416435 Identifying ourselves as friends 17:50:57.416505 Response sent (56 bytes) and written to log/10/server.response 17:50:57.416514 special request received, no persistency 17:50:57.416522 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 35696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind1331 ==150925== ==150925== Process terminating with default action of signal 4 (SIGILL) ==150925== Illegal opcode at address 0x4014520 ==150925== at 0x4014520: getparameter (tool_getparam.c:2862) ==150925== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150925== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150925== by 0x4003728: main (tool_main.c:186) === End of file valgrind1331 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/14/valgrind1328 ../src/curl -q --output log/14/curl1328.out --include --trace-ascii log/14/trace1328 --trace-time -f 'http://127.0.0.1:37569/[13280000-13280001]' -o log/14/#1 > log/14/stdout1328 2> log/14/stderr1328 1328: 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 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/14/valgrind1328 ../src/curl -q --output log/14/curl1328.out --include --trace-ascii log/14/trace1328 --trace-time -f 'http://127.0.0.1:37569/[13280000-13280001]' -o log/14/#1 > log/14/stdout1328 2> log/14/stderr1328 === End of file commands.log === Start of file http_server.log 17:50:58.347604 ====> Client connect 17:50:58.347637 accept_connection 3 returned 4 17:50:58.347659 accept_connection 3 returned 0 17:50:58.347673 Read 93 bytes 17:50:58.347683 Process 93 bytes request 17:50:58.347696 Got request: GET /verifiedserver HTTP/1.1 17:50:58.347705 Are-we-friendly question received 17:50:58.347742 Wrote request (93 bytes) input to log/14/server.input 17:50:58.347759 Identifying ourselves as friends 17:50:58.347819 Response sent (56 bytes) and written to log/14/server.response 17:50:58.347830 special request received, no persistency 17:50:58.347839 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 44732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1328 ==150887== ==150887== Process terminating with default action of signal 4 (SIGILL) ==150887== Illegal opcode at address 0x4014520 ==150887== at 0x4014520: getparameter (tool_getparam.c:2862) ==150887== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==150887== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==150887== by 0x4003728: main (tool_main.c:186) === End of file valgrind1328 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/15/valgrind1333 ../src/curl -q --output log/15/curl1333.out --include --trace-ascii log/15/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:41057/1333 > log/15/stdout1333 2> log/15/stderr1333 1333: 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 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/15/valgrind1333 ../src/curl -q --output log/15/curl1333.out --include --trace-ascii log/15/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:41057/1333 > log/15/stdout1333 2> log/15/stderr1333 === End of file commands.log === 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/1/valgrind1321 ../src/curl -q --output log/1/curl1321.out --include --trace-ascii log/1/trace1321 --trace-time 'imap://imap.1321:33991/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:41823 > log/1/stdout1321 2> log/1/stderr1321 CMD (33792): ../libtool --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/valgrind1320 ../src/curl -q --output log/21/curl1320.out --include --trace-ascii log/21/trace1320 --trace-time smtp://smtp.1320:37253/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:37241 log/21/stdout1320 2> log/21/stderr1320 http_server.log 17:50:57.596923 ====> Client connect 17:50:57.596958 accept_connection 3 returned 4 17:50:57.596975 accept_connection 3 returned 0 17:50:57.596989 Read 93 bytes 17:50:57.596999 Process 93 bytes request 17:50:57.597012 Got request: GET /verifiedserver HTTP/1.1 17:50:57.597021 Are-we-friendly question received 17:50:57.597047 Wrote request (93 bytes) input to log/15/server.input 17:50:57.597063 Identifying ourselves as friends 17:50:57.597118 Response sent (56 bytes) and written to log/15/server.response 17:50:57.597127 special request received, no persistency 17:50:57.597136 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 51926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1333 ==151097== ==151097== Process terminating with default action of signal 4 (SIGILL) ==151097== Illegal opcode at address 0x4014520 ==151097== at 0x4014520: getparameter (tool_getparam.c:2862) ==151097== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151097== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151097== by 0x4003728: main (tool_main.c:186) === End of file valgrind1333 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_server.port --config log/1/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 150627 port 41823 * pid http-proxy => 150627 150627 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:33991/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:41823 > 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-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:33991/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:41823 > log/1/stdout1321 2> log/1/stderr1321 === End of file commands.log === Start of file http2_server.log 17:50:57.959087 Run as proxy, CONNECT to host 127.0.0.1 17:50:57.959228 Running HTTP IPv4 version on port 41823 17:50:57.959279 Wrote pid 150627 to log/1/server/http2_server.pid 17:50:57.959310 Wrote port 41823 to log/1/server/http2_server.port === End of file http2_server.log === Start of file imap_server.log 17:50:57.041236 ====> Client connect 17:50:57.041407 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:50:57.041719 < "A001 CAPABILITY" 17:50:57.041759 > "A001 BAD Command[CR][LF]" 17:50:57.041938 < "A002 LIST "verifiedserver" *" 17:50:57.041967 LIST_imap got "verifiedserver" * 17:50:57.041996 > "* LIST () "/" "WE ROOLZ: 120089"[CR][LF]" 17:50:57.042017 > "A002 OK LIST Completed[CR][LF]" 17:50:57.042031 return proof we are we 17:50:57.084418 < "A003 LOGOUT" 17:50:57.084477 > "* BYE curl IMAP server signing off[CR][LF]" 17:50:57.084498 > "A003 OK LOGOUT completed[CR][LF]" 17:50:57.086173 MAIN sockfilt said DISC 17:50:57.086230 ====> Client disconnected 17:50:57.086317 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:50:57.887295 ====> Client connect 17:50:57.887602 Received DATA (on stdin) 17:50:57.887616 > 164 bytes data, server => client 17:50:57.887628 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:57.887638 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:57.887648 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:50:57.887731 < 17 bytes data, client => server 17:50:57.887745 'A001 CAPABILITY\r\n' 17:50:57.887941 Received DATA (on stdin) 17:50:57.887953 > 18 bytes data, server => client 17:50:57.887963 'A001 BAD Command\r\n' 17:50:57.888022 < 30 bytes data, client => server 17:50:57.888035 'A002 LIST "verifiedserver" *\r\n' 17:50:57.888209 Received DATA (on stdin) 17:50:57.888220 > 34 bytes data, server => client 17:50:57.888231 '* LIST () "/" "WE ROOLZ: 120089"\r\n' 17:50:57.888253 Received DATA (on stdin) 17:50:57.888264 > 24 bytes data, server => client 17:50:57.888274 'A002 OK LIST Completed\r\n' 17:50:57.930379 < 13 bytes data, client => server 17:50:57.930403 'A003 LOGOUT\r\n' 17:50:57.930678 Received DATA (on stdin) 17:50:57.930689 > 36 bytes data, server => client 17:50:57.930700 '* BYE curl IMAP server signing off\r\n' 17:50:57.930720 Received DATA (on stdin) 17:50:57.930729 > 26 bytes data, server => client 17:50:57.930739 'A003 OK LOGOUT completed\r\n' 17:50:57.932278 ====> Client disconnect 17:50:57.932497 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1321 === End of file server.cmd === Start of file valgrind1321 ==151401== ==151401== Process terminating with default action of signal 4 (SIGILL) ==151401== Illegal opcode at address 0x4014520 ==151401== at 0x4014520: getparameter (tool_getparam.c:2862) ==151401== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151401== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151401== by 0x4003728: main (tool_main.c:186) === End of file valgrind1321 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 150541 port 37241 * pid http-proxy => 150541 150541 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/21/valgrind1320 ../src/curl -q --output log/21/curl1320.out --include --trace-ascii log/21/trace1320 --trace-time smtp://smtp.1320:37253/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:37241 log/21/stdout1320 2> log/21/stderr1320 1320: 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 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/21/valgrind1320 ../src/curl -q --output log/21/curl1320.out --include --trace-ascii log/21/trace1320 --trace-time smtp://smtp.1320:37253/1320 --mail-rcpt reciCMD (33792): ../libtool --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/valgrind1334 ../src/curl -q --trace-ascii log/9/trace1334 --trace-time http://127.0.0.1:37413/1334 -O -D log/9/heads1334 --output-dir log/9 > log/9/stdout1334 2> log/9/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/19/valgrind1319 ../src/curl -q --output log/19/curl1319.out --include --trace-ascii log/19/trace1319 --trace-time pop3://pop.1319:41113/1319 -p -x 127.0.0.1:42555 -u user:secret > log/19/stdout1319 2> log/19/stderr1319 pient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:37241 log/21/stdout1320 2> log/21/stderr1320 === End of file commands.log === Start of file http2_server.log 17:50:57.856615 Run as proxy, CONNECT to host 127.0.0.1 17:50:57.856762 Running HTTP IPv4 version on port 37241 17:50:57.856809 Wrote pid 150541 to log/21/server/http2_server.pid 17:50:57.856840 Wrote port 37241 to log/21/server/http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 1320 === End of file server.cmd === Start of file smtp_server.log 17:50:56.965200 ====> Client connect 17:50:56.965343 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:56.965598 < "EHLO verifiedserver" 17:50:56.965635 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:50:56.965782 < "HELP" 17:50:56.965810 > "214 WE ROOLZ: 126376[CR][LF]" 17:50:56.965824 return proof we are we 17:50:56.966025 < "QUIT" 17:50:56.966051 > "221 curl ESMTP server signing off[CR][LF]" 17:50:56.967047 MAIN sockfilt said DISC 17:50:56.967079 ====> Client disconnected 17:50:56.967149 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:50:56.811263 ====> Client connect 17:50:56.811529 Received DATA (on stdin) 17:50:56.811541 > 146 bytes data, server => client 17:50:56.811552 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:56.811562 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:56.811570 '220 \___|\___/|_| \_\_____|\r\n' 17:50:56.811642 < 21 bytes data, client => server 17:50:56.811652 'EHLO verifiedserver\r\n' 17:50:56.811813 Received DATA (on stdin) 17:50:56.811823 > 53 bytes data, server => client 17:50:56.811833 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:50:56.811882 < 6 bytes data, client => server 17:50:56.811891 'HELP\r\n' 17:50:56.811999 Received DATA (on stdin) 17:50:56.812008 > 22 bytes data, server => client 17:50:56.812017 '214 WE ROOLZ: 126376\r\n' 17:50:56.812104 < 6 bytes data, client => server 17:50:56.812115 'QUIT\r\n' 17:50:56.812227 Received DATA (on stdin) 17:50:56.812236 > 35 bytes data, server => client 17:50:56.812246 '221 curl ESMTP server signing off\r\n' 17:50:56.813171 ====> Client disconnect 17:50:56.813337 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 ==151265== ==151265== Process terminating with default action of signal 4 (SIGILL) ==151265== Illegal opcode at address 0x4014520 ==151265== at 0x4014520: getparameter (tool_getparam.c:2862) ==151265== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151265== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151265== by 0x4003728: main (tool_main.c:186) === End of file valgrind1320 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/9/valgrind1334 ../src/curl -q --trace-ascii log/9/trace1334 --trace-time http://127.0.0.1:37413/1334 -O -D log/9/heads1334 --output-dir log/9 > log/9/stdout1334 2> log/9/stderr1334 1334: 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 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/9/valgrind1334 ../src/curl -q --trace-ascii log/9/trace1334 --trace-time http://127.0.0.1:37413/1334 -O -D log/9/heads1334 --output-dir log/9 > log/9/stdout1334 2> log/9/stderr1334 === End of file commands.log === Start of file http_server.log 17:50:57.756228 ====> Client connect 17:50:57.756271 accept_connection 3 returned 4 17:50:57.756289 accept_connection 3 returned 0 17:50:57.756306 Read 93 bytes 17:50:57.756316 Process 93 bytes request 17:50:57.756330 Got request: GET /verifiedserver HTTP/1.1 17:50:57.756339 Are-we-friendly question received 17:50:57.756366 Wrote request (93 bytes) input to log/9/server.input 17:50:57.756384 Identifying ourselves as friends 17:50:57.756471 Response sent (56 bytes) and written to log/9/server.response 17:50:57.756484 special request received, no persistency 17:50:57.756494 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 39674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind1334 ==151253== ==151253== Process terminating with default action of signal 4 (SIGILL) ==151253== Illegal opcode at address 0x4014520 ==151253== at 0x4014520: getparameter (tool_getparam.c:2862) ==151253== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151253== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151253== by 0x4003728: main (tool_main.c:186) === End of file valgrind1334 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/19/server/http2_server.pid" --logfile "log/19/http2_server.log" --logdir "log/19" --portfile log/19/server/http2_server.port --config log/19/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 150499 port 42555 * pid http-proxy => 150499 150499 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/19/valgrind1319 ../src/curl -q --output log/19/curl1319.out --include --trace-ascii log/19/trace1319 --trace-time pop3://pop.1319:41113/1319 -p -x 127.0.0.1:42555 -u user:secret > log/19/stdout1319 2> log/19/stderr1319 1319: 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 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/19/valgrind1319 ../src/curl -q --output log/19/curl1319.out --include --trace-ascii log/19/trace1319 --trace-time pop3://pop.1319:41113/1319 -p -x 127.0.0.1:42555 -u user:secret > log/19/stdout1319 2> log/19/stderr1319 === End of file commands.log === Start of file http2_server.log 17:50:56.800011 Run as proxy, CONNECT to host 127.0.0.1 17:50:56.800135 Running HTTP IPv4 version on port 42555 17:50:56.800346 Wrote pid 150499 to log/19/server/http2_server.pid 17:50:56.800380 Wrote port 42555 to log/19/server/http2_server.port === End of file http2_server.log === Start of file pop3_server.log 17:50:56.857099 ====> Client connect 17:50:56.857437 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:50:56.857766 < "CAPA" 17:50:56.857817 > "-ERR Unrecognized command[CR][LF]" 17:50:56.85802CMD (33792): ../libtool --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/valgrind1339 ../src/curl -q --trace-ascii log/11/trace1339 --trace-time http://127.0.0.1:46439/1339 -J -O -D - --output-dir log/11 > log/11/stdout1339 2> log/11/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/23/valgrind1332 ../src/curl -q --output log/23/curl1332.out --include --trace-ascii log/23/trace1332 --trace-time http://127.0.0.1:39173/blah/1332 -L -d "moo" --post303 > log/23/stdout1332 2> log/23/stderr1332 2 < "RETR verifiedserver" 17:50:56.858056 return proof we are we 17:50:56.858086 > "+OK Mail transfer starts[CR][LF]" 17:50:56.858111 > "WE ROOLZ: 102884[CR][LF]" 17:50:56.858129 > ".[CR][LF]" 17:50:56.903737 < "QUIT" 17:50:56.903816 > "+OK curl POP3 server signing off[CR][LF]" 17:50:56.905075 MAIN sockfilt said DISC 17:50:56.905117 ====> Client disconnected 17:50:56.905212 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:50:56.703170 ====> Client connect 17:50:56.703641 Received DATA (on stdin) 17:50:56.703661 > 164 bytes data, server => client 17:50:56.703673 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:50:56.703683 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:50:56.703693 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:50:56.703779 < 6 bytes data, client => server 17:50:56.703796 'CAPA\r\n' 17:50:56.704002 Received DATA (on stdin) 17:50:56.704015 > 27 bytes data, server => client 17:50:56.704026 '-ERR Unrecognized command\r\n' 17:50:56.704087 < 21 bytes data, client => server 17:50:56.704101 'RETR verifiedserver\r\n' 17:50:56.704310 Received DATA (on stdin) 17:50:56.704322 > 26 bytes data, server => client 17:50:56.704332 '+OK Mail transfer starts\r\n' 17:50:56.704355 Received DATA (on stdin) 17:50:56.704365 > 18 bytes data, server => client 17:50:56.704375 'WE ROOLZ: 102884\r\n' 17:50:56.704388 Received DATA (on stdin) 17:50:56.704398 > 3 bytes data, server => client 17:50:56.704408 '.\r\n' 17:50:56.749659 < 6 bytes data, client => server 17:50:56.749708 'QUIT\r\n' 17:50:56.750015 Received DATA (on stdin) 17:50:56.750032 > 34 bytes data, server => client 17:50:56.750043 '+OK curl POP3 server signing off\r\n' 17:50:56.751192 ====> Client disconnect 17:50:56.751405 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 1319 === End of file server.cmd === Start of file valgrind1319 ==151218== ==151218== Process terminating with default action of signal 4 (SIGILL) ==151218== Illegal opcode at address 0x4014520 ==151218== at 0x4014520: getparameter (tool_getparam.c:2862) ==151218== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151218== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151218== by 0x4003728: main (tool_main.c:186) === End of file valgrind1319 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/11/valgrind1339 ../src/curl -q --trace-ascii log/11/trace1339 --trace-time http://127.0.0.1:46439/1339 -J -O -D - --output-dir log/11 > log/11/stdout1339 2> log/11/stderr1339 1339: 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 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/11/valgrind1339 ../src/curl -q --trace-ascii log/11/trace1339 --trace-time http://127.0.0.1:46439/1339 -J -O -D - --output-dir log/11 > log/11/stdout1339 2> log/11/stderr1339 === End of file commands.log === Start of file http_server.log 17:50:58.266482 ====> Client connect 17:50:58.266516 accept_connection 3 returned 4 17:50:58.266532 accept_connection 3 returned 0 17:50:58.266546 Read 93 bytes 17:50:58.266555 Process 93 bytes request 17:50:58.266568 Got request: GET /verifiedserver HTTP/1.1 17:50:58.266577 Are-we-friendly question received 17:50:58.266602 Wrote request (93 bytes) input to log/11/server.input 17:50:58.266620 Identifying ourselves as friends 17:50:58.266681 Response sent (56 bytes) and written to log/11/server.response 17:50:58.266691 special request received, no persistency 17:50:58.266699 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 50160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind1339 ==151767== ==151767== Process terminating with default action of signal 4 (SIGILL) ==151767== Illegal opcode at address 0x4014520 ==151767== at 0x4014520: getparameter (tool_getparam.c:2862) ==151767== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151767== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151767== by 0x4003728: main (tool_main.c:186) === End of file valgrind1339 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/23/valgrind1332 ../src/curl -q --output log/23/curl1332.out --include --trace-ascii log/23/trace1332 --trace-time http://127.0.0.1:39173/blah/1332 -L -d "moo" --post303 > log/23/stdout1332 2> log/23/stderr1332 1332: 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 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/23/valgrind1332 ../src/curl -q --output log/23/curl1332.out --include --trace-ascii log/23/trace1332 --trace-time http://127.0.0.1:39173/blah/1332 -L -d "moo" --post303 > log/23/stdout1332 2> log/23/stderr1332 === End of file commands.log === Start of file http_server.log 17:50:58.542926 ====> Client connect 17:50:58.542978 accept_connection 3 returned 4 17:50:58.543001 accept_connection 3 returned 0 17:50:58.543019 Read 93 bytes 17:50:58.543029 Process 93 bytes request 17:50:58.543043 Got request: GET /verifiedserver HTTP/1.1 17:50:58.543052 Are-we-friendly question received 17:50:58.543082 Wrote request (93 bytes) input to log/23/server.input 17:50:58.543101 Identifying ourselves as friends 17:50:58.543194 Response sent (56 bytes) and written to log/23/server.response 17:50:58.543205 special request received, no persistency 17:50:58.543214 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 58798 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1332 ==151049== ==151049== Process terminating with default action of signal 4 (SIGILL) ==151049== Illegal opcode at address 0x4014520 ==151049== at 0x4014520: getparameter (tool_getparam.c:2862) ==151049== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151049== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151049== by 0x4003728: 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/4/valgrind1335 ../src/curl -q --trace-ascii log/4/trace1335 --trace-time http://127.0.0.1:34411/1335 -O -D - --output-dir="log/4" > log/4/stdout1335 2> log/4/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/6/valgrind1326 ../src/curl -q --output log/6/curl1326.out --include --trace-ascii log/6/trace1326 --trace-time telnet://127.0.0.1:36645 --upload-file - log/6/stdout1326 2> log/6/stderr1326 CMD (33792): ../libtool --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/valgrind1324 ../src/curl -q --output log/20/curl1324.out --include --trace-ascii log/20/trace1324 --trace-time --resolve example.com:45439:[::1] http://example.com:45439/1324 > log/20/stdout1324 2> log/20/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/5/valgrind1340 ../src/curl -q --trace-ascii log/5/trace1340 --trace-time http://127.0.0.1:46875/1340 -J -O -D log/5/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/5 > log/5/stdout1340 2> log/5/stderr1340 (tool_main.c:186) === End of file valgrind1332 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/4/valgrind1335 ../src/curl -q --trace-ascii log/4/trace1335 --trace-time http://127.0.0.1:34411/1335 -O -D - --output-dir="log/4" > log/4/stdout1335 2> log/4/stderr1335 1335: 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 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/4/valgrind1335 ../src/curl -q --trace-ascii log/4/trace1335 --trace-time http://127.0.0.1:34411/1335 -O -D - --output-dir="log/4" > log/4/stdout1335 2> log/4/stderr1335 === End of file commands.log === Start of file http_server.log 17:50:57.851766 ====> Client connect 17:50:57.851800 accept_connection 3 returned 4 17:50:57.851817 accept_connection 3 returned 0 17:50:57.851831 Read 93 bytes 17:50:57.851840 Process 93 bytes request 17:50:57.851854 Got request: GET /verifiedserver HTTP/1.1 17:50:57.851862 Are-we-friendly question received 17:50:57.851891 Wrote request (93 bytes) input to log/4/server.input 17:50:57.851907 Identifying ourselves as friends 17:50:57.851963 Response sent (56 bytes) and written to log/4/server.response 17:50:57.851972 special request received, no persistency 17:50:57.851980 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 53840 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === End of file http_verify.out === Start of file server.cmd Testnum 1335 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75148 === End of file server.response === Start of file valgrind1335 ==151295== ==151295== Process terminating with default action of signal 4 (SIGILL) ==151295== Illegal opcode at address 0x4014520 ==151295== at 0x4014520: getparameter (tool_getparam.c:2862) ==151295== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151295== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151295== by 0x4003728: main (tool_main.c:186) === End of file valgrind1335 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 150721 port 36645 * pid http => 150721 150721 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/6/valgrind1326 ../src/curl -q --output log/6/curl1326.out --include --trace-ascii log/6/trace1326 --trace-time telnet://127.0.0.1:36645 --upload-file - log/6/stdout1326 2> log/6/stderr1326 1326: 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 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/6/valgrind1326 ../src/curl -q --output log/6/curl1326.out --include --trace-ascii log/6/trace1326 --trace-time telnet://127.0.0.1:36645 --upload-file - log/6/stdout1326 2> log/6/stderr1326 === End of file commands.log === Start of file http_server.log 17:50:57.150070 Running HTTP IPv4 version on port 36645 17:50:57.150203 Wrote pid 150721 to log/6/server/http_server.pid 17:50:57.150240 Wrote port 36645 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1326 === End of file server.cmd === Start of file stdin-for-1326 GET /we/want/1326 HTTP/1.0 === End of file stdin-for-1326 === Start of file valgrind1326 ==151604== ==151604== Process terminating with default action of signal 4 (SIGILL) ==151604== Illegal opcode at address 0x4014520 ==151604== at 0x4014520: getparameter (tool_getparam.c:2862) ==151604== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151604== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151604== by 0x4003728: main (tool_main.c:186) === End of file valgrind1326 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 150634 port 45439 * pid http-ipv6 => 150634 150634 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/20/valgrind1324 ../src/curl -q --output log/20/curl1324.out --include --trace-ascii log/20/trace1324 --trace-time --resolve example.com:45439:[::1] http://example.com:45439/1324 > log/20/stdout1324 2> log/20/stderr1324 1324: 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 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/20/valgrind1324 ../src/curl -q --output log/20/curl1324.out --include --trace-ascii log/20/trace1324 --trace-time --resolve example.com:45439:[::1] http://example.com:45439/1324 > log/20/stdout1324 2> log/20/stderr1324 === End of file commands.log === Start of file http_ipv6_server.log 17:50:57.968412 Running HTTP IPv6 version on port 45439 17:50:57.968524 Wrote pid 150634 to log/20/server/http_ipv6_server.pid 17:50:57.968556 Wrote port 45439 to log/20/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 ==151426== ==151426== Process terminating with default action of signal 4 (SIGILL) ==151426== Illegal opcode at address 0x4014520 ==151426== at 0x4014520: getparameter (tool_getparam.c:2862) ==151426== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151426== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151426== by 0x4003728: main (tool_main.c:186) === End of file valgrind1324 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/5/valgrind1340 ../src/curl -q --trace-ascii log/5/trace1340 --trace-time http://127.0.0.1:46875/1340 -J -O -D log/5/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/5 > log/5/stdout1340 2> log/5/stderr1340 1340: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of filesCMD (33792): ../libtool --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/valgrind1337 ../src/curl -q --trace-ascii log/16/trace1337 --trace-time http://127.0.0.1:40899/1337 -O -D - --output-dir log/16 > log/16/stdout1337 2> log/16/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/24/valgrind1342 ../src/curl -q --trace-ascii log/24/trace1342 --trace-time http://127.0.0.1:39649/1342 -i -O -D log/24/heads1342 --output-dir log/24 > log/24/stdout1342 2> log/24/stderr1342 CMD (33792): ../libtool --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:42045/1336 -O -D log/8/heads1336 --output-dir log/8 > log/8/stdout1336 2> log/8/stderr1336 in the log/5/ 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/5/valgrind1340 ../src/curl -q --trace-ascii log/5/trace1340 --trace-time http://127.0.0.1:46875/1340 -J -O -D log/5/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/5 > log/5/stdout1340 2> log/5/stderr1340 === End of file commands.log === Start of file http_server.log 17:50:58.319573 ====> Client connect 17:50:58.319618 accept_connection 3 returned 4 17:50:58.319635 accept_connection 3 returned 0 17:50:58.319651 Read 93 bytes 17:50:58.319660 Process 93 bytes request 17:50:58.319674 Got request: GET /verifiedserver HTTP/1.1 17:50:58.319683 Are-we-friendly question received 17:50:58.319711 Wrote request (93 bytes) input to log/5/server.input 17:50:58.319732 Identifying ourselves as friends 17:50:58.319818 Response sent (56 bytes) and written to log/5/server.response 17:50:58.319827 special request received, no persistency 17:50:58.319836 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 55734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind1340 ==151840== ==151840== Process terminating with default action of signal 4 (SIGILL) ==151840== Illegal opcode at address 0x4014520 ==151840== at 0x4014520: getparameter (tool_getparam.c:2862) ==151840== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151840== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151840== by 0x4003728: main (tool_main.c:186) === End of file valgrind1340 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/16/valgrind1337 ../src/curl -q --trace-ascii log/16/trace1337 --trace-time http://127.0.0.1:40899/1337 -O -D - --output-dir log/16 > log/16/stdout1337 2> log/16/stderr1337 1337: 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 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/16/valgrind1337 ../src/curl -q --trace-ascii log/16/trace1337 --trace-time http://127.0.0.1:40899/1337 -O -D - --output-dir log/16 > log/16/stdout1337 2> log/16/stderr1337 === End of file commands.log === Start of file http_server.log 17:50:58.082334 ====> Client connect 17:50:58.082372 accept_connection 3 returned 4 17:50:58.082389 accept_connection 3 returned 0 17:50:58.082404 Read 93 bytes 17:50:58.082414 Process 93 bytes request 17:50:58.082428 Got request: GET /verifiedserver HTTP/1.1 17:50:58.082437 Are-we-friendly question received 17:50:58.082465 Wrote request (93 bytes) input to log/16/server.input 17:50:58.082482 Identifying ourselves as friends 17:50:58.082543 Response sent (56 bytes) and written to log/16/server.response 17:50:58.082554 special request received, no persistency 17:50:58.082563 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 45602 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind1337 ==151621== ==151621== Process terminating with default action of signal 4 (SIGILL) ==151621== Illegal opcode at address 0x4014520 ==151621== at 0x4014520: getparameter (tool_getparam.c:2862) ==151621== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151621== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151621== by 0x4003728: main (tool_main.c:186) === End of file valgrind1337 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:42045/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:42045/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 17:50:57.904945 ====> Client connect 17:50:57.904983 accept_connection 3 returned 4 17:50:57.905001 accept_connection 3 returned 0 17:50:57.905017 Read 93 bytes 17:50:57.905027 Process 93 bytes request 17:50:57.905042 Got request: GET /verifiedserver HTTP/1.1 17:50:57.905051 Are-we-friendly question received 17:50:57.905082 Wrote request (93 bytes) input to log/8/server.input 17:50:57.905101 Identifying ourselves as friends 17:50:57.905167 Response sent (56 bytes) and written to log/8/server.response 17:50:57.905180 special request received, no persistency 17:50:57.905189 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 60072 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind1336 ==151372== ==151372== Process terminating with default action of signal 4 (SIGILL) ==151372== Illegal opcode at address 0x4014520 ==151372== at 0x4014520: getparameter (tool_getparam.c:2862) ==151372== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151372== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151372== by 0x4003728: main (tool_main.c:186) === End of file valgrind1336 test 1342...[HTTP GET with -O -i without Content-DispositCMD (33792): ../libtool --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/valgrind1341 ../src/curl -q --trace-ascii log/17/trace1341 --trace-time http://127.0.0.1:44593/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/17 > log/17/stdout1341 2> log/17/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/13/valgrind1343 ../src/curl -q --trace-ascii log/13/trace1343 --trace-time http://127.0.0.1:43845/1343 -i -O -D - --output-dir log/13 > log/13/stdout1343 2> log/13/stderr1343 ion, -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/valgrind1342 ../src/curl -q --trace-ascii log/24/trace1342 --trace-time http://127.0.0.1:39649/1342 -i -O -D log/24/heads1342 --output-dir log/24 > log/24/stdout1342 2> log/24/stderr1342 1342: 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 1342 === Start of file commands.log ../libtool --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/valgrind1342 ../src/curl -q --trace-ascii log/24/trace1342 --trace-time http://127.0.0.1:39649/1342 -i -O -D log/24/heads1342 --output-dir log/24 > log/24/stdout1342 2> log/24/stderr1342 === End of file commands.log === Start of file http_server.log 17:50:58.778496 ====> Client connect 17:50:58.778529 accept_connection 3 returned 4 17:50:58.778545 accept_connection 3 returned 0 17:50:58.778558 Read 93 bytes 17:50:58.778566 Process 93 bytes request 17:50:58.778580 Got request: GET /verifiedserver HTTP/1.1 17:50:58.778588 Are-we-friendly question received 17:50:58.778610 Wrote request (93 bytes) input to log/24/server.input 17:50:58.778624 Identifying ourselves as friends 17:50:58.778675 Response sent (56 bytes) and written to log/24/server.response 17:50:58.778684 special request received, no persistency 17:50:58.778691 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 49064 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1342 ==152007== ==152007== Process terminating with default action of signal 4 (SIGILL) ==152007== Illegal opcode at address 0x4014520 ==152007== at 0x4014520: getparameter (tool_getparam.c:2862) ==152007== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152007== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152007== by 0x4003728: main (tool_main.c:186) === End of file valgrind1342 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/17/valgrind1341 ../src/curl -q --trace-ascii log/17/trace1341 --trace-time http://127.0.0.1:44593/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/17 > log/17/stdout1341 2> log/17/stderr1341 1341: 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 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/17/valgrind1341 ../src/curl -q --trace-ascii log/17/trace1341 --trace-time http://127.0.0.1:44593/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/17 > log/17/stdout1341 2> log/17/stderr1341 === End of file commands.log === Start of file http_server.log 17:50:58.412919 ====> Client connect 17:50:58.412967 accept_connection 3 returned 4 17:50:58.412988 accept_connection 3 returned 0 17:50:58.413008 Read 93 bytes 17:50:58.413018 Process 93 bytes request 17:50:58.413035 Got request: GET /verifiedserver HTTP/1.1 17:50:58.413044 Are-we-friendly question received 17:50:58.413074 Wrote request (93 bytes) input to log/17/server.input 17:50:58.413093 Identifying ourselves as friends 17:50:58.413183 Response sent (56 bytes) and written to log/17/server.response 17:50:58.413197 special request received, no persistency 17:50:58.413206 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 49606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1341 ==151862== ==151862== Process terminating with default action of signal 4 (SIGILL) ==151862== Illegal opcode at address 0x4014520 ==151862== at 0x4014520: getparameter (tool_getparam.c:2862) ==151862== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151862== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151862== by 0x4003728: main (tool_main.c:186) === End of file valgrind1341 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/13/valgrind1343 ../src/curl -q --trace-ascii log/13/trace1343 --trace-time http://127.0.0.1:43845/1343 -i -O -D - --output-dir log/13 > log/13/stdout1343 2> log/13/stderr1343 1343: 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 1343 === Start of file commands.log ../libtool --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/valgrind1343 ../src/curl -q --trace-ascii log/13/trace1343 --trace-time http://127.0.0.1:43845/1343 -i -O -D - --output-dir log/13 > log/13/stdout1343 2> log/13/stderr1343 === End of file commands.log === Start of file http_server.log 17:50:59.973389 ====> Client connect 17:50:59.973422 accept_connection 3 returned 4 17:50:59.973437 accept_connection 3 returned 0 17:50:59.973450 Read 93 bytes 17:50:59.973460 Process 93 bytes request 17:50:59.973473 Got request: GET /verifiedserver HTTP/1.1 17:50:59.973482 Are-we-friendly question received 17:50:59.973506 Wrote request (93 bytes) input to log/13/server.input 17:50:59.973521 Identifying ourselves as friends 17:50:59.973573 Response sent (56 bytes) and written to log/13/server.response 17:50:59.973582 special request received, no persistency 17:50:59.973590 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 38484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === End of file http_verify.out === Start of file server.cmd Testnum 1343 === End of file server.cmd === Start of file 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/22/valgrind1338 ../src/curl -q --trace-ascii log/22/trace1338 --trace-time http://127.0.0.1:42933/1338 -J -O -D log/22/heads1338 --output-dir log/22 > log/22/stdout1338 2> log/22/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/3/valgrind1345 ../src/curl -q --trace-ascii log/3/trace1345 --trace-time http://127.0.0.1:45927/1345 -i -O -D - --output-dir log/3 > log/3/stdout1345 2> log/3/stderr1345 CMD (33792): ../libtool --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/valgrind1346 ../src/curl -q --trace-ascii log/12/trace1346 --trace-time http://127.0.0.1:36641/1346 -i -O --output-dir log/12 > log/12/stdout1346 2> log/12/stderr1346 response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74871 === End of file server.response === Start of file valgrind1343 ==152084== ==152084== Process terminating with default action of signal 4 (SIGILL) ==152084== Illegal opcode at address 0x4014520 ==152084== at 0x4014520: getparameter (tool_getparam.c:2862) ==152084== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152084== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152084== by 0x4003728: main (tool_main.c:186) === End of file valgrind1343 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/22/valgrind1338 ../src/curl -q --trace-ascii log/22/trace1338 --trace-time http://127.0.0.1:42933/1338 -J -O -D log/22/heads1338 --output-dir log/22 > log/22/stdout1338 2> log/22/stderr1338 1338: 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 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/22/valgrind1338 ../src/curl -q --trace-ascii log/22/trace1338 --trace-time http://127.0.0.1:42933/1338 -J -O -D log/22/heads1338 --output-dir log/22 > log/22/stdout1338 2> log/22/stderr1338 === End of file commands.log === Start of file http_server.log 17:50:58.202910 ====> Client connect 17:50:58.202957 accept_connection 3 returned 4 17:50:58.202975 accept_connection 3 returned 0 17:50:58.202991 Read 93 bytes 17:50:58.203000 Process 93 bytes request 17:50:58.203014 Got request: GET /verifiedserver HTTP/1.1 17:50:58.203022 Are-we-friendly question received 17:50:58.203050 Wrote request (93 bytes) input to log/22/server.input 17:50:58.203069 Identifying ourselves as friends 17:50:58.203155 Response sent (56 bytes) and written to log/22/server.response 17:50:58.203164 special request received, no persistency 17:50:58.203172 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 50576 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind1338 ==151710== ==151710== Process terminating with default action of signal 4 (SIGILL) ==151710== Illegal opcode at address 0x4014520 ==151710== at 0x4014520: getparameter (tool_getparam.c:2862) ==151710== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==151710== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==151710== by 0x4003728: main (tool_main.c:186) === End of file valgrind1338 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/3/valgrind1345 ../src/curl -q --trace-ascii log/3/trace1345 --trace-time http://127.0.0.1:45927/1345 -i -O -D - --output-dir log/3 > log/3/stdout1345 2> log/3/stderr1345 1345: 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 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/3/valgrind1345 ../src/curl -q --trace-ascii log/3/trace1345 --trace-time http://127.0.0.1:45927/1345 -i -O -D - --output-dir log/3 > log/3/stdout1345 2> log/3/stderr1345 === End of file commands.log === Start of file http_server.log 17:50:59.139894 ====> Client connect 17:50:59.139934 accept_connection 3 returned 4 17:50:59.139952 accept_connection 3 returned 0 17:50:59.139968 Read 93 bytes 17:50:59.139977 Process 93 bytes request 17:50:59.139990 Got request: GET /verifiedserver HTTP/1.1 17:50:59.139998 Are-we-friendly question received 17:50:59.140021 Wrote request (93 bytes) input to log/3/server.input 17:50:59.140035 Identifying ourselves as friends 17:50:59.140113 Response sent (56 bytes) and written to log/3/server.response 17:50:59.140123 special request received, no persistency 17:50:59.140130 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 37844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1345 ==152166== ==152166== Process terminating with default action of signal 4 (SIGILL) ==152166== Illegal opcode at address 0x4014520 ==152166== at 0x4014520: getparameter (tool_getparam.c:2862) ==152166== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152166== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152166== by 0x4003728: main (tool_main.c:186) === End of file valgrind1345 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/12/valgrind1346 ../src/curl -q --trace-ascii log/12/trace1346 --trace-time http://127.0.0.1:36641/1346 -i -O --output-dir log/12 > log/12/stdout1346 2> log/12/stderr1346 1346: 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 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/12/valgrind1346 ../src/curl -q --trace-ascii log/12/trace1346 --trace-time http://127.0.0.1:36641/1346 -i -O --output-dir log/12 > log/12/stdout1346 2> log/12/stderr1346 === End of file commands.log === Start of file http_server.log 17:50:59.212920 ====> Client connect 17:50:59.212972 accept_connection 3 returned 4 17:50:59.212992 accept_connection 3 returned 0 17:50:59.213009 Read 93 bytes 17:50:59.213018 Process 93 bytes request 17:50:59.213031 Got request: GET /verifiedserver HTTP/1.1 17:50:59.213040 Are-we-friendly question received 17:50:59.213067 Wrote request (93 bytes) input to log/12/server.input 17:50:59.213085 Identifying ourselves as friends 17:50:59.213170 Response sent (56 bytes) and written to log/12/server.response 17:50:59.213181 special request received, no persistency 17:50:59.213190 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 36686 * CMD (33792): ../libtool --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/valgrind1344 ../src/curl -q --trace-ascii log/2/trace1344 --trace-time http://127.0.0.1:38779/1344 -i -O -D log/2/heads1344 --output-dir log/2 > log/2/stdout1344 2> log/2/stderr1344 CMD (33792): ../libtool --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/valgrind1347 ../src/curl -q --trace-ascii log/18/trace1347 --trace-time http://127.0.0.1:34067/1347 -i -O --output-dir log/18 > log/18/stdout1347 2> log/18/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/10/valgrind1349 ../src/curl -q --trace-ascii log/10/trace1349 --trace-time ftp://127.0.0.1:41693/path/file1349 -O -D log/10/heads1349 --output-dir log/10 > log/10/stdout1349 2> log/10/stderr1349 using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1346 ==152207== ==152207== Process terminating with default action of signal 4 (SIGILL) ==152207== Illegal opcode at address 0x4014520 ==152207== at 0x4014520: getparameter (tool_getparam.c:2862) ==152207== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152207== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152207== by 0x4003728: main (tool_main.c:186) === End of file valgrind1346 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/2/valgrind1344 ../src/curl -q --trace-ascii log/2/trace1344 --trace-time http://127.0.0.1:38779/1344 -i -O -D log/2/heads1344 --output-dir log/2 > log/2/stdout1344 2> log/2/stderr1344 1344: 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 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/2/valgrind1344 ../src/curl -q --trace-ascii log/2/trace1344 --trace-time http://127.0.0.1:38779/1344 -i -O -D log/2/heads1344 --output-dir log/2 > log/2/stdout1344 2> log/2/stderr1344 === End of file commands.log === Start of file http_server.log 17:50:59.145042 ====> Client connect 17:50:59.145078 accept_connection 3 returned 4 17:50:59.145095 accept_connection 3 returned 0 17:50:59.145108 Read 93 bytes 17:50:59.145118 Process 93 bytes request 17:50:59.145131 Got request: GET /verifiedserver HTTP/1.1 17:50:59.145140 Are-we-friendly question received 17:50:59.145166 Wrote request (93 bytes) input to log/2/server.input 17:50:59.145183 Identifying ourselves as friends 17:50:59.145242 Response sent (56 bytes) and written to log/2/server.response 17:50:59.145252 special request received, no persistency 17:50:59.145261 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 40334 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === End of file http_verify.out === Start of file server.cmd Testnum 1344 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76626 === End of file server.response === Start of file valgrind1344 ==152177== ==152177== Process terminating with default action of signal 4 (SIGILL) ==152177== Illegal opcode at address 0x4014520 ==152177== at 0x4014520: getparameter (tool_getparam.c:2862) ==152177== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152177== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152177== by 0x4003728: main (tool_main.c:186) === End of file valgrind1344 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/18/valgrind1347 ../src/curl -q --trace-ascii log/18/trace1347 --trace-time http://127.0.0.1:34067/1347 -i -O --output-dir log/18 > log/18/stdout1347 2> log/18/stderr1347 1347: 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 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/18/valgrind1347 ../src/curl -q --trace-ascii log/18/trace1347 --trace-time http://127.0.0.1:34067/1347 -i -O --output-dir log/18 > log/18/stdout1347 2> log/18/stderr1347 === End of file commands.log === Start of file http_server.log 17:50:59.412918 ====> Client connect 17:50:59.412964 accept_connection 3 returned 4 17:50:59.412982 accept_connection 3 returned 0 17:50:59.413000 Read 93 bytes 17:50:59.413010 Process 93 bytes request 17:50:59.413025 Got request: GET /verifiedserver HTTP/1.1 17:50:59.413034 Are-we-friendly question received 17:50:59.413060 Wrote request (93 bytes) input to log/18/server.input 17:50:59.413077 Identifying ourselves as friends 17:50:59.413158 Response sent (56 bytes) and written to log/18/server.response 17:50:59.413167 special request received, no persistency 17:50:59.413176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 38224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1347 ==152356== ==152356== Process terminating with default action of signal 4 (SIGILL) ==152356== Illegal opcode at address 0x4014520 ==152356== at 0x4014520: getparameter (tool_getparam.c:2862) ==152356== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152356== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152356== by 0x4003728: main (tool_main.c:186) === End of file valgrind1347 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/10/valgrind1349 ../src/curl -q --trace-ascii log/10/trace1349 --trace-time ftp://127.0.0.1:41693/path/file1349 -O -D log/10/heads1349 --output-dir log/10 > log/10/stdout1349 2> log/10/stderr1349 1349: 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 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/10/valgrind1349 ../src/curl -q --trace-ascii log/10/trace1349 --trace-time ftp://127.0.0.1:41693/path/file1349 -O -D log/10/heads1349 --output-dir log/10 > log/10/stdout1349 2> log/10/stderr1349 === End of file commands.log === Start of file ftp_server.log 17:50:59.823492 ====> Client connect 17:50:59.823682 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:59.824029 < "USER anonymous" 17:50:59.824071 > "331 We areCMD (33792): ../libtool --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/valgrind1348 ../src/curl -q --trace-ascii log/7/trace1348 --trace-time ftp://127.0.0.1:42667/path/file1348 -O --output-dir log/7 > log/7/stdout1348 2> log/7/stderr1348 happy you popped in![CR][LF]" 17:50:59.824266 < "PASS ftp@example.com" 17:50:59.824300 > "230 Welcome you silly person[CR][LF]" 17:50:59.824468 < "PWD" 17:50:59.824506 > "257 "/" is current directory[CR][LF]" 17:50:59.824684 < "EPSV" 17:50:59.824710 ====> Passive DATA channel requested by client 17:50:59.824724 DATA sockfilt for passive data channel starting... 17:50:59.850045 DATA sockfilt for passive data channel started (pid 152428) 17:50:59.852095 DATA sockfilt for passive data channel listens on port 44875 17:50:59.852185 > "229 Entering Passive Mode (|||44875|)[CR][LF]" 17:50:59.852211 Client has been notified that DATA conn will be accepted on port 44875 17:50:59.853596 Client connects to port 44875 17:50:59.853632 ====> Client established passive DATA connection on port 44875 17:50:59.853748 < "TYPE I" 17:50:59.853797 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:59.853986 < "SIZE verifiedserver" 17:50:59.854032 > "213 17[CR][LF]" 17:50:59.854214 < "RETR verifiedserver" 17:50:59.854259 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:59.854377 =====> Closing passive DATA connection... 17:50:59.854402 Server disconnects passive DATA connection 17:50:59.854580 Server disconnected passive DATA connection 17:50:59.854611 DATA sockfilt for passive data channel quits (pid 152428) 17:50:59.854918 DATA sockfilt for passive data channel quit (pid 152428) 17:50:59.854950 =====> Closed passive DATA connection 17:50:59.854983 > "226 File transfer complete[CR][LF]" 17:50:59.900149 < "QUIT" 17:50:59.900222 > "221 bye bye baby[CR][LF]" 17:50:59.906753 MAIN sockfilt said DISC 17:50:59.906819 ====> Client disconnected 17:50:59.906920 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:59.669516 ====> Client connect 17:50:59.669878 Received DATA (on stdin) 17:50:59.669894 > 146 bytes data, server => client 17:50:59.669906 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:59.669917 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:59.669926 '220 \___|\___/|_| \_\_____|\r\n' 17:50:59.670042 < 16 bytes data, client => server 17:50:59.670059 'USER anonymous\r\n' 17:50:59.670258 Received DATA (on stdin) 17:50:59.670272 > 33 bytes data, server => client 17:50:59.670282 '331 We are happy you popped in!\r\n' 17:50:59.670341 < 22 bytes data, client => server 17:50:59.670357 'PASS ftp@example.com\r\n' 17:50:59.670482 Received DATA (on stdin) 17:50:59.670495 > 30 bytes data, server => client 17:50:59.670505 '230 Welcome you silly person\r\n' 17:50:59.670558 < 5 bytes data, client => server 17:50:59.670569 'PWD\r\n' 17:50:59.670690 Received DATA (on stdin) 17:50:59.670703 > 30 bytes data, server => client 17:50:59.670713 '257 "/" is current directory\r\n' 17:50:59.670774 < 6 bytes data, client => server 17:50:59.670786 'EPSV\r\n' 17:50:59.698404 Received DATA (on stdin) 17:50:59.698423 > 39 bytes data, server => client 17:50:59.698435 '229 Entering Passive Mode (|||44875|)\r\n' 17:50:59.699683 < 8 bytes data, client => server 17:50:59.699703 'TYPE I\r\n' 17:50:59.699986 Received DATA (on stdin) 17:50:59.700000 > 33 bytes data, server => client 17:50:59.700011 '200 I modify TYPE as you wanted\r\n' 17:50:59.700068 < 21 bytes data, client => server 17:50:59.700082 'SIZE verifiedserver\r\n' 17:50:59.700219 Received DATA (on stdin) 17:50:59.700232 > 8 bytes data, server => client 17:50:59.700242 '213 17\r\n' 17:50:59.700297 < 21 bytes data, client => server 17:50:59.700312 'RETR verifiedserver\r\n' 17:50:59.700587 Received DATA (on stdin) 17:50:59.700602 > 29 bytes data, server => client 17:50:59.700612 '150 Binary junk (17 bytes).\r\n' 17:50:59.701168 Received DATA (on stdin) 17:50:59.701182 > 28 bytes data, server => client 17:50:59.701193 '226 File transfer complete\r\n' 17:50:59.746085 < 6 bytes data, client => server 17:50:59.746126 'QUIT\r\n' 17:50:59.746414 Received DATA (on stdin) 17:50:59.746429 > 18 bytes data, server => client 17:50:59.746441 '221 bye bye baby\r\n' 17:50:59.752838 ====> Client disconnect 17:50:59.753108 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:59.674109 Running IPv4 version 17:50:59.674193 Listening on port 44875 17:50:59.674236 Wrote pid 152428 to log/10/server/ftp_sockdata.pid 17:50:59.682840 Received PING (on stdin) 17:50:59.698107 Received PORT (on stdin) 17:50:59.699725 ====> Client connect 17:50:59.700641 Received DATA (on stdin) 17:50:59.700655 > 17 bytes data, server => client 17:50:59.700666 'WE ROOLZ: 81055\r\n' 17:50:59.700693 Received DISC (on stdin) 17:50:59.700706 ====> Client forcibly disconnected 17:50:59.700801 Received QUIT (on stdin) 17:50:59.700814 quits 17:50:59.700896 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1349 === End of file server.cmd === Start of file valgrind1349 ==152464== ==152464== Process terminating with default action of signal 4 (SIGILL) ==152464== Illegal opcode at address 0x4014520 ==152464== at 0x4014520: getparameter (tool_getparam.c:2862) ==152464== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152464== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152464== by 0x4003728: main (tool_main.c:186) === 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/7/valgrind1348 ../src/curl -q --trace-ascii log/7/trace1348 --trace-time ftp://127.0.0.1:42667/path/file1348 -O --output-dir log/7 > log/7/stdout1348 2> log/7/stderr1348 1348: 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 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/7/valgrind1348 ../src/curl -q --trace-ascii log/7/trace1348 --trace-time ftp://127.0.0.1:42667/path/file1348 -O --output-dir log/7 > log/7/stdout1348 2> log/7/stderr1348 === End of file commands.log === Start of file ftp_server.log 17:50:59.790509 ====> Client connect 17:50:59.790696 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:50:59.790971 < "USER anonymous" 17:50:59.791007 > "331 We are happy you popped in![CR][LF]" 17:50:59.791161 < "PASS ftp@example.com" 17:50:59.791185 > "230 Welcome you silly person[CR][LF]" 17:50:59.791322 < "PWD" 17:50:59.791347 > "257 "/" is current directory[CR][LF]" 17:50:59.791492 < "EPSV" 17:50:59.791514 ====> Passive DATA channel requested by client 17:50:59.791528 DATA sockfilt for passive data channel starting... 17:50:59.798110 DATA sockfilt for passive data channel started (pid 152415) 17:50:59.798276 DATA sockfilt for passive data channel listens on port 42727 17:50:59.798334 > "229 Entering Passive Mode (|||42727|)[CR][LF]" 17:50:59.798356 Client has been notified that DATA conn will be accepted on port 42727 17:50:59.798692 Client connects to port 42727 17:50:59.798725 ====> Client established passive DATA connection on port 42727 17:50:59.798831 < "TYPE I" 17:50:59.798872 > "200 I modify TYPE as you wanted[CR][LF]" 17:50:59.799064 < "SIZE verifiedserver" 17:50:59.799106 > "213 17[CR][LF]" 17:50:59.799290 < "RETR verifiedserver" 17:50:59.799331 > "150 Binary junk (17 bytes).[CR][LF]" 17:50:59.799425 =====> Closing passive DATA connection... 17:50:59.799444 Server disconnects passive DATA connection 17:50:59.799656 Server disconnected passive DATA connection 17:50:59.799688 DATA sockfilt for passive data channel quits (pid 152415) 17:50:59.800028 DATA sockfilt for passive data channel quit (pid 152415) 17:50:59.800057 =====> Closed passive 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/15/valgrind1351 ../src/curl -q --trace-ascii log/15/trace1351 --trace-time ftp://127.0.0.1:44375/path/file1351 -O -J -D log/15/heads1351 --output-dir log/15 > log/15/stdout1351 2> log/15/stderr1351 connection 17:50:59.800087 > "226 File transfer complete[CR][LF]" 17:50:59.843706 < "QUIT" 17:50:59.843778 > "221 bye bye baby[CR][LF]" 17:50:59.845737 MAIN sockfilt said DISC 17:50:59.845792 ====> Client disconnected 17:50:59.845879 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:00.636550 ====> Client connect 17:51:00.636885 Received DATA (on stdin) 17:51:00.636899 > 146 bytes data, server => client 17:51:00.636911 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:00.636922 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:00.636931 '220 \___|\___/|_| \_\_____|\r\n' 17:51:00.637005 < 16 bytes data, client => server 17:51:00.637015 'USER anonymous\r\n' 17:51:00.637187 Received DATA (on stdin) 17:51:00.637198 > 33 bytes data, server => client 17:51:00.637209 '331 We are happy you popped in!\r\n' 17:51:00.637257 < 22 bytes data, client => server 17:51:00.637267 'PASS ftp@example.com\r\n' 17:51:00.637361 Received DATA (on stdin) 17:51:00.637371 > 30 bytes data, server => client 17:51:00.637381 '230 Welcome you silly person\r\n' 17:51:00.637424 < 5 bytes data, client => server 17:51:00.637433 'PWD\r\n' 17:51:00.637523 Received DATA (on stdin) 17:51:00.637533 > 30 bytes data, server => client 17:51:00.637543 '257 "/" is current directory\r\n' 17:51:00.637595 < 6 bytes data, client => server 17:51:00.637605 'EPSV\r\n' 17:51:00.644548 Received DATA (on stdin) 17:51:00.644567 > 39 bytes data, server => client 17:51:00.644579 '229 Entering Passive Mode (|||42727|)\r\n' 17:51:00.644785 < 8 bytes data, client => server 17:51:00.644802 'TYPE I\r\n' 17:51:00.645059 Received DATA (on stdin) 17:51:00.645072 > 33 bytes data, server => client 17:51:00.645084 '200 I modify TYPE as you wanted\r\n' 17:51:00.645143 < 21 bytes data, client => server 17:51:00.645158 'SIZE verifiedserver\r\n' 17:51:00.645293 Received DATA (on stdin) 17:51:00.645307 > 8 bytes data, server => client 17:51:00.645318 '213 17\r\n' 17:51:00.645373 < 21 bytes data, client => server 17:51:00.645387 'RETR verifiedserver\r\n' 17:51:00.645625 Received DATA (on stdin) 17:51:00.645638 > 29 bytes data, server => client 17:51:00.645648 '150 Binary junk (17 bytes).\r\n' 17:51:00.646266 Received DATA (on stdin) 17:51:00.646279 > 28 bytes data, server => client 17:51:00.646289 '226 File transfer complete\r\n' 17:51:00.689626 < 6 bytes data, client => server 17:51:00.689665 'QUIT\r\n' 17:51:00.689973 Received DATA (on stdin) 17:51:00.689992 > 18 bytes data, server => client 17:51:00.690003 '221 bye bye baby\r\n' 17:51:00.691326 ====> Client disconnect 17:51:00.692064 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:50:59.643839 Running IPv4 version 17:50:59.643946 Listening on port 42727 17:50:59.643995 Wrote pid 152415 to log/7/server/ftp_sockdata.pid 17:50:59.644213 Received PING (on stdin) 17:50:59.644338 Received PORT (on stdin) 17:50:59.644822 ====> Client connect 17:50:59.645710 Received DATA (on stdin) 17:50:59.645727 > 17 bytes data, server => client 17:50:59.645738 'WE ROOLZ: 81153\r\n' 17:50:59.645768 Received DISC (on stdin) 17:50:59.645782 ====> Client forcibly disconnected 17:50:59.645940 Received QUIT (on stdin) 17:50:59.645957 quits 17:50:59.646037 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1348 === End of file server.cmd === Start of file valgrind1348 ==152453== ==152453== Process terminating with default action of signal 4 (SIGILL) ==152453== Illegal opcode at address 0x4014520 ==152453== at 0x4014520: getparameter (tool_getparam.c:2862) ==152453== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152453== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152453== by 0x4003728: main (tool_main.c:186) === End of file valgrind1348 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/15/valgrind1351 ../src/curl -q --trace-ascii log/15/trace1351 --trace-time ftp://127.0.0.1:44375/path/file1351 -O -J -D log/15/heads1351 --output-dir log/15 > log/15/stdout1351 2> log/15/stderr1351 1351: 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 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/15/valgrind1351 ../src/curl -q --trace-ascii log/15/trace1351 --trace-time ftp://127.0.0.1:44375/path/file1351 -O -J -D log/15/heads1351 --output-dir log/15 > log/15/stdout1351 2> log/15/stderr1351 === End of file commands.log === Start of file ftp_server.log 17:51:00.050148 ====> Client connect 17:51:00.050372 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.050700 < "USER anonymous" 17:51:00.050746 > "331 We are happy you popped in![CR][LF]" 17:51:00.050946 < "PASS ftp@example.com" 17:51:00.050977 > "230 Welcome you silly person[CR][LF]" 17:51:00.051129 < "PWD" 17:51:00.051158 > "257 "/" is current directory[CR][LF]" 17:51:00.051306 < "EPSV" 17:51:00.051334 ====> Passive DATA channel requested by client 17:51:00.051348 DATA sockfilt for passive data channel starting... 17:51:00.058435 DATA sockfilt for passive data channel started (pid 152538) 17:51:00.058581 DATA sockfilt for passive data channel listens on port 34703 17:51:00.058638 > "229 Entering Passive Mode (|||34703|)[CR][LF]" 17:51:00.058658 Client has been notified that DATA conn will be accepted on port 34703 17:51:00.058977 Client connects to port 34703 17:51:00.059001 ====> Client established passive DATA connection on port 34703 17:51:00.059097 < "TYPE I" 17:51:00.059137 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.059303 < "SIZE verifiedserver" 17:51:00.059349 > "213 17[CR][LF]" 17:51:00.059517 < "RETR verifiedserver" 17:51:00.059549 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.059749 =====> Closing passive DATA connection... 17:51:00.059768 Server disconnects passive DATA connection 17:51:00.059837 Server disconnected passive DATA connection 17:51:00.059858 DATA sockfilt for passive data channel quits (pid 152538) 17:51:00.060187 DATA sockfilt for passive data channel quit (pid 152538) 17:51:00.060217 =====> Closed passive DATA connection 17:51:00.060251 > "226 File transfer complete[CR][LF]" 17:51:00.103662 < "QUIT" 17:51:00.103731 > "221 bye bye baby[CR][LF]" 17:51:00.105362 MAIN sockfilt said DISC 17:51:00.105408 ====> Client disconnected 17:51:00.105494 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:59.896175 ====> Client connect 17:50:59.896564 Received DATA (on stdin) 17:50:59.896579 > 146 bytes data, server => client 17:50:59.896591 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:59.896602 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:59.896611 '220 \___|\___/|_| \_\_____|\r\n' 17:50:59.896720 < 16 bytes data, client => server 17:50:59.896731 'USER anonymous\r\n' 17:50:59.896933 Received DATA (on stdin) 17:50:59.896947 > 33 bytes data, server => client 17:50:59.896957 '331 We are happy you popped in!\r\n' 17:50:59.897017 < 22 bytes data, client => server 17:50:59.897028 'PASS ftp@example.com\r\n' 17:50:59.897155 Received DATA (on stdin) 17:50:59.897166 > 30 bytes data, server => client 17:50:59.897176 '230 Welcome you silly person\r\n' 17:50:59.897225 < 5 bytes data, client => server 17:50:59.897234 'PWD\r\n' 17:50:59.897334 Received DATA (on stdin) 17:50:59.897344 > 30 bytes data, server => client 17:50:59.897354 '257 "/" is current directory\r\n' 17:50:59.897408 < 6 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/21/valgrind1353 ../src/curl -q --trace-ascii log/21/trace1353 --trace-time ftp://127.0.0.1:37113/path/file1353 -O -i -D log/21/heads1353 --output-dir log/21 > log/21/stdout1353 2> log/21/stderr1353 data, client => server 17:50:59.897417 'EPSV\r\n' 17:50:59.904832 Received DATA (on stdin) 17:50:59.904848 > 39 bytes data, server => client 17:50:59.904859 '229 Entering Passive Mode (|||34703|)\r\n' 17:50:59.905038 < 8 bytes data, client => server 17:50:59.905060 'TYPE I\r\n' 17:50:59.905316 Received DATA (on stdin) 17:50:59.905326 > 33 bytes data, server => client 17:50:59.905335 '200 I modify TYPE as you wanted\r\n' 17:50:59.905393 < 21 bytes data, client => server 17:50:59.905404 'SIZE verifiedserver\r\n' 17:50:59.905529 Received DATA (on stdin) 17:50:59.905539 > 8 bytes data, server => client 17:50:59.905553 '213 17\r\n' 17:50:59.905607 < 21 bytes data, client => server 17:50:59.905618 'RETR verifiedserver\r\n' 17:50:59.905729 Received DATA (on stdin) 17:50:59.905740 > 29 bytes data, server => client 17:50:59.905750 '150 Binary junk (17 bytes).\r\n' 17:50:59.906429 Received DATA (on stdin) 17:50:59.906440 > 28 bytes data, server => client 17:50:59.906450 '226 File transfer complete\r\n' 17:50:59.949623 < 6 bytes data, client => server 17:50:59.949663 'QUIT\r\n' 17:50:59.949922 Received DATA (on stdin) 17:50:59.949937 > 18 bytes data, server => client 17:50:59.949949 '221 bye bye baby\r\n' 17:50:59.951139 ====> Client disconnect 17:50:59.951680 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.903744 Running IPv4 version 17:51:00.903829 Listening on port 34703 17:51:00.904534 Wrote pid 152538 to log/15/server/ftp_sockdata.pid 17:51:00.904556 Received PING (on stdin) 17:51:00.904657 Received PORT (on stdin) 17:51:00.905080 ====> Client connect 17:51:00.905803 Received DATA (on stdin) 17:51:00.905815 > 17 bytes data, server => client 17:51:00.905825 'WE ROOLZ: 81145\r\n' 17:51:00.905954 Received DISC (on stdin) 17:51:00.905964 ====> Client forcibly disconnected 17:51:00.906049 Received QUIT (on stdin) 17:51:00.906059 quits 17:51:00.906126 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1351 === End of file server.cmd === Start of file valgrind1351 ==152628== ==152628== Process terminating with default action of signal 4 (SIGILL) ==152628== Illegal opcode at address 0x4014520 ==152628== at 0x4014520: getparameter (tool_getparam.c:2862) ==152628== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152628== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152628== by 0x4003728: main (tool_main.c:186) === End of file valgrind1351 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/21/valgrind1353 ../src/curl -q --trace-ascii log/21/trace1353 --trace-time ftp://127.0.0.1:37113/path/file1353 -O -i -D log/21/heads1353 --output-dir log/21 > log/21/stdout1353 2> log/21/stderr1353 1353: 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 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/21/valgrind1353 ../src/curl -q --trace-ascii log/21/trace1353 --trace-time ftp://127.0.0.1:37113/path/file1353 -O -i -D log/21/heads1353 --output-dir log/21 > log/21/stdout1353 2> log/21/stderr1353 === End of file commands.log === Start of file ftp_server.log 17:51:00.144501 ====> Client connect 17:51:00.144662 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.147035 < "USER anonymous" 17:51:00.147088 > "331 We are happy you popped in![CR][LF]" 17:51:00.151321 < "PASS ftp@example.com" 17:51:00.151375 > "230 Welcome you silly person[CR][LF]" 17:51:00.151547 < "PWD" 17:51:00.151586 > "257 "/" is current directory[CR][LF]" 17:51:00.151764 < "EPSV" 17:51:00.151794 ====> Passive DATA channel requested by client 17:51:00.151810 DATA sockfilt for passive data channel starting... 17:51:00.153769 DATA sockfilt for passive data channel started (pid 152624) 17:51:00.153881 DATA sockfilt for passive data channel listens on port 37057 17:51:00.153931 > "229 Entering Passive Mode (|||37057|)[CR][LF]" 17:51:00.153955 Client has been notified that DATA conn will be accepted on port 37057 17:51:00.154578 Client connects to port 37057 17:51:00.154610 ====> Client established passive DATA connection on port 37057 17:51:00.154692 < "TYPE I" 17:51:00.154725 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.154885 < "SIZE verifiedserver" 17:51:00.154923 > "213 17[CR][LF]" 17:51:00.155862 < "RETR verifiedserver" 17:51:00.155906 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.155996 =====> Closing passive DATA connection... 17:51:00.156014 Server disconnects passive DATA connection 17:51:00.156286 Server disconnected passive DATA connection 17:51:00.156319 DATA sockfilt for passive data channel quits (pid 152624) 17:51:00.156556 DATA sockfilt for passive data channel quit (pid 152624) 17:51:00.156585 =====> Closed passive DATA connection 17:51:00.156620 > "226 File transfer complete[CR][LF]" 17:51:00.210418 < "QUIT" 17:51:00.210485 > "221 bye bye baby[CR][LF]" 17:51:00.211708 MAIN sockfilt said DISC 17:51:00.211743 ====> Client disconnected 17:51:00.211842 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:59.988543 ====> Client connect 17:50:59.992835 Received DATA (on stdin) 17:50:59.992864 > 146 bytes data, server => client 17:50:59.992876 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:59.992887 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:59.992896 '220 \___|\___/|_| \_\_____|\r\n' 17:50:59.993012 < 16 bytes data, client => server 17:50:59.993025 'USER anonymous\r\n' 17:50:59.996170 Received DATA (on stdin) 17:50:59.996193 > 33 bytes data, server => client 17:50:59.996203 '331 We are happy you popped in!\r\n' 17:50:59.997163 < 22 bytes data, client => server 17:50:59.997180 'PASS ftp@example.com\r\n' 17:50:59.997559 Received DATA (on stdin) 17:50:59.997572 > 30 bytes data, server => client 17:50:59.997583 '230 Welcome you silly person\r\n' 17:50:59.997639 < 5 bytes data, client => server 17:50:59.997650 'PWD\r\n' 17:50:59.997765 Received DATA (on stdin) 17:50:59.997775 > 30 bytes data, server => client 17:50:59.997786 '257 "/" is current directory\r\n' 17:50:59.997848 < 6 bytes data, client => server 17:50:59.997861 'EPSV\r\n' 17:51:00.000145 Received DATA (on stdin) 17:51:00.000160 > 39 bytes data, server => client 17:51:00.000172 '229 Entering Passive Mode (|||37057|)\r\n' 17:51:00.000671 < 8 bytes data, client => server 17:51:00.000689 'TYPE I\r\n' 17:51:00.000905 Received DATA (on stdin) 17:51:00.000916 > 33 bytes data, server => client 17:51:00.000927 '200 I modify TYPE as you wanted\r\n' 17:51:00.000978 < 21 bytes data, client => server 17:51:00.000989 'SIZE verifiedserver\r\n' 17:51:00.001107 Received DATA (on stdin) 17:51:00.001120 > 8 bytes data, server => client 17:51:00.001130 '213 17\r\n' 17:51:00.001761 < 21 bytes data, client => server 17:51:00.001779 'RETR verifiedserver\r\n' 17:51:00.002196 Received DATA (on stdin) 17:51:00.002208 > 29 bytes data, server => client 17:51:00.002219 '150 Binary junk (17 bytes).\r\n' 17:51:00.002802 Received DATA (on stdin) 17:51:00.002878 > 28 bytes data, server => client 17:51:00.002889 '226 File transfer complete\r\n' 17:51:00.056360 < 6 bytes data, client => server 17:51:00.056409 'QUIT\r\n' 17:51:00.056676 Received DATA (on stdin) 17:51:00.056691 > 18 bytes data, server => client 17:51:00.056702 '221 bye bye baby\r\n' 17:51:00.057828 ====> Client disconnect 17:51:00.058026 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.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/1/valgrind1352 ../src/curl -q --trace-ascii log/1/trace1352 --trace-time ftp://127.0.0.1:39965/path/file1352 -O -J -D - --output-dir log/1 > log/1/stdout1352 2> log/1/stderr1352 CMD (33792): ../libtool --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/valgrind1350 ../src/curl -q --trace-ascii log/14/trace1350 --trace-time ftp://127.0.0.1:38643/path/file1350 -O -D - --output-dir log/14 > log/14/stdout1350 2> log/14/stderr1350 17:51:00.999615 Running IPv4 version 17:51:00.999681 Listening on port 37057 17:51:00.999725 Wrote pid 152624 to log/21/server/ftp_sockdata.pid 17:51:00.999887 Received PING (on stdin) 17:51:00.999972 Received PORT (on stdin) 17:51:01.000710 ====> Client connect 17:51:01.002279 Received DATA (on stdin) 17:51:01.002296 > 17 bytes data, server => client 17:51:01.002308 'WE ROOLZ: 81123\r\n' 17:51:01.002339 Received DISC (on stdin) 17:51:01.002353 ====> Client forcibly disconnected 17:51:01.002509 Received QUIT (on stdin) 17:51:01.002522 quits 17:51:01.002592 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1353 === End of file server.cmd === Start of file valgrind1353 ==152695== ==152695== Process terminating with default action of signal 4 (SIGILL) ==152695== Illegal opcode at address 0x4014520 ==152695== at 0x4014520: getparameter (tool_getparam.c:2862) ==152695== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152695== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152695== by 0x4003728: main (tool_main.c:186) === End of file valgrind1353 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/1/valgrind1352 ../src/curl -q --trace-ascii log/1/trace1352 --trace-time ftp://127.0.0.1:39965/path/file1352 -O -J -D - --output-dir log/1 > log/1/stdout1352 2> log/1/stderr1352 1352: 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 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/1/valgrind1352 ../src/curl -q --trace-ascii log/1/trace1352 --trace-time ftp://127.0.0.1:39965/path/file1352 -O -J -D - --output-dir log/1 > log/1/stdout1352 2> log/1/stderr1352 === End of file commands.log === Start of file ftp_server.log 17:51:00.126377 ====> Client connect 17:51:00.126571 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.130924 < "USER anonymous" 17:51:00.130986 > "331 We are happy you popped in![CR][LF]" 17:51:00.132056 < "PASS ftp@example.com" 17:51:00.132091 > "230 Welcome you silly person[CR][LF]" 17:51:00.132906 < "PWD" 17:51:00.132951 > "257 "/" is current directory[CR][LF]" 17:51:00.133258 < "EPSV" 17:51:00.133296 ====> Passive DATA channel requested by client 17:51:00.133312 DATA sockfilt for passive data channel starting... 17:51:00.139316 DATA sockfilt for passive data channel started (pid 152605) 17:51:00.139453 DATA sockfilt for passive data channel listens on port 34647 17:51:00.139509 > "229 Entering Passive Mode (|||34647|)[CR][LF]" 17:51:00.139531 Client has been notified that DATA conn will be accepted on port 34647 17:51:00.139851 Client connects to port 34647 17:51:00.139881 ====> Client established passive DATA connection on port 34647 17:51:00.139982 < "TYPE I" 17:51:00.140033 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.140223 < "SIZE verifiedserver" 17:51:00.140266 > "213 17[CR][LF]" 17:51:00.141191 < "RETR verifiedserver" 17:51:00.141237 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.141343 =====> Closing passive DATA connection... 17:51:00.141368 Server disconnects passive DATA connection 17:51:00.141553 Server disconnected passive DATA connection 17:51:00.141582 DATA sockfilt for passive data channel quits (pid 152605) 17:51:00.141900 DATA sockfilt for passive data channel quit (pid 152605) 17:51:00.141931 =====> Closed passive DATA connection 17:51:00.141962 > "226 File transfer complete[CR][LF]" 17:51:00.184136 < "QUIT" 17:51:00.184190 > "221 bye bye baby[CR][LF]" 17:51:00.185534 MAIN sockfilt said DISC 17:51:00.185570 ====> Client disconnected 17:51:00.186285 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:59.972156 ====> Client connect 17:50:59.976179 Received DATA (on stdin) 17:50:59.976218 > 146 bytes data, server => client 17:50:59.976231 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:59.976242 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:59.976252 '220 \___|\___/|_| \_\_____|\r\n' 17:50:59.976859 < 16 bytes data, client => server 17:50:59.976877 'USER anonymous\r\n' 17:50:59.977752 Received DATA (on stdin) 17:50:59.977769 > 33 bytes data, server => client 17:50:59.977780 '331 We are happy you popped in!\r\n' 17:50:59.978054 < 22 bytes data, client => server 17:50:59.978073 'PASS ftp@example.com\r\n' 17:50:59.978750 Received DATA (on stdin) 17:50:59.978863 > 30 bytes data, server => client 17:50:59.978879 '230 Welcome you silly person\r\n' 17:50:59.978986 < 5 bytes data, client => server 17:50:59.979003 'PWD\r\n' 17:50:59.979131 Received DATA (on stdin) 17:50:59.979143 > 30 bytes data, server => client 17:50:59.979158 '257 "/" is current directory\r\n' 17:50:59.979260 < 6 bytes data, client => server 17:50:59.980289 'EPSV\r\n' 17:50:59.985720 Received DATA (on stdin) 17:50:59.985739 > 39 bytes data, server => client 17:50:59.985751 '229 Entering Passive Mode (|||34647|)\r\n' 17:50:59.985946 < 8 bytes data, client => server 17:50:59.985961 'TYPE I\r\n' 17:50:59.986215 Received DATA (on stdin) 17:50:59.986229 > 33 bytes data, server => client 17:50:59.986240 '200 I modify TYPE as you wanted\r\n' 17:50:59.986301 < 21 bytes data, client => server 17:50:59.986317 'SIZE verifiedserver\r\n' 17:50:59.986456 Received DATA (on stdin) 17:50:59.986471 > 8 bytes data, server => client 17:50:59.986483 '213 17\r\n' 17:50:59.986546 < 21 bytes data, client => server 17:50:59.986563 'RETR verifiedserver\r\n' 17:50:59.987554 Received DATA (on stdin) 17:50:59.987569 > 29 bytes data, server => client 17:50:59.987579 '150 Binary junk (17 bytes).\r\n' 17:50:59.988143 Received DATA (on stdin) 17:50:59.988157 > 28 bytes data, server => client 17:50:59.988168 '226 File transfer complete\r\n' 17:51:00.030068 < 6 bytes data, client => server 17:51:00.030104 'QUIT\r\n' 17:51:00.030372 Received DATA (on stdin) 17:51:00.030384 > 18 bytes data, server => client 17:51:00.030394 '221 bye bye baby\r\n' 17:51:00.031537 ====> Client disconnect 17:51:00.031855 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.984063 Running IPv4 version 17:51:00.984156 Listening on port 34647 17:51:00.984199 Wrote pid 152605 to log/1/server/ftp_sockdata.pid 17:51:00.985428 Received PING (on stdin) 17:51:00.985532 Received PORT (on stdin) 17:51:00.985982 ====> Client connect 17:51:00.987610 Received DATA (on stdin) 17:51:00.987625 > 17 bytes data, server => client 17:51:00.987636 'WE ROOLZ: 81139\r\n' 17:51:00.987666 Received DISC (on stdin) 17:51:00.987679 ====> Client forcibly disconnected 17:51:00.987852 Received QUIT (on stdin) 17:51:00.987868 quits 17:51:00.987935 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1352 === End of file server.cmd === Start of file valgrind1352 ==152679== ==152679== Process terminating with default action of signal 4 (SIGILL) ==152679== Illegal opcode at address 0x4014520 ==152679== at 0x4014520: getparameter (tool_getparam.c:2862) ==152679== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152679== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152679== by 0x4003728: main (tool_main.c:186) === End of file valgrind1352 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/14/valgrind1350 ../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/valgrind1355 ../src/curl -q --trace-ascii log/19/trace1355 --trace-time ftp://127.0.0.1:40075/path/file1355 -O -i --output-dir log/19 > log/19/stdout1355 2> log/19/stderr1355 --trace-ascii log/14/trace1350 --trace-time ftp://127.0.0.1:38643/path/file1350 -O -D - --output-dir log/14 > log/14/stdout1350 2> log/14/stderr1350 1350: 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 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/14/valgrind1350 ../src/curl -q --trace-ascii log/14/trace1350 --trace-time ftp://127.0.0.1:38643/path/file1350 -O -D - --output-dir log/14 > log/14/stdout1350 2> log/14/stderr1350 === End of file commands.log === Start of file ftp_server.log 17:51:00.010045 ====> Client connect 17:51:00.010239 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.017099 < "USER anonymous" 17:51:00.017174 > "331 We are happy you popped in![CR][LF]" 17:51:00.017393 < "PASS ftp@example.com" 17:51:00.017560 > "230 Welcome you silly person[CR][LF]" 17:51:00.017735 < "PWD" 17:51:00.017769 > "257 "/" is current directory[CR][LF]" 17:51:00.017960 < "EPSV" 17:51:00.017988 ====> Passive DATA channel requested by client 17:51:00.018006 DATA sockfilt for passive data channel starting... 17:51:00.030234 DATA sockfilt for passive data channel started (pid 152521) 17:51:00.030390 DATA sockfilt for passive data channel listens on port 42469 17:51:00.030467 > "229 Entering Passive Mode (|||42469|)[CR][LF]" 17:51:00.030491 Client has been notified that DATA conn will be accepted on port 42469 17:51:00.032924 Client connects to port 42469 17:51:00.032972 ====> Client established passive DATA connection on port 42469 17:51:00.033090 < "TYPE I" 17:51:00.033134 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.033348 < "SIZE verifiedserver" 17:51:00.033394 > "213 17[CR][LF]" 17:51:00.033576 < "RETR verifiedserver" 17:51:00.033621 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.033746 =====> Closing passive DATA connection... 17:51:00.033766 Server disconnects passive DATA connection 17:51:00.033920 Server disconnected passive DATA connection 17:51:00.033951 DATA sockfilt for passive data channel quits (pid 152521) 17:51:00.034209 DATA sockfilt for passive data channel quit (pid 152521) 17:51:00.034236 =====> Closed passive DATA connection 17:51:00.034267 > "226 File transfer complete[CR][LF]" 17:51:00.084837 < "QUIT" 17:51:00.084895 > "221 bye bye baby[CR][LF]" 17:51:00.086018 MAIN sockfilt said DISC 17:51:00.086053 ====> Client disconnected 17:51:00.086148 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:50:59.854599 ====> Client connect 17:50:59.856432 Received DATA (on stdin) 17:50:59.856451 > 146 bytes data, server => client 17:50:59.856462 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:50:59.856472 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:50:59.856481 '220 \___|\___/|_| \_\_____|\r\n' 17:50:59.862993 < 16 bytes data, client => server 17:50:59.863037 'USER anonymous\r\n' 17:50:59.863370 Received DATA (on stdin) 17:50:59.863387 > 33 bytes data, server => client 17:50:59.863399 '331 We are happy you popped in!\r\n' 17:50:59.863461 < 22 bytes data, client => server 17:50:59.863478 'PASS ftp@example.com\r\n' 17:50:59.863743 Received DATA (on stdin) 17:50:59.863756 > 30 bytes data, server => client 17:50:59.863766 '230 Welcome you silly person\r\n' 17:50:59.863820 < 5 bytes data, client => server 17:50:59.863832 'PWD\r\n' 17:50:59.863948 Received DATA (on stdin) 17:50:59.863960 > 30 bytes data, server => client 17:50:59.863971 '257 "/" is current directory\r\n' 17:50:59.864039 < 6 bytes data, client => server 17:50:59.864055 'EPSV\r\n' 17:50:59.876687 Received DATA (on stdin) 17:50:59.876707 > 39 bytes data, server => client 17:50:59.876718 '229 Entering Passive Mode (|||42469|)\r\n' 17:50:59.876939 < 8 bytes data, client => server 17:50:59.876957 'TYPE I\r\n' 17:50:59.879320 Received DATA (on stdin) 17:50:59.879334 > 33 bytes data, server => client 17:50:59.879345 '200 I modify TYPE as you wanted\r\n' 17:50:59.879419 < 21 bytes data, client => server 17:50:59.879434 'SIZE verifiedserver\r\n' 17:50:59.879579 Received DATA (on stdin) 17:50:59.879591 > 8 bytes data, server => client 17:50:59.879601 '213 17\r\n' 17:50:59.879657 < 21 bytes data, client => server 17:50:59.879671 'RETR verifiedserver\r\n' 17:50:59.879949 Received DATA (on stdin) 17:50:59.879961 > 29 bytes data, server => client 17:50:59.879971 '150 Binary junk (17 bytes).\r\n' 17:50:59.880448 Received DATA (on stdin) 17:50:59.880461 > 28 bytes data, server => client 17:50:59.880472 '226 File transfer complete\r\n' 17:50:59.930802 < 6 bytes data, client => server 17:50:59.930841 'QUIT\r\n' 17:50:59.931080 Received DATA (on stdin) 17:50:59.931093 > 18 bytes data, server => client 17:50:59.931104 '221 bye bye baby\r\n' 17:50:59.932141 ====> Client disconnect 17:50:59.932333 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.874711 Running IPv4 version 17:51:00.874804 Listening on port 42469 17:51:00.874846 Wrote pid 152521 to log/14/server/ftp_sockdata.pid 17:51:00.876326 Received PING (on stdin) 17:51:00.876459 Received PORT (on stdin) 17:51:00.876982 ====> Client connect 17:51:00.879926 Received DATA (on stdin) 17:51:00.879942 > 17 bytes data, server => client 17:51:00.879952 'WE ROOLZ: 81129\r\n' 17:51:00.879982 Received DISC (on stdin) 17:51:00.879993 ====> Client forcibly disconnected 17:51:00.880140 Received QUIT (on stdin) 17:51:00.880151 quits 17:51:00.880225 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1350 === End of file server.cmd === Start of file valgrind1350 ==152612== ==152612== Process terminating with default action of signal 4 (SIGILL) ==152612== Illegal opcode at address 0x4014520 ==152612== at 0x4014520: getparameter (tool_getparam.c:2862) ==152612== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152612== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152612== by 0x4003728: main (tool_main.c:186) === End of file valgrind1350 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/19/valgrind1355 ../src/curl -q --trace-ascii log/19/trace1355 --trace-time ftp://127.0.0.1:40075/path/file1355 -O -i --output-dir log/19 > log/19/stdout1355 2> log/19/stderr1355 1355: 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 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 --num-callers=16 --log-file=log/19/valgrind1355 ../src/curl -q --trace-ascii log/19/trace1355 --trace-time ftp://127.0.0.1:40075/path/file1355 -O -i --output-dir log/19 > log/19/stdout1355 2> log/19/stderr1355 === End of file commands.log === Start of file ftp_server.log 17:51:00.481012 ====> Client connect 17:51:00.481209 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.481526 < "USER anonymous" 17:51:00.481568 > "331 We are happy you popped in![CR][LF]" 17:51:00.481767 < "PASS ftp@example.com" 17:51:00.481800 > "230 Welcome you silly person[CR][LF]" 17:51:00.481978 < "PWD" 17:51:00.482014 > "257 "/" is current directory[CR][LF]" 17:51:00.482198 < "EPSV" 17:51:00.482228 ====> Passive DATA channel requested by client 17:51:00.482246 DATA sockfiltCMD (33792): ../libtool --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/valgrind1361 ../src/curl -q --trace-ascii log/5/trace1361 --trace-time ftp://127.0.0.1:34559/path/file1361 -O -i -D log/5/heads1361 --output-dir log/5 > log/5/stdout1361 2> log/5/stderr1361 for passive data channel starting... 17:51:00.490041 DATA sockfilt for passive data channel started (pid 152889) 17:51:00.490248 DATA sockfilt for passive data channel listens on port 42897 17:51:00.490306 > "229 Entering Passive Mode (|||42897|)[CR][LF]" 17:51:00.490325 Client has been notified that DATA conn will be accepted on port 42897 17:51:00.492076 Client connects to port 42897 17:51:00.492120 ====> Client established passive DATA connection on port 42897 17:51:00.492244 < "TYPE I" 17:51:00.492292 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.492482 < "SIZE verifiedserver" 17:51:00.492528 > "213 17[CR][LF]" 17:51:00.496788 < "RETR verifiedserver" 17:51:00.496852 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.496956 =====> Closing passive DATA connection... 17:51:00.496974 Server disconnects passive DATA connection 17:51:00.497333 Server disconnected passive DATA connection 17:51:00.497366 DATA sockfilt for passive data channel quits (pid 152889) 17:51:00.500324 DATA sockfilt for passive data channel quit (pid 152889) 17:51:00.500366 =====> Closed passive DATA connection 17:51:00.500410 > "226 File transfer complete[CR][LF]" 17:51:00.553552 < "QUIT" 17:51:00.553622 > "221 bye bye baby[CR][LF]" 17:51:00.558097 MAIN sockfilt said DISC 17:51:00.558163 ====> Client disconnected 17:51:00.558262 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:00.327049 ====> Client connect 17:51:00.327411 Received DATA (on stdin) 17:51:00.327427 > 146 bytes data, server => client 17:51:00.327439 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:00.327449 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:00.327459 '220 \___|\___/|_| \_\_____|\r\n' 17:51:00.327541 < 16 bytes data, client => server 17:51:00.327557 'USER anonymous\r\n' 17:51:00.327756 Received DATA (on stdin) 17:51:00.327770 > 33 bytes data, server => client 17:51:00.327787 '331 We are happy you popped in!\r\n' 17:51:00.327844 < 22 bytes data, client => server 17:51:00.327858 'PASS ftp@example.com\r\n' 17:51:00.327983 Received DATA (on stdin) 17:51:00.327996 > 30 bytes data, server => client 17:51:00.328007 '230 Welcome you silly person\r\n' 17:51:00.328062 < 5 bytes data, client => server 17:51:00.328076 'PWD\r\n' 17:51:00.328196 Received DATA (on stdin) 17:51:00.328208 > 30 bytes data, server => client 17:51:00.328219 '257 "/" is current directory\r\n' 17:51:00.328282 < 6 bytes data, client => server 17:51:00.328297 'EPSV\r\n' 17:51:00.337909 Received DATA (on stdin) 17:51:00.337935 > 39 bytes data, server => client 17:51:00.337946 '229 Entering Passive Mode (|||42897|)\r\n' 17:51:00.338153 < 8 bytes data, client => server 17:51:00.338170 'TYPE I\r\n' 17:51:00.338479 Received DATA (on stdin) 17:51:00.338494 > 33 bytes data, server => client 17:51:00.338505 '200 I modify TYPE as you wanted\r\n' 17:51:00.338563 < 21 bytes data, client => server 17:51:00.338577 'SIZE verifiedserver\r\n' 17:51:00.338713 Received DATA (on stdin) 17:51:00.338727 > 8 bytes data, server => client 17:51:00.338737 '213 17\r\n' 17:51:00.338793 < 21 bytes data, client => server 17:51:00.338808 'RETR verifiedserver\r\n' 17:51:00.343052 Received DATA (on stdin) 17:51:00.343073 > 29 bytes data, server => client 17:51:00.343084 '150 Binary junk (17 bytes).\r\n' 17:51:00.346606 Received DATA (on stdin) 17:51:00.346624 > 28 bytes data, server => client 17:51:00.346635 '226 File transfer complete\r\n' 17:51:00.392972 < 6 bytes data, client => server 17:51:00.393014 'QUIT\r\n' 17:51:00.402842 Received DATA (on stdin) 17:51:00.402883 > 18 bytes data, server => client 17:51:00.402895 '221 bye bye baby\r\n' 17:51:00.404199 ====> Client disconnect 17:51:00.404449 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.330151 Running IPv4 version 17:51:00.330213 Listening on port 42897 17:51:00.330249 Wrote pid 152889 to log/19/server/ftp_sockdata.pid 17:51:00.332290 Received PING (on stdin) 17:51:00.336303 Received PORT (on stdin) 17:51:00.338196 ====> Client connect 17:51:00.343130 Received DATA (on stdin) 17:51:00.343144 > 17 bytes data, server => client 17:51:00.343154 'WE ROOLZ: 81054\r\n' 17:51:00.343180 Received DISC (on stdin) 17:51:00.343192 ====> Client forcibly disconnected 17:51:00.346163 Received QUIT (on stdin) 17:51:00.346188 quits 17:51:00.346281 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1355 === End of file server.cmd === Start of file valgrind1355 ==152950== ==152950== Process terminating with default action of signal 4 (SIGILL) ==152950== Illegal opcode at address 0x4014520 ==152950== at 0x4014520: getparameter (tool_getparam.c:2862) ==152950== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152950== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152950== by 0x4003728: main (tool_main.c:186) === End of file valgrind1355 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/5/valgrind1361 ../src/curl -q --trace-ascii log/5/trace1361 --trace-time ftp://127.0.0.1:34559/path/file1361 -O -i -D log/5/heads1361 --output-dir log/5 > log/5/stdout1361 2> log/5/stderr1361 1361: 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 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/5/valgrind1361 ../src/curl -q --trace-ascii log/5/trace1361 --trace-time ftp://127.0.0.1:34559/path/file1361 -O -i -D log/5/heads1361 --output-dir log/5 > log/5/stdout1361 2> log/5/stderr1361 === End of file commands.log === Start of file ftp_server.log 17:51:00.716461 ====> Client connect 17:51:00.716633 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.716953 < "USER anonymous" 17:51:00.716999 > "331 We are happy you popped in![CR][LF]" 17:51:00.717454 < "PASS ftp@example.com" 17:51:00.717493 > "230 Welcome you silly person[CR][LF]" 17:51:00.718161 < "PWD" 17:51:00.718202 > "257 "/" is current directory[CR][LF]" 17:51:00.718368 < "EPSV" 17:51:00.718396 ====> Passive DATA channel requested by client 17:51:00.718409 DATA sockfilt for passive data channel starting... 17:51:00.733563 DATA sockfilt for passive data channel started (pid 153061) 17:51:00.733717 DATA sockfilt for passive data channel listens on port 41743 17:51:00.733772 > "229 Entering Passive Mode (|||41743|)[CR][LF]" 17:51:00.733791 Client has been notified that DATA conn will be accepted on port 41743 17:51:00.734079 Client connects to port 41743 17:51:00.734108 ====> Client established passive DATA connection on port 41743 17:51:00.734203 < "TYPE I" 17:51:00.734241 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.734390 < "SIZE verifiedserver" 17:51:00.734427 > "213 17[CR][LF]" 17:51:00.734569 < "RETR verifiedserver" 17:51:00.734602 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.734695 =====> Closing passive DATA connection... 17:51:00.734711 Server disconnects passive DATA connection 17:51:00.734856 Server disconnected passive DATA connection 17:51:00.734878 DATA sockfilt for passive data channel quits (pid 153061) 17:51:00.735143 DATA sockfilt for passive data channel quit (pid 153061) 17:51:00.735167 =====> Closed passive DATA connection 17:51:00.735193 > "226 File transfer complete[CR][LF]" 17:51:00.788089 < "QUIT" 17:51:00.788248 > "221 bye bye baby[CR][LF]" 17:51:00.789830 MAIN sockfilt said DISC 17:51:00.789863 ====> Client disconnected 17:51:00.789939 Awaiting input === End of file ftp_server.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/11/valgrind1356 ../src/curl -q --trace-ascii log/11/trace1356 --trace-time ftp://127.0.0.1:36233/path/file1356 -O --output-dir log/11 > log/11/stdout1356 2> log/11/stderr1356 file ftp_sockctrl.log 17:51:00.562508 ====> Client connect 17:51:00.562845 Received DATA (on stdin) 17:51:00.562862 > 146 bytes data, server => client 17:51:00.562873 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:00.562884 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:00.562894 '220 \___|\___/|_| \_\_____|\r\n' 17:51:00.562970 < 16 bytes data, client => server 17:51:00.562982 'USER anonymous\r\n' 17:51:00.563183 Received DATA (on stdin) 17:51:00.563196 > 33 bytes data, server => client 17:51:00.563206 '331 We are happy you popped in!\r\n' 17:51:00.563263 < 22 bytes data, client => server 17:51:00.563275 'PASS ftp@example.com\r\n' 17:51:00.563675 Received DATA (on stdin) 17:51:00.563687 > 30 bytes data, server => client 17:51:00.563697 '230 Welcome you silly person\r\n' 17:51:00.564234 < 5 bytes data, client => server 17:51:00.564249 'PWD\r\n' 17:51:00.564380 Received DATA (on stdin) 17:51:00.564391 > 30 bytes data, server => client 17:51:00.564400 '257 "/" is current directory\r\n' 17:51:00.564457 < 6 bytes data, client => server 17:51:00.564467 'EPSV\r\n' 17:51:00.579980 Received DATA (on stdin) 17:51:00.579999 > 39 bytes data, server => client 17:51:00.580010 '229 Entering Passive Mode (|||41743|)\r\n' 17:51:00.580179 < 8 bytes data, client => server 17:51:00.580192 'TYPE I\r\n' 17:51:00.580421 Received DATA (on stdin) 17:51:00.580432 > 33 bytes data, server => client 17:51:00.580442 '200 I modify TYPE as you wanted\r\n' 17:51:00.580490 < 21 bytes data, client => server 17:51:00.580501 'SIZE verifiedserver\r\n' 17:51:00.580603 Received DATA (on stdin) 17:51:00.580613 > 8 bytes data, server => client 17:51:00.580622 '213 17\r\n' 17:51:00.580669 < 21 bytes data, client => server 17:51:00.580680 'RETR verifiedserver\r\n' 17:51:00.580890 Received DATA (on stdin) 17:51:00.580900 > 29 bytes data, server => client 17:51:00.580910 '150 Binary junk (17 bytes).\r\n' 17:51:00.581371 Received DATA (on stdin) 17:51:00.581382 > 28 bytes data, server => client 17:51:00.581392 '226 File transfer complete\r\n' 17:51:00.634031 < 6 bytes data, client => server 17:51:00.634098 'QUIT\r\n' 17:51:00.634416 Received DATA (on stdin) 17:51:00.634429 > 18 bytes data, server => client 17:51:00.634456 '221 bye bye baby\r\n' 17:51:00.635952 ====> Client disconnect 17:51:00.636116 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.577120 Running IPv4 version 17:51:00.577194 Listening on port 41743 17:51:00.577239 Wrote pid 153061 to log/5/server/ftp_sockdata.pid 17:51:00.579670 Received PING (on stdin) 17:51:00.579787 Received PORT (on stdin) 17:51:00.580211 ====> Client connect 17:51:00.580933 Received DATA (on stdin) 17:51:00.580944 > 17 bytes data, server => client 17:51:00.580954 'WE ROOLZ: 81078\r\n' 17:51:00.580977 Received DISC (on stdin) 17:51:00.580987 ====> Client forcibly disconnected 17:51:00.581060 Received QUIT (on stdin) 17:51:00.581070 quits 17:51:00.581139 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1361 === End of file server.cmd === Start of file valgrind1361 ==153119== ==153119== Process terminating with default action of signal 4 (SIGILL) ==153119== Illegal opcode at address 0x4014520 ==153119== at 0x4014520: getparameter (tool_getparam.c:2862) ==153119== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153119== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153119== by 0x4003728: main (tool_main.c:186) === End of file valgrind1361 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/11/valgrind1356 ../src/curl -q --trace-ascii log/11/trace1356 --trace-time ftp://127.0.0.1:36233/path/file1356 -O --output-dir log/11 > log/11/stdout1356 2> log/11/stderr1356 1356: 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 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/11/valgrind1356 ../src/curl -q --trace-ascii log/11/trace1356 --trace-time ftp://127.0.0.1:36233/path/file1356 -O --output-dir log/11 > log/11/stdout1356 2> log/11/stderr1356 === End of file commands.log === Start of file ftp_server.log 17:51:00.586786 ====> Client connect 17:51:00.586994 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.587308 < "USER anonymous" 17:51:00.587351 > "331 We are happy you popped in![CR][LF]" 17:51:00.587532 < "PASS ftp@example.com" 17:51:00.587564 > "230 Welcome you silly person[CR][LF]" 17:51:00.587739 < "PWD" 17:51:00.587776 > "257 "/" is current directory[CR][LF]" 17:51:00.587957 < "EPSV" 17:51:00.587985 ====> Passive DATA channel requested by client 17:51:00.588001 DATA sockfilt for passive data channel starting... 17:51:00.590121 DATA sockfilt for passive data channel started (pid 152951) 17:51:00.590237 DATA sockfilt for passive data channel listens on port 42817 17:51:00.590291 > "229 Entering Passive Mode (|||42817|)[CR][LF]" 17:51:00.590316 Client has been notified that DATA conn will be accepted on port 42817 17:51:00.590575 Client connects to port 42817 17:51:00.590608 ====> Client established passive DATA connection on port 42817 17:51:00.590692 < "TYPE I" 17:51:00.590724 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.590901 < "SIZE verifiedserver" 17:51:00.590942 > "213 17[CR][LF]" 17:51:00.591107 < "RETR verifiedserver" 17:51:00.591143 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.591237 =====> Closing passive DATA connection... 17:51:00.591256 Server disconnects passive DATA connection 17:51:00.591496 Server disconnected passive DATA connection 17:51:00.591526 DATA sockfilt for passive data channel quits (pid 152951) 17:51:00.591792 DATA sockfilt for passive data channel quit (pid 152951) 17:51:00.591819 =====> Closed passive DATA connection 17:51:00.591848 > "226 File transfer complete[CR][LF]" 17:51:00.639184 < "QUIT" 17:51:00.639242 > "221 bye bye baby[CR][LF]" 17:51:00.646798 MAIN sockfilt said DISC 17:51:00.646857 ====> Client disconnected 17:51:00.646937 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:00.432760 ====> Client connect 17:51:00.433190 Received DATA (on stdin) 17:51:00.433207 > 146 bytes data, server => client 17:51:00.433220 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:00.433231 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:00.433241 '220 \___|\___/|_| \_\_____|\r\n' 17:51:00.433324 < 16 bytes data, client => server 17:51:00.433338 'USER anonymous\r\n' 17:51:00.433534 Received DATA (on stdin) 17:51:00.433547 > 33 bytes data, server => client 17:51:00.433557 '331 We are happy you popped in!\r\n' 17:51:00.433613 < 22 bytes data, client => server 17:51:00.433626 'PASS ftp@example.com\r\n' 17:51:00.433745 Received DATA (on stdin) 17:51:00.433758 > 30 bytes data, server => client 17:51:00.433769 '230 Welcome you silly person\r\n' 17:51:00.433824 < 5 bytes data, client => server 17:51:00.433837 'PWD\r\n' 17:51:00.433958 Received DATA (on stdin) 17:51:00.433970 > 30 bytes data, server => client 17:51:00.433981 '257 "/" is current directory\r\n' 17:51:00.434044 < 6 bytes data, client => server 17:51:00.434057 'EPSV\r\n' 17:51:00.436504 Received DATA (on stdin) 17:51:00.436519 > 39 bytes data, server => client 17:51:00.436531 '229 Entering Passive Mode (|||42817|)\r\n' 17:51:00.436668 < 8 bytes data, client => server 17:51:00.436686 'TYPE I\r\n' 17:51:00.436907 Received DATA (on stdin) 17:51:00.4369CMD (33792): ../libtool --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/valgrind1357 ../src/curl -q --trace-ascii log/23/trace1357 --trace-time ftp://127.0.0.1:46399/path/file1357 -O -D log/23/heads1357 --output-dir log/23 > log/23/stdout1357 2> log/23/stderr1357 CMD (33792): ../libtool --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/valgrind1359 ../src/curl -q --trace-ascii log/4/trace1359 --trace-time ftp://127.0.0.1:40307/path/file1359 -O -J -D log/4/heads1359 --output-dir log/4 > log/4/stdout1359 2> log/4/stderr1359 20 > 33 bytes data, server => client 17:51:00.436931 '200 I modify TYPE as you wanted\r\n' 17:51:00.436986 < 21 bytes data, client => server 17:51:00.437000 'SIZE verifiedserver\r\n' 17:51:00.437123 Received DATA (on stdin) 17:51:00.437135 > 8 bytes data, server => client 17:51:00.437145 '213 17\r\n' 17:51:00.437198 < 21 bytes data, client => server 17:51:00.437210 'RETR verifiedserver\r\n' 17:51:00.437437 Received DATA (on stdin) 17:51:00.437449 > 29 bytes data, server => client 17:51:00.437459 '150 Binary junk (17 bytes).\r\n' 17:51:00.438029 Received DATA (on stdin) 17:51:00.438042 > 28 bytes data, server => client 17:51:00.438053 '226 File transfer complete\r\n' 17:51:00.482972 < 6 bytes data, client => server 17:51:00.483001 'QUIT\r\n' 17:51:00.485432 Received DATA (on stdin) 17:51:00.485451 > 18 bytes data, server => client 17:51:00.485462 '221 bye bye baby\r\n' 17:51:00.489516 ====> Client disconnect 17:51:00.493119 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.435934 Running IPv4 version 17:51:00.436003 Listening on port 42817 17:51:00.436044 Wrote pid 152951 to log/11/server/ftp_sockdata.pid 17:51:00.436233 Received PING (on stdin) 17:51:00.436327 Received PORT (on stdin) 17:51:00.436706 ====> Client connect 17:51:00.437487 Received DATA (on stdin) 17:51:00.437500 > 17 bytes data, server => client 17:51:00.437510 'WE ROOLZ: 80983\r\n' 17:51:00.437535 Received DISC (on stdin) 17:51:00.437547 ====> Client forcibly disconnected 17:51:00.437715 Received QUIT (on stdin) 17:51:00.437728 quits 17:51:00.437794 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1356 === End of file server.cmd === Start of file valgrind1356 ==153042== ==153042== Process terminating with default action of signal 4 (SIGILL) ==153042== Illegal opcode at address 0x4014520 ==153042== at 0x4014520: getparameter (tool_getparam.c:2862) ==153042== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153042== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153042== by 0x4003728: main (tool_main.c:186) === End of file valgrind1356 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/23/valgrind1357 ../src/curl -q --trace-ascii log/23/trace1357 --trace-time ftp://127.0.0.1:46399/path/file1357 -O -D log/23/heads1357 --output-dir log/23 > log/23/stdout1357 2> log/23/stderr1357 1357: 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 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/23/valgrind1357 ../src/curl -q --trace-ascii log/23/trace1357 --trace-time ftp://127.0.0.1:46399/path/file1357 -O -D log/23/heads1357 --output-dir log/23 > log/23/stdout1357 2> log/23/stderr1357 === End of file commands.log === Start of file ftp_server.log 17:51:00.587392 ====> Client connect 17:51:00.587565 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.600218 < "USER anonymous" 17:51:00.600285 > "331 We are happy you popped in![CR][LF]" 17:51:00.616994 < "PASS ftp@example.com" 17:51:00.617061 > "230 Welcome you silly person[CR][LF]" 17:51:00.619337 < "PWD" 17:51:00.619395 > "257 "/" is current directory[CR][LF]" 17:51:00.626950 < "EPSV" 17:51:00.627001 ====> Passive DATA channel requested by client 17:51:00.627018 DATA sockfilt for passive data channel starting... 17:51:00.632650 DATA sockfilt for passive data channel started (pid 152987) 17:51:00.632770 DATA sockfilt for passive data channel listens on port 34251 17:51:00.632823 > "229 Entering Passive Mode (|||34251|)[CR][LF]" 17:51:00.632840 Client has been notified that DATA conn will be accepted on port 34251 17:51:00.633128 Client connects to port 34251 17:51:00.633162 ====> Client established passive DATA connection on port 34251 17:51:00.633248 < "TYPE I" 17:51:00.633279 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.633455 < "SIZE verifiedserver" 17:51:00.633492 > "213 17[CR][LF]" 17:51:00.633625 < "RETR verifiedserver" 17:51:00.633657 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.633744 =====> Closing passive DATA connection... 17:51:00.633760 Server disconnects passive DATA connection 17:51:00.633981 Server disconnected passive DATA connection 17:51:00.634004 DATA sockfilt for passive data channel quits (pid 152987) 17:51:00.636939 DATA sockfilt for passive data channel quit (pid 152987) 17:51:00.636975 =====> Closed passive DATA connection 17:51:00.637013 > "226 File transfer complete[CR][LF]" 17:51:00.686967 < "QUIT" 17:51:00.687035 > "221 bye bye baby[CR][LF]" 17:51:00.688665 MAIN sockfilt said DISC 17:51:00.688708 ====> Client disconnected 17:51:00.688795 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:01.433473 ====> Client connect 17:51:01.433758 Received DATA (on stdin) 17:51:01.433774 > 146 bytes data, server => client 17:51:01.433786 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:01.433796 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:01.433806 '220 \___|\___/|_| \_\_____|\r\n' 17:51:01.442887 < 16 bytes data, client => server 17:51:01.442918 'USER anonymous\r\n' 17:51:01.454159 Received DATA (on stdin) 17:51:01.454209 > 33 bytes data, server => client 17:51:01.454223 '331 We are happy you popped in!\r\n' 17:51:01.462949 < 22 bytes data, client => server 17:51:01.462986 'PASS ftp@example.com\r\n' 17:51:01.463250 Received DATA (on stdin) 17:51:01.463266 > 30 bytes data, server => client 17:51:01.463276 '230 Welcome you silly person\r\n' 17:51:01.463340 < 5 bytes data, client => server 17:51:01.463351 'PWD\r\n' 17:51:01.469510 Received DATA (on stdin) 17:51:01.469537 > 30 bytes data, server => client 17:51:01.469548 '257 "/" is current directory\r\n' 17:51:01.472940 < 6 bytes data, client => server 17:51:01.472966 'EPSV\r\n' 17:51:01.479026 Received DATA (on stdin) 17:51:01.479042 > 39 bytes data, server => client 17:51:01.479053 '229 Entering Passive Mode (|||34251|)\r\n' 17:51:01.479228 < 8 bytes data, client => server 17:51:01.479242 'TYPE I\r\n' 17:51:01.479457 Received DATA (on stdin) 17:51:01.479467 > 33 bytes data, server => client 17:51:01.479476 '200 I modify TYPE as you wanted\r\n' 17:51:01.479546 < 21 bytes data, client => server 17:51:01.479556 'SIZE verifiedserver\r\n' 17:51:01.479668 Received DATA (on stdin) 17:51:01.479677 > 8 bytes data, server => client 17:51:01.479686 '213 17\r\n' 17:51:01.479728 < 21 bytes data, client => server 17:51:01.479737 'RETR verifiedserver\r\n' 17:51:01.479935 Received DATA (on stdin) 17:51:01.479945 > 29 bytes data, server => client 17:51:01.479954 '150 Binary junk (17 bytes).\r\n' 17:51:01.483198 Received DATA (on stdin) 17:51:01.483212 > 28 bytes data, server => client 17:51:01.483223 '226 File transfer complete\r\n' 17:51:01.532920 < 6 bytes data, client => server 17:51:01.532963 'QUIT\r\n' 17:51:01.533224 Received DATA (on stdin) 17:51:01.533238 > 18 bytes data, server => client 17:51:01.533248 '221 bye bye baby\r\n' 17:51:01.534330 ====> Client disconnect 17:51:01.534985 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.478504 Running IPv4 version 17:51:00.478572 Listening on port 34251 17:51:00.478607 Wrote pid 152987 to log/23/server/ftp_sockdata.pid 17:51:00.478773 Received PING (on stdin) 17:51:00.478858 Received PORT (on stdin) 17:51:00.479261 ====> Client connect 17:51:00.480006 Received DATA (on stdin) 17:51:00.480019 > 17 bytes data, 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/9/valgrind1354 ../src/curl -q --trace-ascii log/9/trace1354 --trace-time ftp://127.0.0.1:36391/path/file1354 -O -i -D - --output-dir log/9 > log/9/stdout1354 2> log/9/stderr1354 client 17:51:00.480028 'WE ROOLZ: 81154\r\n' 17:51:00.480054 Received DISC (on stdin) 17:51:00.480063 ====> Client forcibly disconnected 17:51:00.480191 Received QUIT (on stdin) 17:51:00.480201 quits 17:51:00.482784 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1357 === End of file server.cmd === Start of file valgrind1357 ==153074== ==153074== Process terminating with default action of signal 4 (SIGILL) ==153074== Illegal opcode at address 0x4014520 ==153074== at 0x4014520: getparameter (tool_getparam.c:2862) ==153074== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153074== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153074== by 0x4003728: main (tool_main.c:186) === End of file valgrind1357 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/4/valgrind1359 ../src/curl -q --trace-ascii log/4/trace1359 --trace-time ftp://127.0.0.1:40307/path/file1359 -O -J -D log/4/heads1359 --output-dir log/4 > log/4/stdout1359 2> log/4/stderr1359 1359: 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 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/4/valgrind1359 ../src/curl -q --trace-ascii log/4/trace1359 --trace-time ftp://127.0.0.1:40307/path/file1359 -O -J -D log/4/heads1359 --output-dir log/4 > log/4/stdout1359 2> log/4/stderr1359 === End of file commands.log === Start of file ftp_server.log 17:51:00.639801 ====> Client connect 17:51:00.640129 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.643583 < "USER anonymous" 17:51:00.643633 > "331 We are happy you popped in![CR][LF]" 17:51:00.644089 < "PASS ftp@example.com" 17:51:00.644120 > "230 Welcome you silly person[CR][LF]" 17:51:00.644284 < "PWD" 17:51:00.644319 > "257 "/" is current directory[CR][LF]" 17:51:00.644498 < "EPSV" 17:51:00.644526 ====> Passive DATA channel requested by client 17:51:00.644542 DATA sockfilt for passive data channel starting... 17:51:00.651535 DATA sockfilt for passive data channel started (pid 152997) 17:51:00.651699 DATA sockfilt for passive data channel listens on port 33595 17:51:00.651756 > "229 Entering Passive Mode (|||33595|)[CR][LF]" 17:51:00.651779 Client has been notified that DATA conn will be accepted on port 33595 17:51:00.652052 Client connects to port 33595 17:51:00.652082 ====> Client established passive DATA connection on port 33595 17:51:00.652186 < "TYPE I" 17:51:00.652223 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.652391 < "SIZE verifiedserver" 17:51:00.652433 > "213 17[CR][LF]" 17:51:00.652598 < "RETR verifiedserver" 17:51:00.652639 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.652726 =====> Closing passive DATA connection... 17:51:00.652745 Server disconnects passive DATA connection 17:51:00.652904 Server disconnected passive DATA connection 17:51:00.652931 DATA sockfilt for passive data channel quits (pid 152997) 17:51:00.653231 DATA sockfilt for passive data channel quit (pid 152997) 17:51:00.653262 =====> Closed passive DATA connection 17:51:00.653293 > "226 File transfer complete[CR][LF]" 17:51:00.697037 < "QUIT" 17:51:00.697100 > "221 bye bye baby[CR][LF]" 17:51:00.698918 MAIN sockfilt said DISC 17:51:00.698959 ====> Client disconnected 17:51:00.699042 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:00.485869 ====> Client connect 17:51:00.486320 Received DATA (on stdin) 17:51:00.486335 > 146 bytes data, server => client 17:51:00.486347 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:00.486357 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:00.486367 '220 \___|\___/|_| \_\_____|\r\n' 17:51:00.489567 < 16 bytes data, client => server 17:51:00.489586 'USER anonymous\r\n' 17:51:00.489818 Received DATA (on stdin) 17:51:00.489830 > 33 bytes data, server => client 17:51:00.489841 '331 We are happy you popped in!\r\n' 17:51:00.490163 < 22 bytes data, client => server 17:51:00.490180 'PASS ftp@example.com\r\n' 17:51:00.490300 Received DATA (on stdin) 17:51:00.490312 > 30 bytes data, server => client 17:51:00.490322 '230 Welcome you silly person\r\n' 17:51:00.490374 < 5 bytes data, client => server 17:51:00.490385 'PWD\r\n' 17:51:00.490499 Received DATA (on stdin) 17:51:00.490511 > 30 bytes data, server => client 17:51:00.490521 '257 "/" is current directory\r\n' 17:51:00.490585 < 6 bytes data, client => server 17:51:00.490597 'EPSV\r\n' 17:51:00.497969 Received DATA (on stdin) 17:51:00.497987 > 39 bytes data, server => client 17:51:00.497999 '229 Entering Passive Mode (|||33595|)\r\n' 17:51:00.498145 < 8 bytes data, client => server 17:51:00.498162 'TYPE I\r\n' 17:51:00.498405 Received DATA (on stdin) 17:51:00.498417 > 33 bytes data, server => client 17:51:00.498428 '200 I modify TYPE as you wanted\r\n' 17:51:00.498481 < 21 bytes data, client => server 17:51:00.498492 'SIZE verifiedserver\r\n' 17:51:00.498614 Received DATA (on stdin) 17:51:00.498626 > 8 bytes data, server => client 17:51:00.498636 '213 17\r\n' 17:51:00.498687 < 21 bytes data, client => server 17:51:00.498699 'RETR verifiedserver\r\n' 17:51:00.499012 Received DATA (on stdin) 17:51:00.499024 > 29 bytes data, server => client 17:51:00.499034 '150 Binary junk (17 bytes).\r\n' 17:51:00.499473 Received DATA (on stdin) 17:51:00.499501 > 28 bytes data, server => client 17:51:00.499512 '226 File transfer complete\r\n' 17:51:00.542998 < 6 bytes data, client => server 17:51:00.543041 'QUIT\r\n' 17:51:00.543283 Received DATA (on stdin) 17:51:00.543295 > 18 bytes data, server => client 17:51:00.543306 '221 bye bye baby\r\n' 17:51:00.545038 ====> Client disconnect 17:51:00.545221 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.497012 Running IPv4 version 17:51:00.497089 Listening on port 33595 17:51:00.497127 Wrote pid 152997 to log/4/server/ftp_sockdata.pid 17:51:00.497149 Received PING (on stdin) 17:51:00.497769 Received PORT (on stdin) 17:51:00.498183 ====> Client connect 17:51:00.498925 Received DATA (on stdin) 17:51:00.498938 > 17 bytes data, server => client 17:51:00.498948 'WE ROOLZ: 80996\r\n' 17:51:00.498976 Received DISC (on stdin) 17:51:00.498987 ====> Client forcibly disconnected 17:51:00.499118 Received QUIT (on stdin) 17:51:00.499130 quits 17:51:00.499193 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1359 === End of file server.cmd === Start of file valgrind1359 ==153106== ==153106== Process terminating with default action of signal 4 (SIGILL) ==153106== Illegal opcode at address 0x4014520 ==153106== at 0x4014520: getparameter (tool_getparam.c:2862) ==153106== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153106== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153106== by 0x4003728: main (tool_main.c:186) === End of file valgrind1359 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/9/valgrind1354 ../src/curl -q --trace-ascii log/9/trace1354 --trace-time ftp://127.0.0.1:36391/path/file1354 -O -i -D - --output-dir log/9 > log/9/stdout1354 2> log/9/stderr1354 1354: 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 CMD (33792): ../libtool --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/valgrind1363 ../src/curl -q --trace-ascii log/24/trace1363 --trace-time ftp://127.0.0.1:39525/path/file1363 -O -i --output-dir log/24 > log/24/stdout1363 2> log/24/stderr1363 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/9/valgrind1354 ../src/curl -q --trace-ascii log/9/trace1354 --trace-time ftp://127.0.0.1:36391/path/file1354 -O -i -D - --output-dir log/9 > log/9/stdout1354 2> log/9/stderr1354 === End of file commands.log === Start of file ftp_server.log 17:51:00.217035 ====> Client connect 17:51:00.217187 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.217444 < "USER anonymous" 17:51:00.217478 > "331 We are happy you popped in![CR][LF]" 17:51:00.217630 < "PASS ftp@example.com" 17:51:00.217653 > "230 Welcome you silly person[CR][LF]" 17:51:00.217793 < "PWD" 17:51:00.217822 > "257 "/" is current directory[CR][LF]" 17:51:00.217966 < "EPSV" 17:51:00.217992 ====> Passive DATA channel requested by client 17:51:00.218005 DATA sockfilt for passive data channel starting... 17:51:00.227949 DATA sockfilt for passive data channel started (pid 152676) 17:51:00.228090 DATA sockfilt for passive data channel listens on port 33759 17:51:00.228146 > "229 Entering Passive Mode (|||33759|)[CR][LF]" 17:51:00.228166 Client has been notified that DATA conn will be accepted on port 33759 17:51:00.228485 Client connects to port 33759 17:51:00.228516 ====> Client established passive DATA connection on port 33759 17:51:00.228607 < "TYPE I" 17:51:00.228643 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.228805 < "SIZE verifiedserver" 17:51:00.228843 > "213 17[CR][LF]" 17:51:00.228995 < "RETR verifiedserver" 17:51:00.229030 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.229111 =====> Closing passive DATA connection... 17:51:00.229130 Server disconnects passive DATA connection 17:51:00.229348 Server disconnected passive DATA connection 17:51:00.229376 DATA sockfilt for passive data channel quits (pid 152676) 17:51:00.229610 DATA sockfilt for passive data channel quit (pid 152676) 17:51:00.229634 =====> Closed passive DATA connection 17:51:00.229661 > "226 File transfer complete[CR][LF]" 17:51:00.270410 < "QUIT" 17:51:00.270466 > "221 bye bye baby[CR][LF]" 17:51:00.273414 MAIN sockfilt said DISC 17:51:00.273468 ====> Client disconnected 17:51:00.273561 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:00.063113 ====> Client connect 17:51:00.063375 Received DATA (on stdin) 17:51:00.063388 > 146 bytes data, server => client 17:51:00.063400 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:00.063410 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:00.063420 '220 \___|\___/|_| \_\_____|\r\n' 17:51:00.063489 < 16 bytes data, client => server 17:51:00.063500 'USER anonymous\r\n' 17:51:00.063658 Received DATA (on stdin) 17:51:00.063669 > 33 bytes data, server => client 17:51:00.063679 '331 We are happy you popped in!\r\n' 17:51:00.063726 < 22 bytes data, client => server 17:51:00.063736 'PASS ftp@example.com\r\n' 17:51:00.063829 Received DATA (on stdin) 17:51:00.063839 > 30 bytes data, server => client 17:51:00.063851 '230 Welcome you silly person\r\n' 17:51:00.063896 < 5 bytes data, client => server 17:51:00.063905 'PWD\r\n' 17:51:00.063997 Received DATA (on stdin) 17:51:00.064007 > 30 bytes data, server => client 17:51:00.064017 '257 "/" is current directory\r\n' 17:51:00.064069 < 6 bytes data, client => server 17:51:00.064079 'EPSV\r\n' 17:51:00.074354 Received DATA (on stdin) 17:51:00.074374 > 39 bytes data, server => client 17:51:00.074385 '229 Entering Passive Mode (|||33759|)\r\n' 17:51:00.074580 < 8 bytes data, client => server 17:51:00.074595 'TYPE I\r\n' 17:51:00.074822 Received DATA (on stdin) 17:51:00.074833 > 33 bytes data, server => client 17:51:00.074844 '200 I modify TYPE as you wanted\r\n' 17:51:00.074899 < 21 bytes data, client => server 17:51:00.074910 'SIZE verifiedserver\r\n' 17:51:00.075021 Received DATA (on stdin) 17:51:00.075031 > 8 bytes data, server => client 17:51:00.075041 '213 17\r\n' 17:51:00.075089 < 21 bytes data, client => server 17:51:00.075100 'RETR verifiedserver\r\n' 17:51:00.075309 Received DATA (on stdin) 17:51:00.075321 > 29 bytes data, server => client 17:51:00.075330 '150 Binary junk (17 bytes).\r\n' 17:51:00.075839 Received DATA (on stdin) 17:51:00.075852 > 28 bytes data, server => client 17:51:00.075862 '226 File transfer complete\r\n' 17:51:00.116375 < 6 bytes data, client => server 17:51:00.116414 'QUIT\r\n' 17:51:00.116649 Received DATA (on stdin) 17:51:00.116661 > 18 bytes data, server => client 17:51:00.116670 '221 bye bye baby\r\n' 17:51:00.119510 ====> Client disconnect 17:51:00.119744 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.073707 Running IPv4 version 17:51:00.073792 Listening on port 33759 17:51:00.073866 Wrote pid 152676 to log/9/server/ftp_sockdata.pid 17:51:00.074068 Received PING (on stdin) 17:51:00.074169 Received PORT (on stdin) 17:51:00.074617 ====> Client connect 17:51:00.075355 Received DATA (on stdin) 17:51:00.075367 > 17 bytes data, server => client 17:51:00.075376 'WE ROOLZ: 80975\r\n' 17:51:00.075400 Received DISC (on stdin) 17:51:00.075411 ====> Client forcibly disconnected 17:51:00.075560 Received QUIT (on stdin) 17:51:00.075571 quits 17:51:00.075651 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1354 === End of file server.cmd === Start of file valgrind1354 ==152769== ==152769== Process terminating with default action of signal 4 (SIGILL) ==152769== Illegal opcode at address 0x4014520 ==152769== at 0x4014520: getparameter (tool_getparam.c:2862) ==152769== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==152769== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==152769== by 0x4003728: main (tool_main.c:186) === End of file valgrind1354 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/24/valgrind1363 ../src/curl -q --trace-ascii log/24/trace1363 --trace-time ftp://127.0.0.1:39525/path/file1363 -O -i --output-dir log/24 > log/24/stdout1363 2> log/24/stderr1363 1363: 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 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/24/valgrind1363 ../src/curl -q --trace-ascii log/24/trace1363 --trace-time ftp://127.0.0.1:39525/path/file1363 -O -i --output-dir log/24 > log/24/stdout1363 2> log/24/stderr1363 === End of file commands.log === Start of file ftp_server.log 17:51:00.896793 ====> Client connect 17:51:00.896959 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.910981 < "USER anonymous" 17:51:00.911048 > "331 We are happy you popped in![CR][LF]" 17:51:00.911298 < "PASS ftp@example.com" 17:51:00.911332 > "230 Welcome you silly person[CR][LF]" 17:51:00.911514 < "PWD" 17:51:00.911552 > "257 "/" is current directory[CR][LF]" 17:51:00.911751 < "EPSV" 17:51:00.911779 ====> Passive DATA channel requested by client 17:51:00.911797 DATA sockfilt for passive data channel starting... 17:51:00.923391 DATA sockfilt for passive data channel started (pid 153280) 17:51:00.930139 DATA sockfilt for passive data channel listens on port 36091 17:51:00.930259 > "229 Entering Passive Mode (|||36091|)[CR][LF]" 17:51:00.930290 Client has been notified that DATA conn will be accepted on pCMD (33792): ../libtool --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/valgrind1360 ../src/curl -q --trace-ascii log/20/trace1360 --trace-time ftp://127.0.0.1:35215/path/file1360 -O -J -D - --output-dir log/20 > log/20/stdout1360 2> log/20/stderr1360 ort 36091 17:51:00.940322 Client connects to port 36091 17:51:00.940390 ====> Client established passive DATA connection on port 36091 17:51:00.940513 < "TYPE I" 17:51:00.940565 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.943460 < "SIZE verifiedserver" 17:51:00.943523 > "213 17[CR][LF]" 17:51:00.943746 < "RETR verifiedserver" 17:51:00.943787 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.943884 =====> Closing passive DATA connection... 17:51:00.943900 Server disconnects passive DATA connection 17:51:00.944084 Server disconnected passive DATA connection 17:51:00.944107 DATA sockfilt for passive data channel quits (pid 153280) 17:51:00.944403 DATA sockfilt for passive data channel quit (pid 153280) 17:51:00.944425 =====> Closed passive DATA connection 17:51:00.944453 > "226 File transfer complete[CR][LF]" 17:51:00.993679 < "QUIT" 17:51:00.993743 > "221 bye bye baby[CR][LF]" 17:51:00.997916 MAIN sockfilt said DISC 17:51:00.998009 ====> Client disconnected 17:51:00.998083 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:01.742845 ====> Client connect 17:51:01.743148 Received DATA (on stdin) 17:51:01.743162 > 146 bytes data, server => client 17:51:01.743177 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:01.743188 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:01.743198 '220 \___|\___/|_| \_\_____|\r\n' 17:51:01.756895 < 16 bytes data, client => server 17:51:01.756935 'USER anonymous\r\n' 17:51:01.757238 Received DATA (on stdin) 17:51:01.757253 > 33 bytes data, server => client 17:51:01.757265 '331 We are happy you popped in!\r\n' 17:51:01.757369 < 22 bytes data, client => server 17:51:01.757387 'PASS ftp@example.com\r\n' 17:51:01.757515 Received DATA (on stdin) 17:51:01.757528 > 30 bytes data, server => client 17:51:01.757539 '230 Welcome you silly person\r\n' 17:51:01.757595 < 5 bytes data, client => server 17:51:01.757609 'PWD\r\n' 17:51:01.757736 Received DATA (on stdin) 17:51:01.757749 > 30 bytes data, server => client 17:51:01.757760 '257 "/" is current directory\r\n' 17:51:01.757831 < 6 bytes data, client => server 17:51:01.757847 'EPSV\r\n' 17:51:01.779503 Received DATA (on stdin) 17:51:01.779531 > 39 bytes data, server => client 17:51:01.779543 '229 Entering Passive Mode (|||36091|)\r\n' 17:51:01.783044 < 8 bytes data, client => server 17:51:01.784158 'TYPE I\r\n' 17:51:01.786759 Received DATA (on stdin) 17:51:01.786778 > 33 bytes data, server => client 17:51:01.786789 '200 I modify TYPE as you wanted\r\n' 17:51:01.786897 < 21 bytes data, client => server 17:51:01.786913 'SIZE verifiedserver\r\n' 17:51:01.789710 Received DATA (on stdin) 17:51:01.789729 > 8 bytes data, server => client 17:51:01.789739 '213 17\r\n' 17:51:01.789838 < 21 bytes data, client => server 17:51:01.789850 'RETR verifiedserver\r\n' 17:51:01.790082 Received DATA (on stdin) 17:51:01.790092 > 29 bytes data, server => client 17:51:01.790102 '150 Binary junk (17 bytes).\r\n' 17:51:01.790631 Received DATA (on stdin) 17:51:01.790643 > 28 bytes data, server => client 17:51:01.790653 '226 File transfer complete\r\n' 17:51:01.839647 < 6 bytes data, client => server 17:51:01.839684 'QUIT\r\n' 17:51:01.839930 Received DATA (on stdin) 17:51:01.839943 > 18 bytes data, server => client 17:51:01.839953 '221 bye bye baby\r\n' 17:51:01.843717 ====> Client disconnect 17:51:01.844262 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.761021 Running IPv4 version 17:51:00.761098 Listening on port 36091 17:51:00.761137 Wrote pid 153280 to log/24/server/ftp_sockdata.pid 17:51:00.763482 Received PING (on stdin) 17:51:00.773009 Received PORT (on stdin) 17:51:00.786411 ====> Client connect 17:51:00.790132 Received DATA (on stdin) 17:51:00.790152 > 17 bytes data, server => client 17:51:00.790162 'WE ROOLZ: 81152\r\n' 17:51:00.790193 Received DISC (on stdin) 17:51:00.790205 ====> Client forcibly disconnected 17:51:00.790295 Received QUIT (on stdin) 17:51:00.790304 quits 17:51:00.790384 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1363 === End of file server.cmd === Start of file valgrind1363 ==153420== ==153420== Process terminating with default action of signal 4 (SIGILL) ==153420== Illegal opcode at address 0x4014520 ==153420== at 0x4014520: getparameter (tool_getparam.c:2862) ==153420== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153420== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153420== by 0x4003728: main (tool_main.c:186) === End of file valgrind1363 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/20/valgrind1360 ../src/curl -q --trace-ascii log/20/trace1360 --trace-time ftp://127.0.0.1:35215/path/file1360 -O -J -D - --output-dir log/20 > log/20/stdout1360 2> log/20/stderr1360 1360: 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 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/20/valgrind1360 ../src/curl -q --trace-ascii log/20/trace1360 --trace-time ftp://127.0.0.1:35215/path/file1360 -O -J -D - --output-dir log/20 > log/20/stdout1360 2> log/20/stderr1360 === End of file commands.log === Start of file ftp_server.log 17:51:00.710181 ====> Client connect 17:51:00.710382 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.716954 < "USER anonymous" 17:51:00.717024 > "331 We are happy you popped in![CR][LF]" 17:51:00.717284 < "PASS ftp@example.com" 17:51:00.717320 > "230 Welcome you silly person[CR][LF]" 17:51:00.717508 < "PWD" 17:51:00.717549 > "257 "/" is current directory[CR][LF]" 17:51:00.717740 < "EPSV" 17:51:00.717771 ====> Passive DATA channel requested by client 17:51:00.717788 DATA sockfilt for passive data channel starting... 17:51:00.727184 DATA sockfilt for passive data channel started (pid 153060) 17:51:00.727325 DATA sockfilt for passive data channel listens on port 41579 17:51:00.727375 > "229 Entering Passive Mode (|||41579|)[CR][LF]" 17:51:00.727391 Client has been notified that DATA conn will be accepted on port 41579 17:51:00.735344 Client connects to port 41579 17:51:00.735395 ====> Client established passive DATA connection on port 41579 17:51:00.735509 < "TYPE I" 17:51:00.735549 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.740341 < "SIZE verifiedserver" 17:51:00.740415 > "213 17[CR][LF]" 17:51:00.740584 < "RETR verifiedserver" 17:51:00.740620 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.740718 =====> Closing passive DATA connection... 17:51:00.740736 Server disconnects passive DATA connection 17:51:00.741001 Server disconnected passive DATA connection 17:51:00.741031 DATA sockfilt for passive data channel quits (pid 153060) 17:51:00.741291 DATA sockfilt for passive data channel quit (pid 153060) 17:51:00.741317 =====> Closed passive DATA connection 17:51:00.741347 > "226 File transfer complete[CR][LF]" 17:51:00.785449 < "QUIT" 17:51:00.785512 > "221 bye bye baby[CR][LF]" 17:51:00.786727 MAIN sockfilt said DISC 17:51:00.786771 ====> Client disconnected 17:51:00.786872 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:00.556185 ====> Client connect 17:51:00.556576 Received DATA (on stdin) 17:51:00.556592 > 146 bytes data, server => client 17:51:00.556605 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:00.556615 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:00.556624 '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/valgrind1362 ../src/curl -q --trace-ascii log/16/trace1362 --trace-time ftp://127.0.0.1:39205/path/file1362 -O -i -D - --output-dir log/16 > log/16/stdout1362 2> log/16/stderr1362 |_| \_\_____|\r\n' 17:51:00.562861 < 16 bytes data, client => server 17:51:00.562903 'USER anonymous\r\n' 17:51:00.563216 Received DATA (on stdin) 17:51:00.563232 > 33 bytes data, server => client 17:51:00.563244 '331 We are happy you popped in!\r\n' 17:51:00.563351 < 22 bytes data, client => server 17:51:00.563369 'PASS ftp@example.com\r\n' 17:51:00.563504 Received DATA (on stdin) 17:51:00.563517 > 30 bytes data, server => client 17:51:00.563528 '230 Welcome you silly person\r\n' 17:51:00.563584 < 5 bytes data, client => server 17:51:00.563600 'PWD\r\n' 17:51:00.563734 Received DATA (on stdin) 17:51:00.563747 > 30 bytes data, server => client 17:51:00.563758 '257 "/" is current directory\r\n' 17:51:00.563824 < 6 bytes data, client => server 17:51:00.563838 'EPSV\r\n' 17:51:00.579514 Received DATA (on stdin) 17:51:00.579561 > 39 bytes data, server => client 17:51:00.579574 '229 Entering Passive Mode (|||41579|)\r\n' 17:51:00.580188 < 8 bytes data, client => server 17:51:00.580205 'TYPE I\r\n' 17:51:00.586176 Received DATA (on stdin) 17:51:00.586224 > 33 bytes data, server => client 17:51:00.586237 '200 I modify TYPE as you wanted\r\n' 17:51:00.586355 < 21 bytes data, client => server 17:51:00.586369 'SIZE verifiedserver\r\n' 17:51:00.586601 Received DATA (on stdin) 17:51:00.586613 > 8 bytes data, server => client 17:51:00.586622 '213 17\r\n' 17:51:00.586676 < 21 bytes data, client => server 17:51:00.586687 'RETR verifiedserver\r\n' 17:51:00.587025 Received DATA (on stdin) 17:51:00.587037 > 29 bytes data, server => client 17:51:00.587048 '150 Binary junk (17 bytes).\r\n' 17:51:00.587527 Received DATA (on stdin) 17:51:00.587540 > 28 bytes data, server => client 17:51:00.587550 '226 File transfer complete\r\n' 17:51:00.631411 < 6 bytes data, client => server 17:51:00.631444 'QUIT\r\n' 17:51:00.631696 Received DATA (on stdin) 17:51:00.631709 > 18 bytes data, server => client 17:51:00.631719 '221 bye bye baby\r\n' 17:51:00.632845 ====> Client disconnect 17:51:00.633061 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.573143 Running IPv4 version 17:51:00.573226 Listening on port 41579 17:51:00.573263 Wrote pid 153060 to log/20/server/ftp_sockdata.pid 17:51:00.573287 Received PING (on stdin) 17:51:00.573405 Received PORT (on stdin) 17:51:00.579793 ====> Client connect 17:51:00.586922 Received DATA (on stdin) 17:51:00.586939 > 17 bytes data, server => client 17:51:00.586950 'WE ROOLZ: 81259\r\n' 17:51:00.586984 Received DISC (on stdin) 17:51:00.586996 ====> Client forcibly disconnected 17:51:00.587219 Received QUIT (on stdin) 17:51:00.587231 quits 17:51:00.587306 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1360 === End of file server.cmd === Start of file valgrind1360 ==153175== ==153175== Process terminating with default action of signal 4 (SIGILL) ==153175== Illegal opcode at address 0x4014520 ==153175== at 0x4014520: getparameter (tool_getparam.c:2862) ==153175== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153175== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153175== by 0x4003728: main (tool_main.c:186) === End of file valgrind1360 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/16/valgrind1362 ../src/curl -q --trace-ascii log/16/trace1362 --trace-time ftp://127.0.0.1:39205/path/file1362 -O -i -D - --output-dir log/16 > log/16/stdout1362 2> log/16/stderr1362 1362: 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 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/16/valgrind1362 ../src/curl -q --trace-ascii log/16/trace1362 --trace-time ftp://127.0.0.1:39205/path/file1362 -O -i -D - --output-dir log/16 > log/16/stdout1362 2> log/16/stderr1362 === End of file commands.log === Start of file ftp_server.log 17:51:00.890158 ====> Client connect 17:51:00.890336 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.890658 < "USER anonymous" 17:51:00.890697 > "331 We are happy you popped in![CR][LF]" 17:51:00.890859 < "PASS ftp@example.com" 17:51:00.890907 > "230 Welcome you silly person[CR][LF]" 17:51:00.891074 < "PWD" 17:51:00.891108 > "257 "/" is current directory[CR][LF]" 17:51:00.891273 < "EPSV" 17:51:00.891298 ====> Passive DATA channel requested by client 17:51:00.891312 DATA sockfilt for passive data channel starting... 17:51:00.900307 DATA sockfilt for passive data channel started (pid 153248) 17:51:00.900479 DATA sockfilt for passive data channel listens on port 40973 17:51:00.900551 > "229 Entering Passive Mode (|||40973|)[CR][LF]" 17:51:00.900581 Client has been notified that DATA conn will be accepted on port 40973 17:51:00.900895 Client connects to port 40973 17:51:00.900925 ====> Client established passive DATA connection on port 40973 17:51:00.901018 < "TYPE I" 17:51:00.901053 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.901209 < "SIZE verifiedserver" 17:51:00.901245 > "213 17[CR][LF]" 17:51:00.901390 < "RETR verifiedserver" 17:51:00.901425 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.901516 =====> Closing passive DATA connection... 17:51:00.901532 Server disconnects passive DATA connection 17:51:00.901720 Server disconnected passive DATA connection 17:51:00.901748 DATA sockfilt for passive data channel quits (pid 153248) 17:51:00.902051 DATA sockfilt for passive data channel quit (pid 153248) 17:51:00.902081 =====> Closed passive DATA connection 17:51:00.902115 > "226 File transfer complete[CR][LF]" 17:51:00.947028 < "QUIT" 17:51:00.947091 > "221 bye bye baby[CR][LF]" 17:51:00.948517 MAIN sockfilt said DISC 17:51:00.948556 ====> Client disconnected 17:51:00.948650 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:00.736185 ====> Client connect 17:51:00.736527 Received DATA (on stdin) 17:51:00.736542 > 146 bytes data, server => client 17:51:00.736554 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:00.736564 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:00.736573 '220 \___|\___/|_| \_\_____|\r\n' 17:51:00.736683 < 16 bytes data, client => server 17:51:00.736696 'USER anonymous\r\n' 17:51:00.736878 Received DATA (on stdin) 17:51:00.736890 > 33 bytes data, server => client 17:51:00.736900 '331 We are happy you popped in!\r\n' 17:51:00.736951 < 22 bytes data, client => server 17:51:00.736963 'PASS ftp@example.com\r\n' 17:51:00.737085 Received DATA (on stdin) 17:51:00.737096 > 30 bytes data, server => client 17:51:00.737106 '230 Welcome you silly person\r\n' 17:51:00.737165 < 5 bytes data, client => server 17:51:00.737176 'PWD\r\n' 17:51:00.737286 Received DATA (on stdin) 17:51:00.737297 > 30 bytes data, server => client 17:51:00.737307 '257 "/" is current directory\r\n' 17:51:00.737367 < 6 bytes data, client => server 17:51:00.737379 'EPSV\r\n' 17:51:00.746779 Received DATA (on stdin) 17:51:00.746799 > 39 bytes data, server => client 17:51:00.746810 '229 Entering Passive Mode (|||40973|)\r\n' 17:51:00.746998 < 8 bytes data, client => server 17:51:00.747012 'TYPE I\r\n' 17:51:00.747232 Received DATA (on stdin) 17:51:00.747244 > 33 bytes data, server => client 17:51:00.747254 '200 I modify TYPE as you wanted\r\n' 17:51:00.747303 < 21 bytes data, client => server 17:51:00.747314 'SIZE verifiedserver\r\n' 17:51:00.747423 Received DATA (on stdin) 17:51:00.747434 > 8 bytes data, server => client 17:51:00.747444 '213 17\r\n' 17:51:00.747490 < 21 bytes 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/8/valgrind1364 ../src/curl -q --trace-ascii log/8/trace1364 --trace-time http://127.0.0.1:42045/1364 -o log/8/outfile1364 -D log/8/heads1364 > log/8/stdout1364 2> log/8/stderr1364 CMD (33792): ../libtool --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/valgrind1366 ../src/curl -q --trace-ascii log/13/trace1366 --trace-time http://127.0.0.1:43845/1366 -o log/13/outfile1366 -D log/13/heads1366 > log/13/stdout1366 2> log/13/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/6/valgrind1358 ../src/curl -q --trace-ascii log/6/trace1358 --trace-time ftp://127.0.0.1:36757/path/file1358 -O -D - --output-dir log/6 > log/6/stdout1358 2> log/6/stderr1358 ta, client => server 17:51:00.747500 'RETR verifiedserver\r\n' 17:51:00.747712 Received DATA (on stdin) 17:51:00.747723 > 29 bytes data, server => client 17:51:00.747733 '150 Binary junk (17 bytes).\r\n' 17:51:00.748300 Received DATA (on stdin) 17:51:00.748313 > 28 bytes data, server => client 17:51:00.748324 '226 File transfer complete\r\n' 17:51:00.792987 < 6 bytes data, client => server 17:51:00.793026 'QUIT\r\n' 17:51:00.793283 Received DATA (on stdin) 17:51:00.793297 > 18 bytes data, server => client 17:51:00.793307 '221 bye bye baby\r\n' 17:51:00.794636 ====> Client disconnect 17:51:00.794839 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.740736 Running IPv4 version 17:51:00.740825 Listening on port 40973 17:51:00.740871 Wrote pid 153248 to log/16/server/ftp_sockdata.pid 17:51:00.746399 Received PING (on stdin) 17:51:00.746542 Received PORT (on stdin) 17:51:00.747031 ====> Client connect 17:51:00.747786 Received DATA (on stdin) 17:51:00.747799 > 17 bytes data, server => client 17:51:00.747809 'WE ROOLZ: 81124\r\n' 17:51:00.747836 Received DISC (on stdin) 17:51:00.747849 ====> Client forcibly disconnected 17:51:00.747984 Received QUIT (on stdin) 17:51:00.747997 quits 17:51:00.748067 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1362 === End of file server.cmd === Start of file valgrind1362 ==153400== ==153400== Process terminating with default action of signal 4 (SIGILL) ==153400== Illegal opcode at address 0x4014520 ==153400== at 0x4014520: getparameter (tool_getparam.c:2862) ==153400== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153400== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153400== by 0x4003728: main (tool_main.c:186) === End of file valgrind1362 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/8/valgrind1364 ../src/curl -q --trace-ascii log/8/trace1364 --trace-time http://127.0.0.1:42045/1364 -o log/8/outfile1364 -D log/8/heads1364 > log/8/stdout1364 2> log/8/stderr1364 1364: 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 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/8/valgrind1364 ../src/curl -q --trace-ascii log/8/trace1364 --trace-time http://127.0.0.1:42045/1364 -o log/8/outfile1364 -D log/8/heads1364 > log/8/stdout1364 2> log/8/stderr1364 === End of file commands.log === Start of file http_server.log 17:51:00.875192 ====> Client connect 17:51:00.875229 accept_connection 3 returned 4 17:51:00.875246 accept_connection 3 returned 0 17:51:00.875261 Read 93 bytes 17:51:00.875270 Process 93 bytes request 17:51:00.875284 Got request: GET /verifiedserver HTTP/1.1 17:51:00.875293 Are-we-friendly question received 17:51:00.875321 Wrote request (93 bytes) input to log/8/server.input 17:51:00.875339 Identifying ourselves as friends 17:51:00.875397 Response sent (56 bytes) and written to log/8/server.response 17:51:00.875407 special request received, no persistency 17:51:00.875415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 60084 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind1364 ==153489== ==153489== Process terminating with default action of signal 4 (SIGILL) ==153489== Illegal opcode at address 0x4014520 ==153489== at 0x4014520: getparameter (tool_getparam.c:2862) ==153489== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153489== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153489== by 0x4003728: main (tool_main.c:186) === End of file valgrind1364 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/13/valgrind1366 ../src/curl -q --trace-ascii log/13/trace1366 --trace-time http://127.0.0.1:43845/1366 -o log/13/outfile1366 -D log/13/heads1366 > log/13/stdout1366 2> log/13/stderr1366 1366: 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 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/13/valgrind1366 ../src/curl -q --trace-ascii log/13/trace1366 --trace-time http://127.0.0.1:43845/1366 -o log/13/outfile1366 -D log/13/heads1366 > log/13/stdout1366 2> log/13/stderr1366 === End of file commands.log === Start of file http_server.log 17:51:01.981978 ====> Client connect 17:51:01.982010 accept_connection 3 returned 4 17:51:01.982025 accept_connection 3 returned 0 17:51:01.982039 Read 93 bytes 17:51:01.982048 Process 93 bytes request 17:51:01.982061 Got request: GET /verifiedserver HTTP/1.1 17:51:01.982069 Are-we-friendly question received 17:51:01.982092 Wrote request (93 bytes) input to log/13/server.input 17:51:01.982108 Identifying ourselves as friends 17:51:01.982163 Response sent (56 bytes) and written to log/13/server.response 17:51:01.982171 special request received, no persistency 17:51:01.982179 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 38492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1366 ==153590== ==153590== Process terminating with default action of signal 4 (SIGILL) ==153590== Illegal opcode at address 0x4014520 ==153590== at 0x4014520: getparameter (tool_getparam.c:2862) ==153590== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153590== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153590== by 0x4003728: main (tool_main.c:186) === End of file valgrind1366 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/6/valgrind1358 ../src/curl -q --trace-ascii log/6/trace1358 --trace-time ftp://127.0.0.1:36757/path/file1358 -O -D - --output-dir log/6 > log/6/stdout1358 2> log/6/stderr1358 1358: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total 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/22/valgrind1367 ../src/curl -q --trace-ascii log/22/trace1367 --trace-time http://127.0.0.1:42933/1367 -o log/22/outfile1367 -D - > log/22/stdout1367 2> log/22/stderr1367 rl failure? Returned: 132 == Contents of files in the log/6/ 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/6/valgrind1358 ../src/curl -q --trace-ascii log/6/trace1358 --trace-time ftp://127.0.0.1:36757/path/file1358 -O -D - --output-dir log/6 > log/6/stdout1358 2> log/6/stderr1358 === End of file commands.log === Start of file ftp_server.log 17:51:00.657310 ====> Client connect 17:51:00.657483 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:00.657826 < "USER anonymous" 17:51:00.657865 > "331 We are happy you popped in![CR][LF]" 17:51:00.658044 < "PASS ftp@example.com" 17:51:00.658073 > "230 Welcome you silly person[CR][LF]" 17:51:00.658236 < "PWD" 17:51:00.658268 > "257 "/" is current directory[CR][LF]" 17:51:00.658435 < "EPSV" 17:51:00.658464 ====> Passive DATA channel requested by client 17:51:00.658479 DATA sockfilt for passive data channel starting... 17:51:00.673418 DATA sockfilt for passive data channel started (pid 153009) 17:51:00.673627 DATA sockfilt for passive data channel listens on port 42557 17:51:00.673692 > "229 Entering Passive Mode (|||42557|)[CR][LF]" 17:51:00.673720 Client has been notified that DATA conn will be accepted on port 42557 17:51:00.674075 Client connects to port 42557 17:51:00.674110 ====> Client established passive DATA connection on port 42557 17:51:00.674212 < "TYPE I" 17:51:00.674252 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:00.674433 < "SIZE verifiedserver" 17:51:00.674478 > "213 17[CR][LF]" 17:51:00.674653 < "RETR verifiedserver" 17:51:00.674695 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:00.674808 =====> Closing passive DATA connection... 17:51:00.674830 Server disconnects passive DATA connection 17:51:00.675075 Server disconnected passive DATA connection 17:51:00.675107 DATA sockfilt for passive data channel quits (pid 153009) 17:51:00.675362 DATA sockfilt for passive data channel quit (pid 153009) 17:51:00.675392 =====> Closed passive DATA connection 17:51:00.675421 > "226 File transfer complete[CR][LF]" 17:51:00.726058 < "QUIT" 17:51:00.726117 > "221 bye bye baby[CR][LF]" 17:51:00.727893 MAIN sockfilt said DISC 17:51:00.727940 ====> Client disconnected 17:51:00.728015 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:00.503343 ====> Client connect 17:51:00.503676 Received DATA (on stdin) 17:51:00.503691 > 146 bytes data, server => client 17:51:00.503704 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:00.503719 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:00.503729 '220 \___|\___/|_| \_\_____|\r\n' 17:51:00.503857 < 16 bytes data, client => server 17:51:00.503870 'USER anonymous\r\n' 17:51:00.504049 Received DATA (on stdin) 17:51:00.504061 > 33 bytes data, server => client 17:51:00.504072 '331 We are happy you popped in!\r\n' 17:51:00.504126 < 22 bytes data, client => server 17:51:00.504138 'PASS ftp@example.com\r\n' 17:51:00.504254 Received DATA (on stdin) 17:51:00.504266 > 30 bytes data, server => client 17:51:00.504277 '230 Welcome you silly person\r\n' 17:51:00.504329 < 5 bytes data, client => server 17:51:00.504340 'PWD\r\n' 17:51:00.504445 Received DATA (on stdin) 17:51:00.504456 > 30 bytes data, server => client 17:51:00.504466 '257 "/" is current directory\r\n' 17:51:00.504527 < 6 bytes data, client => server 17:51:00.504540 'EPSV\r\n' 17:51:00.519915 Received DATA (on stdin) 17:51:00.519935 > 39 bytes data, server => client 17:51:00.519947 '229 Entering Passive Mode (|||42557|)\r\n' 17:51:00.520164 < 8 bytes data, client => server 17:51:00.520182 'TYPE I\r\n' 17:51:00.520436 Received DATA (on stdin) 17:51:00.520449 > 33 bytes data, server => client 17:51:00.520460 '200 I modify TYPE as you wanted\r\n' 17:51:00.520515 < 21 bytes data, client => server 17:51:00.520529 'SIZE verifiedserver\r\n' 17:51:00.520658 Received DATA (on stdin) 17:51:00.520671 > 8 bytes data, server => client 17:51:00.520681 '213 17\r\n' 17:51:00.520737 < 21 bytes data, client => server 17:51:00.520752 'RETR verifiedserver\r\n' 17:51:00.521013 Received DATA (on stdin) 17:51:00.521026 > 29 bytes data, server => client 17:51:00.521036 '150 Binary junk (17 bytes).\r\n' 17:51:00.521603 Received DATA (on stdin) 17:51:00.521615 > 28 bytes data, server => client 17:51:00.521626 '226 File transfer complete\r\n' 17:51:00.572032 < 6 bytes data, client => server 17:51:00.572065 'QUIT\r\n' 17:51:00.572302 Received DATA (on stdin) 17:51:00.572316 > 18 bytes data, server => client 17:51:00.572326 '221 bye bye baby\r\n' 17:51:00.574006 ====> Client disconnect 17:51:00.574194 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:00.510419 Running IPv4 version 17:51:00.510513 Listening on port 42557 17:51:00.510556 Wrote pid 153009 to log/6/server/ftp_sockdata.pid 17:51:00.516194 Received PING (on stdin) 17:51:00.519672 Received PORT (on stdin) 17:51:00.520206 ====> Client connect 17:51:00.521064 Received DATA (on stdin) 17:51:00.521079 > 17 bytes data, server => client 17:51:00.521089 'WE ROOLZ: 81072\r\n' 17:51:00.521115 Received DISC (on stdin) 17:51:00.521127 ====> Client forcibly disconnected 17:51:00.521298 Received QUIT (on stdin) 17:51:00.521311 quits 17:51:00.521380 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1358 === End of file server.cmd === Start of file valgrind1358 ==153076== ==153076== Process terminating with default action of signal 4 (SIGILL) ==153076== Illegal opcode at address 0x4014520 ==153076== at 0x4014520: getparameter (tool_getparam.c:2862) ==153076== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153076== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153076== by 0x4003728: main (tool_main.c:186) === End of file valgrind1358 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/22/valgrind1367 ../src/curl -q --trace-ascii log/22/trace1367 --trace-time http://127.0.0.1:42933/1367 -o log/22/outfile1367 -D - > log/22/stdout1367 2> log/22/stderr1367 1367: 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 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/22/valgrind1367 ../src/curl -q --trace-ascii log/22/trace1367 --trace-time http://127.0.0.1:42933/1367 -o log/22/outfile1367 -D - > log/22/stdout1367 2> log/22/stderr1367 === End of file commands.log === Start of file http_server.log 17:51:00.976259 ====> Client connect 17:51:00.976313 accept_connection 3 returned 4 17:51:00.976333 accept_connection 3 returned 0 17:51:00.976350 Read 93 bytes 17:51:00.976360 Process 93 bytes request 17:51:00.976376 Got request: GET /verifiedserver HTTP/1.1 17:51:00.976386 Are-we-friendly question received 17:51:00.976422 Wrote request (93 bytes) input to log/22/server.input 17:51:00.976444 Identifying ourselves as friends 17:51:00.976540 Response sent (56 bytes) and written to log/22/server.response 17:51:00.976550 special request received, no persistency 17:51:00.976559 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 50580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.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/12/valgrind1369 ../src/curl -q --trace-ascii log/12/trace1369 --trace-time http://127.0.0.1:36641/1369 -J -o log/12/outfile1369 -D - > log/12/stdout1369 2> log/12/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/17/valgrind1365 ../src/curl -q --trace-ascii log/17/trace1365 --trace-time http://127.0.0.1:44593/1365 -o log/17/outfile1365 -D - > log/17/stdout1365 2> log/17/stderr1365 CMD (33792): ../libtool --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/valgrind1368 ../src/curl -q --trace-ascii log/3/trace1368 --trace-time http://127.0.0.1:45927/1368 -J -o log/3/outfile1368 -D log/3/heads1368 > log/3/stdout1368 2> log/3/stderr1368 * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind1367 ==153585== ==153585== Process terminating with default action of signal 4 (SIGILL) ==153585== Illegal opcode at address 0x4014520 ==153585== at 0x4014520: getparameter (tool_getparam.c:2862) ==153585== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153585== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153585== by 0x4003728: main (tool_main.c:186) === End of file valgrind1367 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/12/valgrind1369 ../src/curl -q --trace-ascii log/12/trace1369 --trace-time http://127.0.0.1:36641/1369 -J -o log/12/outfile1369 -D - > log/12/stdout1369 2> log/12/stderr1369 1369: 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 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/12/valgrind1369 ../src/curl -q --trace-ascii log/12/trace1369 --trace-time http://127.0.0.1:36641/1369 -J -o log/12/outfile1369 -D - > log/12/stdout1369 2> log/12/stderr1369 === End of file commands.log === Start of file http_server.log 17:51:01.405328 ====> Client connect 17:51:01.405363 accept_connection 3 returned 4 17:51:01.405380 accept_connection 3 returned 0 17:51:01.405395 Read 93 bytes 17:51:01.405404 Process 93 bytes request 17:51:01.405417 Got request: GET /verifiedserver HTTP/1.1 17:51:01.405426 Are-we-friendly question received 17:51:01.405452 Wrote request (93 bytes) input to log/12/server.input 17:51:01.405467 Identifying ourselves as friends 17:51:01.405521 Response sent (56 bytes) and written to log/12/server.response 17:51:01.405530 special request received, no persistency 17:51:01.405538 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 36698 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1369 ==153792== ==153792== Process terminating with default action of signal 4 (SIGILL) ==153792== Illegal opcode at address 0x4014520 ==153792== at 0x4014520: getparameter (tool_getparam.c:2862) ==153792== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153792== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153792== by 0x4003728: main (tool_main.c:186) === End of file valgrind1369 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/17/valgrind1365 ../src/curl -q --trace-ascii log/17/trace1365 --trace-time http://127.0.0.1:44593/1365 -o log/17/outfile1365 -D - > log/17/stdout1365 2> log/17/stderr1365 1365: 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 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/17/valgrind1365 ../src/curl -q --trace-ascii log/17/trace1365 --trace-time http://127.0.0.1:44593/1365 -o log/17/outfile1365 -D - > log/17/stdout1365 2> log/17/stderr1365 === End of file commands.log === Start of file http_server.log 17:51:00.849889 ====> Client connect 17:51:00.849930 accept_connection 3 returned 4 17:51:00.849960 accept_connection 3 returned 0 17:51:00.849977 Read 93 bytes 17:51:00.849996 Process 93 bytes request 17:51:00.850012 Got request: GET /verifiedserver HTTP/1.1 17:51:00.850022 Are-we-friendly question received 17:51:00.850089 Wrote request (93 bytes) input to log/17/server.input 17:51:00.850126 Identifying ourselves as friends 17:51:00.850205 Response sent (56 bytes) and written to log/17/server.response 17:51:00.850216 special request received, no persistency 17:51:00.850225 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 49614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1365 ==153419== ==153419== Process terminating with default action of signal 4 (SIGILL) ==153419== Illegal opcode at address 0x4014520 ==153419== at 0x4014520: getparameter (tool_getparam.c:2862) ==153419== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153419== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153419== by 0x4003728: main (tool_main.c:186) === End of file valgrind1365 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/3/valgrind1368 ../src/curl -q --trace-ascii log/3/trace1368 --trace-time http://127.0.0.1:45927/1368 -J -o log/3/outfile1368 -D log/3/heads1368 > log/3/stdout1368 2> log/3/stderr1368 1368: 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 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/3/valgrind1368 ../src/curl -q --trace-ascii log/3/trace1368 --trace-time http://127.0.0.1:45927/1368 -J -o log/3/outfile1368 -D log/3/heads1368 > log/3/stdout1368 2> log/3/stderr1368 === End of file commands.log === Start of file http_server.log 17:51:01.386238 ====> Client connect 17:51:01.386276 accept_connection 3 returned 4 17:51:01.386294 accept_connection 3 returned 0 17:51:01.386309 Read 93 bytes 17:51:01.386318 Process 93 bytes request 17:51:01.386330 Got request: GET /verifiedserver HTTP/1.1 17:51:01.386338 Are-we-friendly question received 17:51:01.386361 Wrote request (93 bytes) input to log/3/server.input 17:51:01.386377 Identifying ourselves as friends 17:51:01.38CMD (33792): ../libtool --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/valgrind1370 ../src/curl -q --trace-ascii log/2/trace1370 --trace-time http://127.0.0.1:38779/1370 -J -o log/2/outfile1370 -D log/2/heads1370 > log/2/stdout1370 2> log/2/stderr1370 CMD (33792): ../libtool --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/valgrind1371 ../src/curl -q --trace-ascii log/18/trace1371 --trace-time http://127.0.0.1:34067/1371 -J -o log/18/outfile1371 -D - > log/18/stdout1371 2> log/18/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/1/valgrind1376 ../src/curl -q --trace-ascii log/1/trace1376 --trace-time http://127.0.0.1:39589/1376 -i -o log/1/outfile1376 > log/1/stdout1376 2> log/1/stderr1376 6452 Response sent (56 bytes) and written to log/3/server.response 17:51:01.386461 special request received, no persistency 17:51:01.386469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 37852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 17 WE ROOLZ: 75287 === End of file server.response === Start of file valgrind1368 ==153789== ==153789== Process terminating with default action of signal 4 (SIGILL) ==153789== Illegal opcode at address 0x4014520 ==153789== at 0x4014520: getparameter (tool_getparam.c:2862) ==153789== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153789== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153789== by 0x4003728: main (tool_main.c:186) === End of file valgrind1368 test 1370...[HTTP GET -o fname -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/2/valgrind1370 ../src/curl -q --trace-ascii log/2/trace1370 --trace-time http://127.0.0.1:38779/1370 -J -o log/2/outfile1370 -D log/2/heads1370 > log/2/stdout1370 2> log/2/stderr1370 1370: 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 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/2/valgrind1370 ../src/curl -q --trace-ascii log/2/trace1370 --trace-time http://127.0.0.1:38779/1370 -J -o log/2/outfile1370 -D log/2/heads1370 > log/2/stdout1370 2> log/2/stderr1370 === End of file commands.log === Start of file http_server.log 17:51:01.807670 ====> Client connect 17:51:01.807706 accept_connection 3 returned 4 17:51:01.807724 accept_connection 3 returned 0 17:51:01.807738 Read 93 bytes 17:51:01.807748 Process 93 bytes request 17:51:01.807762 Got request: GET /verifiedserver HTTP/1.1 17:51:01.807771 Are-we-friendly question received 17:51:01.807797 Wrote request (93 bytes) input to log/2/server.input 17:51:01.807815 Identifying ourselves as friends 17:51:01.807873 Response sent (56 bytes) and written to log/2/server.response 17:51:01.807884 special request received, no persistency 17:51:01.807893 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 40346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1370 ==153921== ==153921== Process terminating with default action of signal 4 (SIGILL) ==153921== Illegal opcode at address 0x4014520 ==153921== at 0x4014520: getparameter (tool_getparam.c:2862) ==153921== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==153921== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==153921== by 0x4003728: main (tool_main.c:186) === End of file valgrind1370 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/18/valgrind1371 ../src/curl -q --trace-ascii log/18/trace1371 --trace-time http://127.0.0.1:34067/1371 -J -o log/18/outfile1371 -D - > log/18/stdout1371 2> log/18/stderr1371 1371: 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 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/18/valgrind1371 ../src/curl -q --trace-ascii log/18/trace1371 --trace-time http://127.0.0.1:34067/1371 -J -o log/18/outfile1371 -D - > log/18/stdout1371 2> log/18/stderr1371 === End of file commands.log === Start of file http_server.log 17:51:02.010155 ====> Client connect 17:51:02.010196 accept_connection 3 returned 4 17:51:02.010214 accept_connection 3 returned 0 17:51:02.010229 Read 93 bytes 17:51:02.010240 Process 93 bytes request 17:51:02.010255 Got request: GET /verifiedserver HTTP/1.1 17:51:02.010265 Are-we-friendly question received 17:51:02.010293 Wrote request (93 bytes) input to log/18/server.input 17:51:02.010311 Identifying ourselves as friends 17:51:02.010374 Response sent (56 bytes) and written to log/18/server.response 17:51:02.010385 special request received, no persistency 17:51:02.010394 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 38228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1371 ==154001== ==154001== Process terminating with default action of signal 4 (SIGILL) ==154001== Illegal opcode at address 0x4014520 ==154001== at 0x4014520: getparameter (tool_getparam.c:2862) ==154001== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154001== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154001== by 0x4003728: main (tool_main.c:186) === End of file valgrind1371 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:39589/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:39589/1376 -i -o log/1/outfile1376 > log/1/stdout1376 2> log/1/stderr1376 === End of file commands.log === Start of file http_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/21/valgrind1375 ../src/curl -q --trace-ascii log/21/trace1375 --trace-time http://127.0.0.1:41669/1375 -i -o log/21/outfile1375 -D - > log/21/stdout1375 2> log/21/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/23/valgrind1381 ../src/curl -q --trace-ascii log/23/trace1381 --trace-time ftp://127.0.0.1:46399/path/file1381 -o log/23/download1381 -J -D log/23/heads1381 > log/23/stdout1381 2> log/23/stderr1381 log 17:51:02.492909 ====> Client connect 17:51:02.492948 accept_connection 3 returned 4 17:51:02.492965 accept_connection 3 returned 0 17:51:02.492980 Read 93 bytes 17:51:02.492990 Process 93 bytes request 17:51:02.493003 Got request: GET /verifiedserver HTTP/1.1 17:51:02.493012 Are-we-friendly question received 17:51:02.493036 Wrote request (93 bytes) input to log/1/server.input 17:51:02.493054 Identifying ourselves as friends 17:51:02.493124 Response sent (56 bytes) and written to log/1/server.response 17:51:02.493137 special request received, no persistency 17:51:02.493146 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 38376 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind1376 ==154296== ==154296== Process terminating with default action of signal 4 (SIGILL) ==154296== Illegal opcode at address 0x4014520 ==154296== at 0x4014520: getparameter (tool_getparam.c:2862) ==154296== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154296== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154296== by 0x4003728: main (tool_main.c:186) === End of file valgrind1376 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/21/valgrind1375 ../src/curl -q --trace-ascii log/21/trace1375 --trace-time http://127.0.0.1:41669/1375 -i -o log/21/outfile1375 -D - > log/21/stdout1375 2> log/21/stderr1375 1375: 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 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/21/valgrind1375 ../src/curl -q --trace-ascii log/21/trace1375 --trace-time http://127.0.0.1:41669/1375 -i -o log/21/outfile1375 -D - > log/21/stdout1375 2> log/21/stderr1375 === End of file commands.log === Start of file http_server.log 17:51:02.369575 ====> Client connect 17:51:02.369622 accept_connection 3 returned 4 17:51:02.369640 accept_connection 3 returned 0 17:51:02.369657 Read 93 bytes 17:51:02.369666 Process 93 bytes request 17:51:02.369680 Got request: GET /verifiedserver HTTP/1.1 17:51:02.369689 Are-we-friendly question received 17:51:02.369717 Wrote request (93 bytes) input to log/21/server.input 17:51:02.369735 Identifying ourselves as friends 17:51:02.369814 Response sent (56 bytes) and written to log/21/server.response 17:51:02.369825 special request received, no persistency 17:51:02.369834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 55854 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind1375 ==154255== ==154255== Process terminating with default action of signal 4 (SIGILL) ==154255== Illegal opcode at address 0x4014520 ==154255== at 0x4014520: getparameter (tool_getparam.c:2862) ==154255== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154255== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154255== by 0x4003728: main (tool_main.c:186) === End of file valgrind1375 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/23/valgrind1381 ../src/curl -q --trace-ascii log/23/trace1381 --trace-time ftp://127.0.0.1:46399/path/file1381 -o log/23/download1381 -J -D log/23/heads1381 > log/23/stdout1381 2> log/23/stderr1381 1381: 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 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/23/valgrind1381 ../src/curl -q --trace-ascii log/23/trace1381 --trace-time ftp://127.0.0.1:46399/path/file1381 -o log/23/download1381 -J -D log/23/heads1381 > log/23/stdout1381 2> log/23/stderr1381 === End of file commands.log === Start of file ftp_server.log 17:51:03.082029 ====> Client connect 17:51:03.082190 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.082615 < "USER anonymous" 17:51:03.082657 > "331 We are happy you popped in![CR][LF]" 17:51:03.082840 < "PASS ftp@example.com" 17:51:03.082866 > "230 Welcome you silly person[CR][LF]" 17:51:03.083010 < "PWD" 17:51:03.083039 > "257 "/" is current directory[CR][LF]" 17:51:03.083184 < "EPSV" 17:51:03.083209 ====> Passive DATA channel requested by client 17:51:03.083223 DATA sockfilt for passive data channel starting... 17:51:03.100080 DATA sockfilt for passive data channel started (pid 154576) 17:51:03.100238 DATA sockfilt for passive data channel listens on port 38327 17:51:03.100298 > "229 Entering Passive Mode (|||38327|)[CR][LF]" 17:51:03.100319 Client has been notified that DATA conn will be accepted on port 38327 17:51:03.100627 Client connects to port 38327 17:51:03.100663 ====> Client established passive DATA connection on port 38327 17:51:03.100762 < "TYPE I" 17:51:03.100800 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.100980 < "SIZE verifiedserver" 17:51:03.101022 > "213 17[CR][LF]" 17:51:03.101183 < "RETR verifiedserver" 17:51:03.101218 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.101314 =====> Closing passive DATA connection... 17:51:03.101333 Server disconnects passive DATA connection 17:51:03.101490 Server disconnected passive DATA connection 17:51:03.101512 DATA sockfilt for passive data channel quits (pid 154576) 17:51:03.103604 DATA sockfilt for passive data channel quit (pid 154576) 17:51:03.103650 =====> Closed passive DATA connection 17:51:03.103688 > "226 File transfer complete[CR][LF]" 17:51:03.153547 < "QUIT" 17:51:03.153612 > "221 bye bye baby[CR][LF]" 17:51:03.158520 MAIN sockfilt said DISC 17:51:03.158580 ====> Client disconnected 17:51:03.158656 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:03.928092 ====> Client connect 17:51:03.928385 Received DATA (on stdin) 17:51:03.928402 > 146 bytes data, server => client 17:51:03.928413 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:03.928424 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:03CMD (33792): ../libtool --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/valgrind1372 ../src/curl -q --trace-ascii log/10/trace1372 --trace-time http://127.0.0.1:32889/1372 -i -o log/10/outfile1372 -D log/10/heads1372 > log/10/stdout1372 2> log/10/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/19/valgrind1378 ../src/curl -q --trace-ascii log/19/trace1378 --trace-time ftp://127.0.0.1:40075/path/file1378 -o log/19/download1378 > log/19/stdout1378 2> log/19/stderr1378 .928433 '220 \___|\___/|_| \_\_____|\r\n' 17:51:03.928520 < 16 bytes data, client => server 17:51:03.928533 'USER anonymous\r\n' 17:51:03.928838 Received DATA (on stdin) 17:51:03.928851 > 33 bytes data, server => client 17:51:03.928862 '331 We are happy you popped in!\r\n' 17:51:03.928920 < 22 bytes data, client => server 17:51:03.928930 'PASS ftp@example.com\r\n' 17:51:03.929043 Received DATA (on stdin) 17:51:03.929053 > 30 bytes data, server => client 17:51:03.929063 '230 Welcome you silly person\r\n' 17:51:03.929109 < 5 bytes data, client => server 17:51:03.929119 'PWD\r\n' 17:51:03.929215 Received DATA (on stdin) 17:51:03.929225 > 30 bytes data, server => client 17:51:03.929235 '257 "/" is current directory\r\n' 17:51:03.929286 < 6 bytes data, client => server 17:51:03.929296 'EPSV\r\n' 17:51:03.946507 Received DATA (on stdin) 17:51:03.946525 > 39 bytes data, server => client 17:51:03.946536 '229 Entering Passive Mode (|||38327|)\r\n' 17:51:03.946723 < 8 bytes data, client => server 17:51:03.946737 'TYPE I\r\n' 17:51:03.946981 Received DATA (on stdin) 17:51:03.946993 > 33 bytes data, server => client 17:51:03.947003 '200 I modify TYPE as you wanted\r\n' 17:51:03.947065 < 21 bytes data, client => server 17:51:03.947077 'SIZE verifiedserver\r\n' 17:51:03.947201 Received DATA (on stdin) 17:51:03.947213 > 8 bytes data, server => client 17:51:03.947223 '213 17\r\n' 17:51:03.947274 < 21 bytes data, client => server 17:51:03.947285 'RETR verifiedserver\r\n' 17:51:03.947513 Received DATA (on stdin) 17:51:03.947524 > 29 bytes data, server => client 17:51:03.947535 '150 Binary junk (17 bytes).\r\n' 17:51:03.949880 Received DATA (on stdin) 17:51:03.949896 > 28 bytes data, server => client 17:51:03.949907 '226 File transfer complete\r\n' 17:51:03.999522 < 6 bytes data, client => server 17:51:03.999554 'QUIT\r\n' 17:51:03.999800 Received DATA (on stdin) 17:51:03.999814 > 18 bytes data, server => client 17:51:03.999825 '221 bye bye baby\r\n' 17:51:04.004123 ====> Client disconnect 17:51:04.004844 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.936022 Running IPv4 version 17:51:03.936202 Listening on port 38327 17:51:03.936262 Wrote pid 154576 to log/23/server/ftp_sockdata.pid 17:51:03.946171 Received PING (on stdin) 17:51:03.946306 Received PORT (on stdin) 17:51:03.946757 ====> Client connect 17:51:03.947560 Received DATA (on stdin) 17:51:03.947573 > 17 bytes data, server => client 17:51:03.947584 'WE ROOLZ: 81154\r\n' 17:51:03.947607 Received DISC (on stdin) 17:51:03.947618 ====> Client forcibly disconnected 17:51:03.947699 Received QUIT (on stdin) 17:51:03.947710 quits 17:51:03.949545 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1381 === End of file server.cmd === Start of file valgrind1381 ==154730== ==154730== Process terminating with default action of signal 4 (SIGILL) ==154730== Illegal opcode at address 0x4014520 ==154730== at 0x4014520: getparameter (tool_getparam.c:2862) ==154730== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154730== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154730== by 0x4003728: main (tool_main.c:186) === End of file valgrind1381 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/10/valgrind1372 ../src/curl -q --trace-ascii log/10/trace1372 --trace-time http://127.0.0.1:32889/1372 -i -o log/10/outfile1372 -D log/10/heads1372 > log/10/stdout1372 2> log/10/stderr1372 1372: 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 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/10/valgrind1372 ../src/curl -q --trace-ascii log/10/trace1372 --trace-time http://127.0.0.1:32889/1372 -i -o log/10/outfile1372 -D log/10/heads1372 > log/10/stdout1372 2> log/10/stderr1372 === End of file commands.log === Start of file http_server.log 17:51:02.166389 ====> Client connect 17:51:02.166430 accept_connection 3 returned 4 17:51:02.166450 accept_connection 3 returned 0 17:51:02.166467 Read 93 bytes 17:51:02.166477 Process 93 bytes request 17:51:02.166492 Got request: GET /verifiedserver HTTP/1.1 17:51:02.166502 Are-we-friendly question received 17:51:02.166537 Wrote request (93 bytes) input to log/10/server.input 17:51:02.166558 Identifying ourselves as friends 17:51:02.166619 Response sent (56 bytes) and written to log/10/server.response 17:51:02.166630 special request received, no persistency 17:51:02.166638 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 37716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind1372 ==154076== ==154076== Process terminating with default action of signal 4 (SIGILL) ==154076== Illegal opcode at address 0x4014520 ==154076== at 0x4014520: getparameter (tool_getparam.c:2862) ==154076== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154076== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154076== by 0x4003728: main (tool_main.c:186) === End of file valgrind1372 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/19/valgrind1378 ../src/curl -q --trace-ascii log/19/trace1378 --trace-time ftp://127.0.0.1:40075/path/file1378 -o log/19/download1378 > log/19/stdout1378 2> log/19/stderr1378 1378: 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 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/19/valgrind1378 ../src/curl -q --trace-ascii log/19/trace1378 --trace-time ftp://127.0.0.1:40075/path/file1378 -o log/19/download1378 > log/19/stdout1378 2> log/19/stderr1378 === End of file commands.log === Start of file ftp_server.log 17:51:02.821621 ====> Client connect 17:51:02.821802 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:02.822956 < "USER anonymous" 17:51:02.823017 > "331 We are happy you popped in![CR][LF]" 17:51:02.823251 < "PASS ftp@example.com" 17:51:02.823292 > "230 Welcome you silly person[CR][LF]" 17:51:02.823499 < "PWD" 17:51:02.823540 > "257 "/" is current directory[CR][LF]" 17:51:02.826839 < "EPSV" 17:51:02.826878 ====> Passive DATA channel requested by client 17:51:02.826894 DATA sockfilt for passive data channel starting... 17:51:02.834508 DATA sockfilt for passive data channel started (pid 154420) 17:51:02.834653 DATA sockfilt for passive data channel listens on port 41545 17:51:02.834713 > "229 Entering Passive Mode (|||41545|)[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/14/valgrind1377 ../src/curl -q --trace-ascii log/14/trace1377 --trace-time http://127.0.0.1:37569/1377 -i -o log/14/outfile1377 > log/14/stdout1377 2> log/14/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/7/valgrind1373 ../src/curl -q --trace-ascii log/7/trace1373 --trace-time http://127.0.0.1:35671/1373 -i -o log/7/outfile1373 -D - > log/7/stdout1373 2> log/7/stderr1373 [LF]" 17:51:02.834734 Client has been notified that DATA conn will be accepted on port 41545 17:51:02.840142 Client connects to port 41545 17:51:02.840233 ====> Client established passive DATA connection on port 41545 17:51:02.840377 < "TYPE I" 17:51:02.840433 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:02.843853 < "SIZE verifiedserver" 17:51:02.843922 > "213 17[CR][LF]" 17:51:02.844114 < "RETR verifiedserver" 17:51:02.844160 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:02.844273 =====> Closing passive DATA connection... 17:51:02.844296 Server disconnects passive DATA connection 17:51:02.844379 Server disconnected passive DATA connection 17:51:02.844409 DATA sockfilt for passive data channel quits (pid 154420) 17:51:02.844663 DATA sockfilt for passive data channel quit (pid 154420) 17:51:02.844692 =====> Closed passive DATA connection 17:51:02.844726 > "226 File transfer complete[CR][LF]" 17:51:02.893487 < "QUIT" 17:51:02.893559 > "221 bye bye baby[CR][LF]" 17:51:02.894920 MAIN sockfilt said DISC 17:51:02.894960 ====> Client disconnected 17:51:02.895055 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:02.667662 ====> Client connect 17:51:02.667998 Received DATA (on stdin) 17:51:02.668014 > 146 bytes data, server => client 17:51:02.668027 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:02.668038 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:02.668047 '220 \___|\___/|_| \_\_____|\r\n' 17:51:02.668931 < 16 bytes data, client => server 17:51:02.668952 'USER anonymous\r\n' 17:51:02.669212 Received DATA (on stdin) 17:51:02.669229 > 33 bytes data, server => client 17:51:02.669240 '331 We are happy you popped in!\r\n' 17:51:02.669302 < 22 bytes data, client => server 17:51:02.669318 'PASS ftp@example.com\r\n' 17:51:02.669477 Received DATA (on stdin) 17:51:02.669502 > 30 bytes data, server => client 17:51:02.669513 '230 Welcome you silly person\r\n' 17:51:02.669572 < 5 bytes data, client => server 17:51:02.669586 'PWD\r\n' 17:51:02.669725 Received DATA (on stdin) 17:51:02.669738 > 30 bytes data, server => client 17:51:02.669749 '257 "/" is current directory\r\n' 17:51:02.672890 < 6 bytes data, client => server 17:51:02.672911 'EPSV\r\n' 17:51:02.680924 Received DATA (on stdin) 17:51:02.680943 > 39 bytes data, server => client 17:51:02.680954 '229 Entering Passive Mode (|||41545|)\r\n' 17:51:02.681994 < 8 bytes data, client => server 17:51:02.682015 'TYPE I\r\n' 17:51:02.686624 Received DATA (on stdin) 17:51:02.686643 > 33 bytes data, server => client 17:51:02.686655 '200 I modify TYPE as you wanted\r\n' 17:51:02.689861 < 21 bytes data, client => server 17:51:02.689888 'SIZE verifiedserver\r\n' 17:51:02.690111 Received DATA (on stdin) 17:51:02.690125 > 8 bytes data, server => client 17:51:02.690135 '213 17\r\n' 17:51:02.690193 < 21 bytes data, client => server 17:51:02.690209 'RETR verifiedserver\r\n' 17:51:02.690483 Received DATA (on stdin) 17:51:02.690497 > 29 bytes data, server => client 17:51:02.690508 '150 Binary junk (17 bytes).\r\n' 17:51:02.691731 Received DATA (on stdin) 17:51:02.691751 > 28 bytes data, server => client 17:51:02.691763 '226 File transfer complete\r\n' 17:51:02.736293 < 6 bytes data, client => server 17:51:02.736326 'QUIT\r\n' 17:51:02.739751 Received DATA (on stdin) 17:51:02.739772 > 18 bytes data, server => client 17:51:02.739783 '221 bye bye baby\r\n' 17:51:02.741033 ====> Client disconnect 17:51:02.741246 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:02.680288 Running IPv4 version 17:51:02.680393 Listening on port 41545 17:51:02.680436 Wrote pid 154420 to log/19/server/ftp_sockdata.pid 17:51:02.680622 Received PING (on stdin) 17:51:02.680729 Received PORT (on stdin) 17:51:02.686205 ====> Client connect 17:51:02.690361 Received DATA (on stdin) 17:51:02.690386 > 17 bytes data, server => client 17:51:02.690398 'WE ROOLZ: 81054\r\n' 17:51:02.690486 Received DISC (on stdin) 17:51:02.690502 ====> Client forcibly disconnected 17:51:02.690598 Received QUIT (on stdin) 17:51:02.690610 quits 17:51:02.690676 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1378 === End of file server.cmd === Start of file valgrind1378 ==154454== ==154454== Process terminating with default action of signal 4 (SIGILL) ==154454== Illegal opcode at address 0x4014520 ==154454== at 0x4014520: getparameter (tool_getparam.c:2862) ==154454== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154454== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154454== by 0x4003728: main (tool_main.c:186) === End of file valgrind1378 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/14/valgrind1377 ../src/curl -q --trace-ascii log/14/trace1377 --trace-time http://127.0.0.1:37569/1377 -i -o log/14/outfile1377 > log/14/stdout1377 2> log/14/stderr1377 1377: 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 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/14/valgrind1377 ../src/curl -q --trace-ascii log/14/trace1377 --trace-time http://127.0.0.1:37569/1377 -i -o log/14/outfile1377 > log/14/stdout1377 2> log/14/stderr1377 === End of file commands.log === Start of file http_server.log 17:51:03.602901 ====> Client connect 17:51:03.602939 accept_connection 3 returned 4 17:51:03.602957 accept_connection 3 returned 0 17:51:03.602972 Read 93 bytes 17:51:03.602983 Process 93 bytes request 17:51:03.602998 Got request: GET /verifiedserver HTTP/1.1 17:51:03.603008 Are-we-friendly question received 17:51:03.603036 Wrote request (93 bytes) input to log/14/server.input 17:51:03.603054 Identifying ourselves as friends 17:51:03.603123 Response sent (56 bytes) and written to log/14/server.response 17:51:03.603135 special request received, no persistency 17:51:03.603145 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43816 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1377 ==154360== ==154360== Process terminating with default action of signal 4 (SIGILL) ==154360== Illegal opcode at address 0x4014520 ==154360== at 0x4014520: getparameter (tool_getparam.c:2862) ==154360== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154360== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154360== by 0x4003728: main (tool_main.c:186) === End of file valgrind1377 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/7/valgrind1373 ../src/curl -q --trace-ascii log/7/trace1373 --trace-time http://127.0.0.1:35671/1373 -i -o log/7/outfile1373 -D - > log/7/stdout1373 2> log/7/stderr1373 1373: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitCMD (33792): ../libtool --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/valgrind1374 ../src/curl -q --trace-ascii log/15/trace1374 --trace-time http://127.0.0.1:41057/1374 -i -o log/15/outfile1374 -D log/15/heads1374 > log/15/stdout1374 2> log/15/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/16/valgrind1386 ../src/curl -q --trace-ascii log/16/trace1386 --trace-time ftp://127.0.0.1:39205/path/file1386 -o log/16/download1386 > log/16/stdout1386 2> log/16/stderr1386 ch? Total curl failure? Returned: 132 == Contents of files in the log/7/ 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/7/valgrind1373 ../src/curl -q --trace-ascii log/7/trace1373 --trace-time http://127.0.0.1:35671/1373 -i -o log/7/outfile1373 -D - > log/7/stdout1373 2> log/7/stderr1373 === End of file commands.log === Start of file http_server.log 17:51:02.142901 ====> Client connect 17:51:02.142939 accept_connection 3 returned 4 17:51:02.142957 accept_connection 3 returned 0 17:51:02.142972 Read 93 bytes 17:51:02.142982 Process 93 bytes request 17:51:02.142996 Got request: GET /verifiedserver HTTP/1.1 17:51:02.143006 Are-we-friendly question received 17:51:02.143032 Wrote request (93 bytes) input to log/7/server.input 17:51:02.143050 Identifying ourselves as friends 17:51:02.143117 Response sent (56 bytes) and written to log/7/server.response 17:51:02.143128 special request received, no persistency 17:51:02.143137 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 33904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1373 ==154058== ==154058== Process terminating with default action of signal 4 (SIGILL) ==154058== Illegal opcode at address 0x4014520 ==154058== at 0x4014520: getparameter (tool_getparam.c:2862) ==154058== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154058== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154058== by 0x4003728: main (tool_main.c:186) === End of file valgrind1373 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/15/valgrind1374 ../src/curl -q --trace-ascii log/15/trace1374 --trace-time http://127.0.0.1:41057/1374 -i -o log/15/outfile1374 -D log/15/heads1374 > log/15/stdout1374 2> log/15/stderr1374 1374: 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 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/15/valgrind1374 ../src/curl -q --trace-ascii log/15/trace1374 --trace-time http://127.0.0.1:41057/1374 -i -o log/15/outfile1374 -D log/15/heads1374 > log/15/stdout1374 2> log/15/stderr1374 === End of file commands.log === Start of file http_server.log 17:51:02.298022 ====> Client connect 17:51:02.298053 accept_connection 3 returned 4 17:51:02.298067 accept_connection 3 returned 0 17:51:02.298080 Read 93 bytes 17:51:02.298089 Process 93 bytes request 17:51:02.298119 Got request: GET /verifiedserver HTTP/1.1 17:51:02.298127 Are-we-friendly question received 17:51:02.298151 Wrote request (93 bytes) input to log/15/server.input 17:51:02.298167 Identifying ourselves as friends 17:51:02.298217 Response sent (56 bytes) and written to log/15/server.response 17:51:02.298225 special request received, no persistency 17:51:02.298233 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 52802 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1374 ==154196== ==154196== Process terminating with default action of signal 4 (SIGILL) ==154196== Illegal opcode at address 0x4014520 ==154196== at 0x4014520: getparameter (tool_getparam.c:2862) ==154196== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154196== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154196== by 0x4003728: main (tool_main.c:186) === End of file valgrind1374 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/16/valgrind1386 ../src/curl -q --trace-ascii log/16/trace1386 --trace-time ftp://127.0.0.1:39205/path/file1386 -o log/16/download1386 > log/16/stdout1386 2> log/16/stderr1386 1386: 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 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/16/valgrind1386 ../src/curl -q --trace-ascii log/16/trace1386 --trace-time ftp://127.0.0.1:39205/path/file1386 -o log/16/download1386 > log/16/stdout1386 2> log/16/stderr1386 === End of file commands.log === Start of file ftp_server.log 17:51:03.214900 ====> Client connect 17:51:03.215040 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.215314 < "USER anonymous" 17:51:03.215357 > "331 We are happy you popped in![CR][LF]" 17:51:03.215522 < "PASS ftp@example.com" 17:51:03.215552 > "230 Welcome you silly person[CR][LF]" 17:51:03.215690 < "PWD" 17:51:03.215721 > "257 "/" is current directory[CR][LF]" 17:51:03.215860 < "EPSV" 17:51:03.215881 ====> Passive DATA channel requested by client 17:51:03.215894 DATA sockfilt for passive data channel starting... 17:51:03.223365 DATA sockfilt for passive data channel started (pid 154697) 17:51:03.226756 DATA sockfilt for passive data channel listens on port 38043 17:51:03.226839 > "229 Entering Passive Mode (|||38043|)[CR][LF]" 17:51:03.226861 Client has been notified that DATA conn will be accepted on port 38043 17:51:03.235653 Client connects to port 38043 17:51:03.235717 ====> Client established passive DATA connection on port 38043 17:51:03.235844 < "TYPE I" 17:51:03.235895 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.236134 < "SIZE verifiedserver" 17:51:03.236184 > "213 17[CR][LF]" 17:51:03.236386 < "RETR verifiedserver" 17:51:03.236433 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.236535 =====> Closing passive DATA connection... 17:51:03.236553 Server disconnects passive DATA connection 17:51:03.242037 Server disconnected passive DATA connection 17:51:03.247712 DATA sockfilt for passive data channel quits (pid 154697) 17:51:03.248051 DATA sockfilt for passive data channel quit (pid 154697) 17:51:03.248085 =====> Closed passive DATA connection 17:51:03.248125 > "226 File transfer complete[CR][LF]" 17:51:03.280330 < "QUIT" 17:51:03.280397 CMD (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/18/valgrind1395 ./unit/units unit1395 - > log/18/stdout1395 2> log/18/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/4/valgrind1382 ../src/curl -q --trace-ascii log/4/trace1382 --trace-time ftp://127.0.0.1:40307/path/file1382 -o log/4/download1382 -J -D - > log/4/stdout1382 2> log/4/stderr1382 > "221 bye bye baby[CR][LF]" 17:51:03.281023 MAIN sockfilt said DISC 17:51:03.281064 ====> Client disconnected 17:51:03.281165 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:03.060983 ====> Client connect 17:51:03.061228 Received DATA (on stdin) 17:51:03.061242 > 146 bytes data, server => client 17:51:03.061254 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:03.061264 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:03.061272 '220 \___|\___/|_| \_\_____|\r\n' 17:51:03.061334 < 16 bytes data, client => server 17:51:03.061344 'USER anonymous\r\n' 17:51:03.061536 Received DATA (on stdin) 17:51:03.061546 > 33 bytes data, server => client 17:51:03.061555 '331 We are happy you popped in!\r\n' 17:51:03.061607 < 22 bytes data, client => server 17:51:03.061616 'PASS ftp@example.com\r\n' 17:51:03.061727 Received DATA (on stdin) 17:51:03.061737 > 30 bytes data, server => client 17:51:03.061746 '230 Welcome you silly person\r\n' 17:51:03.061791 < 5 bytes data, client => server 17:51:03.061800 'PWD\r\n' 17:51:03.061896 Received DATA (on stdin) 17:51:03.061906 > 30 bytes data, server => client 17:51:03.061916 '257 "/" is current directory\r\n' 17:51:03.061966 < 6 bytes data, client => server 17:51:03.061974 'EPSV\r\n' 17:51:03.073052 Received DATA (on stdin) 17:51:03.073072 > 39 bytes data, server => client 17:51:03.073082 '229 Entering Passive Mode (|||38043|)\r\n' 17:51:03.073297 < 8 bytes data, client => server 17:51:03.073317 'TYPE I\r\n' 17:51:03.082086 Received DATA (on stdin) 17:51:03.082105 > 33 bytes data, server => client 17:51:03.082116 '200 I modify TYPE as you wanted\r\n' 17:51:03.082195 < 21 bytes data, client => server 17:51:03.082211 'SIZE verifiedserver\r\n' 17:51:03.082369 Received DATA (on stdin) 17:51:03.082382 > 8 bytes data, server => client 17:51:03.082392 '213 17\r\n' 17:51:03.082457 < 21 bytes data, client => server 17:51:03.082471 'RETR verifiedserver\r\n' 17:51:03.082736 Received DATA (on stdin) 17:51:03.082748 > 29 bytes data, server => client 17:51:03.082758 '150 Binary junk (17 bytes).\r\n' 17:51:03.094320 Received DATA (on stdin) 17:51:03.094339 > 28 bytes data, server => client 17:51:03.094350 '226 File transfer complete\r\n' 17:51:03.126285 < 6 bytes data, client => server 17:51:03.126323 'QUIT\r\n' 17:51:03.126593 Received DATA (on stdin) 17:51:03.126611 > 18 bytes data, server => client 17:51:03.126622 '221 bye bye baby\r\n' 17:51:03.127136 ====> Client disconnect 17:51:03.127356 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.064483 Running IPv4 version 17:51:03.064585 Listening on port 38043 17:51:03.064633 Wrote pid 154697 to log/16/server/ftp_sockdata.pid 17:51:03.067742 Received PING (on stdin) 17:51:03.069872 Received PORT (on stdin) 17:51:03.076599 ====> Client connect 17:51:03.083381 Received DATA (on stdin) 17:51:03.083416 > 17 bytes data, server => client 17:51:03.083428 'WE ROOLZ: 81124\r\n' 17:51:03.083478 Received DISC (on stdin) 17:51:03.083492 ====> Client forcibly disconnected 17:51:03.093947 Received QUIT (on stdin) 17:51:03.093966 quits 17:51:03.094033 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1386 === End of file server.cmd === Start of file valgrind1386 ==154822== ==154822== Process terminating with default action of signal 4 (SIGILL) ==154822== Illegal opcode at address 0x4014520 ==154822== at 0x4014520: getparameter (tool_getparam.c:2862) ==154822== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154822== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154822== by 0x4003728: main (tool_main.c:186) === End of file valgrind1386 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/18/valgrind1395 ./unit/units unit1395 - > log/18/stdout1395 2> log/18/stderr1395 -------e-v- OK (1329 out of 1760, remaining: 00:43, took 1.111s, duration: 02:13) 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/4/valgrind1382 ../src/curl -q --trace-ascii log/4/trace1382 --trace-time ftp://127.0.0.1:40307/path/file1382 -o log/4/download1382 -J -D - > log/4/stdout1382 2> log/4/stderr1382 1382: 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 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/4/valgrind1382 ../src/curl -q --trace-ascii log/4/trace1382 --trace-time ftp://127.0.0.1:40307/path/file1382 -o log/4/download1382 -J -D - > log/4/stdout1382 2> log/4/stderr1382 === End of file commands.log === Start of file ftp_server.log 17:51:03.080027 ====> Client connect 17:51:03.080213 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.080540 < "USER anonymous" 17:51:03.080582 > "331 We are happy you popped in![CR][LF]" 17:51:03.080767 < "PASS ftp@example.com" 17:51:03.080796 > "230 Welcome you silly person[CR][LF]" 17:51:03.080955 < "PWD" 17:51:03.080988 > "257 "/" is current directory[CR][LF]" 17:51:03.081146 < "EPSV" 17:51:03.081174 ====> Passive DATA channel requested by client 17:51:03.081192 DATA sockfilt for passive data channel starting... 17:51:03.084816 DATA sockfilt for passive data channel started (pid 154572) 17:51:03.084937 DATA sockfilt for passive data channel listens on port 44729 17:51:03.084982 > "229 Entering Passive Mode (|||44729|)[CR][LF]" 17:51:03.085002 Client has been notified that DATA conn will be accepted on port 44729 17:51:03.085289 Client connects to port 44729 17:51:03.085318 ====> Client established passive DATA connection on port 44729 17:51:03.085441 < "TYPE I" 17:51:03.085471 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.085624 < "SIZE verifiedserver" 17:51:03.085663 > "213 17[CR][LF]" 17:51:03.085810 < "RETR verifiedserver" 17:51:03.085842 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.085922 =====> Closing passive DATA connection... 17:51:03.085940 Server disconnects passive DATA connection 17:51:03.086163 Server disconnected passive DATA connection 17:51:03.086193 DATA sockfilt for passive data channel quits (pid 154572) 17:51:03.087208 DATA sockfilt for passive data channel quit (pid 154572) 17:51:03.087242 =====> Closed passive DATA connection 17:51:03.087269 > "226 File transfer complete[CR][LF]" 17:51:03.127678 < "QUIT" 17:51:03.132489 > "221 bye bye baby[CR][LF]" 17:51:03.134027 MAIN sockfilt said DISC 17:51:03.134075 ====> Client disconnected 17:51:03.134470 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:02.924087 ====> Client connect 17:51:02.926406 Received DATA (on stdin) 17:51:02.926424 > 146 bytes data, server => client 17:51:02.926435 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:02.926445 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:02.926454 '220 \___|\___/|_| \_\_____|\r\n' 17:51:02.926567 < 16 bytes data, client => server 17:51:02.926580 'USER anonymous\r\n' 17:51:02.926763 Received DATA (on stdin) 17:51:02.926775 > 33 bytes data, server => client 17:51:02.926784 '331 We are happy you popped in!\r\n' 17:51:02.926843 < 22 bytes data, client => server 17:51:02.926853 'PASS ftp@example.com\r\n' 17:51:02.926973 Received DATA (on stdin) 17:51:02.926984 > 30 bytes data, server => client 17:51:02.926994 '230 Welcome you silly person\r\n' 17:51:02.927044 < 5 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/valgrind1379 ../src/curl -q --trace-ascii log/5/trace1379 --trace-time ftp://127.0.0.1:34559/path/file1379 -o log/5/download1379 -D log/5/heads1379 > log/5/stdout1379 2> log/5/stderr1379 client => server 17:51:02.927054 'PWD\r\n' 17:51:02.927164 Received DATA (on stdin) 17:51:02.927174 > 30 bytes data, server => client 17:51:02.927184 '257 "/" is current directory\r\n' 17:51:02.927242 < 6 bytes data, client => server 17:51:02.927253 'EPSV\r\n' 17:51:02.931186 Received DATA (on stdin) 17:51:02.931248 > 39 bytes data, server => client 17:51:02.931259 '229 Entering Passive Mode (|||44729|)\r\n' 17:51:02.931516 < 8 bytes data, client => server 17:51:02.931527 'TYPE I\r\n' 17:51:02.931651 Received DATA (on stdin) 17:51:02.931662 > 33 bytes data, server => client 17:51:02.931672 '200 I modify TYPE as you wanted\r\n' 17:51:02.931721 < 21 bytes data, client => server 17:51:02.931731 'SIZE verifiedserver\r\n' 17:51:02.931840 Received DATA (on stdin) 17:51:02.931851 > 8 bytes data, server => client 17:51:02.931860 '213 17\r\n' 17:51:02.931906 < 21 bytes data, client => server 17:51:02.931917 'RETR verifiedserver\r\n' 17:51:02.932119 Received DATA (on stdin) 17:51:02.932130 > 29 bytes data, server => client 17:51:02.932140 '150 Binary junk (17 bytes).\r\n' 17:51:02.933449 Received DATA (on stdin) 17:51:02.933461 > 28 bytes data, server => client 17:51:02.933471 '226 File transfer complete\r\n' 17:51:02.973625 < 6 bytes data, client => server 17:51:02.973662 'QUIT\r\n' 17:51:02.978702 Received DATA (on stdin) 17:51:02.978725 > 18 bytes data, server => client 17:51:02.978736 '221 bye bye baby\r\n' 17:51:02.980140 ====> Client disconnect 17:51:02.980330 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.930665 Running IPv4 version 17:51:03.930743 Listening on port 44729 17:51:03.930780 Wrote pid 154572 to log/4/server/ftp_sockdata.pid 17:51:03.930939 Received PING (on stdin) 17:51:03.931023 Received PORT (on stdin) 17:51:03.931416 ====> Client connect 17:51:03.932166 Received DATA (on stdin) 17:51:03.932177 > 17 bytes data, server => client 17:51:03.932187 'WE ROOLZ: 80996\r\n' 17:51:03.932210 Received DISC (on stdin) 17:51:03.932221 ====> Client forcibly disconnected 17:51:03.932382 Received QUIT (on stdin) 17:51:03.932392 quits 17:51:03.932456 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1382 === End of file server.cmd === Start of file valgrind1382 ==154649== ==154649== Process terminating with default action of signal 4 (SIGILL) ==154649== Illegal opcode at address 0x4014520 ==154649== at 0x4014520: getparameter (tool_getparam.c:2862) ==154649== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154649== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154649== by 0x4003728: main (tool_main.c:186) === End of file valgrind1382 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/5/valgrind1379 ../src/curl -q --trace-ascii log/5/trace1379 --trace-time ftp://127.0.0.1:34559/path/file1379 -o log/5/download1379 -D log/5/heads1379 > log/5/stdout1379 2> log/5/stderr1379 1379: 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 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/5/valgrind1379 ../src/curl -q --trace-ascii log/5/trace1379 --trace-time ftp://127.0.0.1:34559/path/file1379 -o log/5/download1379 -D log/5/heads1379 > log/5/stdout1379 2> log/5/stderr1379 === End of file commands.log === Start of file ftp_server.log 17:51:02.999196 ====> Client connect 17:51:02.999367 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:02.999708 < "USER anonymous" 17:51:02.999754 > "331 We are happy you popped in![CR][LF]" 17:51:02.999948 < "PASS ftp@example.com" 17:51:02.999982 > "230 Welcome you silly person[CR][LF]" 17:51:03.000174 < "PWD" 17:51:03.000209 > "257 "/" is current directory[CR][LF]" 17:51:03.000378 < "EPSV" 17:51:03.000408 ====> Passive DATA channel requested by client 17:51:03.000423 DATA sockfilt for passive data channel starting... 17:51:03.006890 DATA sockfilt for passive data channel started (pid 154499) 17:51:03.007039 DATA sockfilt for passive data channel listens on port 44603 17:51:03.007103 > "229 Entering Passive Mode (|||44603|)[CR][LF]" 17:51:03.007124 Client has been notified that DATA conn will be accepted on port 44603 17:51:03.007464 Client connects to port 44603 17:51:03.007499 ====> Client established passive DATA connection on port 44603 17:51:03.007597 < "TYPE I" 17:51:03.007635 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.007817 < "SIZE verifiedserver" 17:51:03.007860 > "213 17[CR][LF]" 17:51:03.008021 < "RETR verifiedserver" 17:51:03.008062 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.008157 =====> Closing passive DATA connection... 17:51:03.008177 Server disconnects passive DATA connection 17:51:03.008415 Server disconnected passive DATA connection 17:51:03.008445 DATA sockfilt for passive data channel quits (pid 154499) 17:51:03.008700 DATA sockfilt for passive data channel quit (pid 154499) 17:51:03.008726 =====> Closed passive DATA connection 17:51:03.008754 > "226 File transfer complete[CR][LF]" 17:51:03.058541 < "QUIT" 17:51:03.058601 > "221 bye bye baby[CR][LF]" 17:51:03.060304 MAIN sockfilt said DISC 17:51:03.060352 ====> Client disconnected 17:51:03.060428 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:02.845229 ====> Client connect 17:51:02.845562 Received DATA (on stdin) 17:51:02.845579 > 146 bytes data, server => client 17:51:02.845590 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:02.845600 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:02.845609 '220 \___|\___/|_| \_\_____|\r\n' 17:51:02.845730 < 16 bytes data, client => server 17:51:02.845748 'USER anonymous\r\n' 17:51:02.845942 Received DATA (on stdin) 17:51:02.845956 > 33 bytes data, server => client 17:51:02.845967 '331 We are happy you popped in!\r\n' 17:51:02.846025 < 22 bytes data, client => server 17:51:02.846039 'PASS ftp@example.com\r\n' 17:51:02.846187 Received DATA (on stdin) 17:51:02.846201 > 30 bytes data, server => client 17:51:02.846211 '230 Welcome you silly person\r\n' 17:51:02.846263 < 5 bytes data, client => server 17:51:02.846274 'PWD\r\n' 17:51:02.846388 Received DATA (on stdin) 17:51:02.846400 > 30 bytes data, server => client 17:51:02.846411 '257 "/" is current directory\r\n' 17:51:02.846470 < 6 bytes data, client => server 17:51:02.846482 'EPSV\r\n' 17:51:02.853314 Received DATA (on stdin) 17:51:02.853332 > 39 bytes data, server => client 17:51:02.853343 '229 Entering Passive Mode (|||44603|)\r\n' 17:51:02.853584 < 8 bytes data, client => server 17:51:02.853597 'TYPE I\r\n' 17:51:02.853815 Received DATA (on stdin) 17:51:02.853827 > 33 bytes data, server => client 17:51:02.853838 '200 I modify TYPE as you wanted\r\n' 17:51:02.853896 < 21 bytes data, client => server 17:51:02.853909 'SIZE verifiedserver\r\n' 17:51:02.854039 Received DATA (on stdin) 17:51:02.854050 > 8 bytes data, server => client 17:51:02.854060 '213 17\r\n' 17:51:02.854111 < 21 bytes data, client => server 17:51:02.854122 'RETR verifiedserver\r\n' 17:51:02.854358 Received DATA (on stdin) 17:51:02.854370 > 29 bytes data, server => client 17:51:02.854380 '150 Binary junk (17 bytes).\r\n' 17:51:02.854934 Received DATA (on stdin) 17:51:02.854947 > 28 bytes data, server => client 17:51:02.854957 '226 File transfer complete\r\n' 17:51:02.904222 < 6 bytes data, client => server 17:51:02.904257 'QUIT\r\n' 17:51:02.904789 Received DATA (on stdin) 17:51:02.904805 > 18 bytes data, server => 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/22/valgrind1390 ../src/curl -q --trace-ascii log/22/trace1390 --trace-time ftp://127.0.0.1:44871/path/file1390 -o log/22/download1390 -J -D - > log/22/stdout1390 2> log/22/stderr1390 CMD (33792): ../libtool --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/valgrind1391 ../src/curl -q --trace-ascii log/17/trace1391 --trace-time ftp://127.0.0.1:38963/path/file1391 -o log/17/download1391 -i -D log/17/heads1391 > log/17/stdout1391 2> log/17/stderr1391 17:51:02.904817 '221 bye bye baby\r\n' 17:51:02.905951 ====> Client disconnect 17:51:02.906609 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:02.848993 Running IPv4 version 17:51:02.849064 Listening on port 44603 17:51:02.849099 Wrote pid 154499 to log/5/server/ftp_sockdata.pid 17:51:02.852993 Received PING (on stdin) 17:51:02.853111 Received PORT (on stdin) 17:51:02.853549 ====> Client connect 17:51:02.854408 Received DATA (on stdin) 17:51:02.854420 > 17 bytes data, server => client 17:51:02.854430 'WE ROOLZ: 81078\r\n' 17:51:02.854456 Received DISC (on stdin) 17:51:02.854467 ====> Client forcibly disconnected 17:51:02.854631 Received QUIT (on stdin) 17:51:02.854642 quits 17:51:02.854701 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1379 === End of file server.cmd === Start of file valgrind1379 ==154609== ==154609== Process terminating with default action of signal 4 (SIGILL) ==154609== Illegal opcode at address 0x4014520 ==154609== at 0x4014520: getparameter (tool_getparam.c:2862) ==154609== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154609== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154609== by 0x4003728: main (tool_main.c:186) === End of file valgrind1379 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/22/valgrind1390 ../src/curl -q --trace-ascii log/22/trace1390 --trace-time ftp://127.0.0.1:44871/path/file1390 -o log/22/download1390 -J -D - > log/22/stdout1390 2> log/22/stderr1390 1390: 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 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/22/valgrind1390 ../src/curl -q --trace-ascii log/22/trace1390 --trace-time ftp://127.0.0.1:44871/path/file1390 -o log/22/download1390 -J -D - > log/22/stdout1390 2> log/22/stderr1390 === End of file commands.log === Start of file ftp_server.log 17:51:03.442018 ====> Client connect 17:51:03.442182 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.442454 < "USER anonymous" 17:51:03.442492 > "331 We are happy you popped in![CR][LF]" 17:51:03.442655 < "PASS ftp@example.com" 17:51:03.442683 > "230 Welcome you silly person[CR][LF]" 17:51:03.442823 < "PWD" 17:51:03.442854 > "257 "/" is current directory[CR][LF]" 17:51:03.443001 < "EPSV" 17:51:03.443025 ====> Passive DATA channel requested by client 17:51:03.443038 DATA sockfilt for passive data channel starting... 17:51:03.447265 DATA sockfilt for passive data channel started (pid 155077) 17:51:03.447388 DATA sockfilt for passive data channel listens on port 39175 17:51:03.447446 > "229 Entering Passive Mode (|||39175|)[CR][LF]" 17:51:03.447471 Client has been notified that DATA conn will be accepted on port 39175 17:51:03.447773 Client connects to port 39175 17:51:03.447828 ====> Client established passive DATA connection on port 39175 17:51:03.447982 < "TYPE I" 17:51:03.448026 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.448426 < "SIZE verifiedserver" 17:51:03.448472 > "213 17[CR][LF]" 17:51:03.450530 < "RETR verifiedserver" 17:51:03.450572 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.450670 =====> Closing passive DATA connection... 17:51:03.450694 Server disconnects passive DATA connection 17:51:03.450818 Server disconnected passive DATA connection 17:51:03.450850 DATA sockfilt for passive data channel quits (pid 155077) 17:51:03.451286 DATA sockfilt for passive data channel quit (pid 155077) 17:51:03.451317 =====> Closed passive DATA connection 17:51:03.451350 > "226 File transfer complete[CR][LF]" 17:51:03.496960 < "QUIT" 17:51:03.497025 > "221 bye bye baby[CR][LF]" 17:51:03.498099 MAIN sockfilt said DISC 17:51:03.498142 ====> Client disconnected 17:51:03.498221 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:03.288077 ====> Client connect 17:51:03.288374 Received DATA (on stdin) 17:51:03.288389 > 146 bytes data, server => client 17:51:03.288399 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:03.288409 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:03.288417 '220 \___|\___/|_| \_\_____|\r\n' 17:51:03.288489 < 16 bytes data, client => server 17:51:03.288500 'USER anonymous\r\n' 17:51:03.288673 Received DATA (on stdin) 17:51:03.288684 > 33 bytes data, server => client 17:51:03.288694 '331 We are happy you popped in!\r\n' 17:51:03.288741 < 22 bytes data, client => server 17:51:03.288751 'PASS ftp@example.com\r\n' 17:51:03.288859 Received DATA (on stdin) 17:51:03.288869 > 30 bytes data, server => client 17:51:03.288878 '230 Welcome you silly person\r\n' 17:51:03.288922 < 5 bytes data, client => server 17:51:03.288932 'PWD\r\n' 17:51:03.289030 Received DATA (on stdin) 17:51:03.289040 > 30 bytes data, server => client 17:51:03.289050 '257 "/" is current directory\r\n' 17:51:03.289101 < 6 bytes data, client => server 17:51:03.289111 'EPSV\r\n' 17:51:03.293721 Received DATA (on stdin) 17:51:03.293746 > 39 bytes data, server => client 17:51:03.293759 '229 Entering Passive Mode (|||39175|)\r\n' 17:51:03.294034 < 8 bytes data, client => server 17:51:03.294048 'TYPE I\r\n' 17:51:03.294231 Received DATA (on stdin) 17:51:03.294246 > 33 bytes data, server => client 17:51:03.294258 '200 I modify TYPE as you wanted\r\n' 17:51:03.294493 < 21 bytes data, client => server 17:51:03.294512 'SIZE verifiedserver\r\n' 17:51:03.294660 Received DATA (on stdin) 17:51:03.294673 > 8 bytes data, server => client 17:51:03.294683 '213 17\r\n' 17:51:03.296598 < 21 bytes data, client => server 17:51:03.296616 'RETR verifiedserver\r\n' 17:51:03.297041 Received DATA (on stdin) 17:51:03.297056 > 29 bytes data, server => client 17:51:03.297071 '150 Binary junk (17 bytes).\r\n' 17:51:03.297536 Received DATA (on stdin) 17:51:03.297550 > 28 bytes data, server => client 17:51:03.297561 '226 File transfer complete\r\n' 17:51:03.342960 < 6 bytes data, client => server 17:51:03.342985 'QUIT\r\n' 17:51:03.343224 Received DATA (on stdin) 17:51:03.343243 > 18 bytes data, server => client 17:51:03.343254 '221 bye bye baby\r\n' 17:51:03.344214 ====> Client disconnect 17:51:03.344406 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.291507 Running IPv4 version 17:51:03.291574 Listening on port 39175 17:51:03.291616 Wrote pid 155077 to log/22/server/ftp_sockdata.pid 17:51:03.293380 Received PING (on stdin) 17:51:03.293474 Received PORT (on stdin) 17:51:03.293893 ====> Client connect 17:51:03.296876 Received DATA (on stdin) 17:51:03.296890 > 17 bytes data, server => client 17:51:03.296901 'WE ROOLZ: 81056\r\n' 17:51:03.296930 Received DISC (on stdin) 17:51:03.296943 ====> Client forcibly disconnected 17:51:03.297187 Received QUIT (on stdin) 17:51:03.297204 quits 17:51:03.297267 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1390 === End of file server.cmd === Start of file valgrind1390 ==155174== ==155174== Process terminating with default action of signal 4 (SIGILL) ==155174== Illegal opcode at address 0x4014520 ==155174== at 0x4014520: getparameter (tool_getparam.c:2862) ==155174== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==155174== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==155174== by 0x4003728: main (tool_main.c:186) === End of file valgrind1390 test 1391...[FTP DL, file with C-D inside, using -o fname -i -D file] ../CMD (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/valgrind1397 ./unit/units unit1397 - > log/21/stdout1397 2> log/21/stderr1397 CMD (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/valgrind1394 ./tunit/tunits tool1394 - > log/2/stdout1394 2> log/2/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/11/valgrind1380 ../src/curl -q --trace-ascii log/11/trace1380 --trace-time ftp://127.0.0.1:36233/path/file1380 -o log/11/download1380 -D - > log/11/stdout1380 2> log/11/stderr1380 libtool --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/valgrind1391 ../src/curl -q --trace-ascii log/17/trace1391 --trace-time ftp://127.0.0.1:38963/path/file1391 -o log/17/download1391 -i -D log/17/heads1391 > log/17/stdout1391 2> log/17/stderr1391 1391: 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 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/17/valgrind1391 ../src/curl -q --trace-ascii log/17/trace1391 --trace-time ftp://127.0.0.1:38963/path/file1391 -o log/17/download1391 -i -D log/17/heads1391 > log/17/stdout1391 2> log/17/stderr1391 === End of file commands.log === Start of file ftp_server.log 17:51:03.550033 ====> Client connect 17:51:03.550285 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.551041 < "USER anonymous" 17:51:03.551079 > "331 We are happy you popped in![CR][LF]" 17:51:03.551233 < "PASS ftp@example.com" 17:51:03.551258 > "230 Welcome you silly person[CR][LF]" 17:51:03.551394 < "PWD" 17:51:03.551425 > "257 "/" is current directory[CR][LF]" 17:51:03.551570 < "EPSV" 17:51:03.551600 ====> Passive DATA channel requested by client 17:51:03.551613 DATA sockfilt for passive data channel starting... 17:51:03.557509 DATA sockfilt for passive data channel started (pid 155198) 17:51:03.557655 DATA sockfilt for passive data channel listens on port 41811 17:51:03.557715 > "229 Entering Passive Mode (|||41811|)[CR][LF]" 17:51:03.557737 Client has been notified that DATA conn will be accepted on port 41811 17:51:03.558049 Client connects to port 41811 17:51:03.558080 ====> Client established passive DATA connection on port 41811 17:51:03.558183 < "TYPE I" 17:51:03.558217 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.558380 < "SIZE verifiedserver" 17:51:03.558422 > "213 17[CR][LF]" 17:51:03.558583 < "RETR verifiedserver" 17:51:03.558620 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.558707 =====> Closing passive DATA connection... 17:51:03.558725 Server disconnects passive DATA connection 17:51:03.558920 Server disconnected passive DATA connection 17:51:03.558948 DATA sockfilt for passive data channel quits (pid 155198) 17:51:03.559251 DATA sockfilt for passive data channel quit (pid 155198) 17:51:03.559278 =====> Closed passive DATA connection 17:51:03.559307 > "226 File transfer complete[CR][LF]" 17:51:03.603649 < "QUIT" 17:51:03.603708 > "221 bye bye baby[CR][LF]" 17:51:03.604792 MAIN sockfilt said DISC 17:51:03.604829 ====> Client disconnected 17:51:03.604909 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:03.394319 ====> Client connect 17:51:03.396490 Received DATA (on stdin) 17:51:03.396513 > 146 bytes data, server => client 17:51:03.396524 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:03.396533 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:03.396541 '220 \___|\___/|_| \_\_____|\r\n' 17:51:03.397060 < 16 bytes data, client => server 17:51:03.397076 'USER anonymous\r\n' 17:51:03.397258 Received DATA (on stdin) 17:51:03.397269 > 33 bytes data, server => client 17:51:03.397279 '331 We are happy you popped in!\r\n' 17:51:03.397327 < 22 bytes data, client => server 17:51:03.397337 'PASS ftp@example.com\r\n' 17:51:03.397435 Received DATA (on stdin) 17:51:03.397445 > 30 bytes data, server => client 17:51:03.397454 '230 Welcome you silly person\r\n' 17:51:03.397498 < 5 bytes data, client => server 17:51:03.397507 'PWD\r\n' 17:51:03.397601 Received DATA (on stdin) 17:51:03.397611 > 30 bytes data, server => client 17:51:03.397620 '257 "/" is current directory\r\n' 17:51:03.397674 < 6 bytes data, client => server 17:51:03.397683 'EPSV\r\n' 17:51:03.403928 Received DATA (on stdin) 17:51:03.403946 > 39 bytes data, server => client 17:51:03.403957 '229 Entering Passive Mode (|||41811|)\r\n' 17:51:03.404143 < 8 bytes data, client => server 17:51:03.404159 'TYPE I\r\n' 17:51:03.404397 Received DATA (on stdin) 17:51:03.404409 > 33 bytes data, server => client 17:51:03.404420 '200 I modify TYPE as you wanted\r\n' 17:51:03.404472 < 21 bytes data, client => server 17:51:03.404483 'SIZE verifiedserver\r\n' 17:51:03.404602 Received DATA (on stdin) 17:51:03.404614 > 8 bytes data, server => client 17:51:03.404624 '213 17\r\n' 17:51:03.404675 < 21 bytes data, client => server 17:51:03.404686 'RETR verifiedserver\r\n' 17:51:03.404907 Received DATA (on stdin) 17:51:03.404919 > 29 bytes data, server => client 17:51:03.404929 '150 Binary junk (17 bytes).\r\n' 17:51:03.405487 Received DATA (on stdin) 17:51:03.405499 > 28 bytes data, server => client 17:51:03.405510 '226 File transfer complete\r\n' 17:51:03.449612 < 6 bytes data, client => server 17:51:03.449648 'QUIT\r\n' 17:51:03.449890 Received DATA (on stdin) 17:51:03.449902 > 18 bytes data, server => client 17:51:03.449911 '221 bye bye baby\r\n' 17:51:03.450918 ====> Client disconnect 17:51:03.451086 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.403306 Running IPv4 version 17:51:03.403395 Listening on port 41811 17:51:03.403451 Wrote pid 155198 to log/17/server/ftp_sockdata.pid 17:51:03.403625 Received PING (on stdin) 17:51:03.403730 Received PORT (on stdin) 17:51:03.404180 ====> Client connect 17:51:03.404986 Received DATA (on stdin) 17:51:03.405000 > 17 bytes data, server => client 17:51:03.405011 'WE ROOLZ: 95543\r\n' 17:51:03.405036 Received DISC (on stdin) 17:51:03.405048 ====> Client forcibly disconnected 17:51:03.405190 Received QUIT (on stdin) 17:51:03.405204 quits 17:51:03.405269 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1391 === End of file server.cmd === Start of file valgrind1391 ==155288== ==155288== Process terminating with default action of signal 4 (SIGILL) ==155288== Illegal opcode at address 0x4014520 ==155288== at 0x4014520: getparameter (tool_getparam.c:2862) ==155288== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==155288== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==155288== by 0x4003728: main (tool_main.c:186) === End of file valgrind1391 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/21/valgrind1397 ./unit/units unit1397 - > log/21/stdout1397 2> log/21/stderr1397 -------e-v- OK (1331 out of 1760, remaining: 00:43, took 1.109s, duration: 02:13) 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/2/valgrind1394 ./tunit/tunits tool1394 - > log/2/stdout1394 2> log/2/stderr1394 -------e-v- OK (1328 out of 1760, remaining: 00:43, took 1.519s, duration: 02:13) 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/11/valgrind1380 ../src/curl -q --trace-ascii log/11/trace1380 --trace-time ftp://127.0.0.1:36233/path/file1380 -o log/11/download1380 -D - > log/11/stdout1380 2> log/11/stderr1380 1380: 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 1380 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --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/20/valgrind1385 ../src/curl -q --trace-ascii log/20/trace1385 --trace-time ftp://127.0.0.1:35215/path/file1385 -o log/20/download1385 -i > log/20/stdout1385 2> log/20/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/8/valgrind1387 ../src/curl -q --trace-ascii log/8/trace1387 --trace-time ftp://127.0.0.1:42799/path/file1387 -o log/8/download1387 -D log/8/heads1387 > log/8/stdout1387 2> log/8/stderr1387 emcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1380 ../src/curl -q --trace-ascii log/11/trace1380 --trace-time ftp://127.0.0.1:36233/path/file1380 -o log/11/download1380 -D - > log/11/stdout1380 2> log/11/stderr1380 === End of file commands.log === Start of file ftp_server.log 17:51:03.097086 ====> Client connect 17:51:03.097261 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.097568 < "USER anonymous" 17:51:03.097634 > "331 We are happy you popped in![CR][LF]" 17:51:03.097795 < "PASS ftp@example.com" 17:51:03.097821 > "230 Welcome you silly person[CR][LF]" 17:51:03.097996 < "PWD" 17:51:03.098029 > "257 "/" is current directory[CR][LF]" 17:51:03.098216 < "EPSV" 17:51:03.098250 ====> Passive DATA channel requested by client 17:51:03.098265 DATA sockfilt for passive data channel starting... 17:51:03.104487 DATA sockfilt for passive data channel started (pid 154582) 17:51:03.106154 DATA sockfilt for passive data channel listens on port 46105 17:51:03.106223 > "229 Entering Passive Mode (|||46105|)[CR][LF]" 17:51:03.106247 Client has been notified that DATA conn will be accepted on port 46105 17:51:03.108944 Client connects to port 46105 17:51:03.108988 ====> Client established passive DATA connection on port 46105 17:51:03.109093 < "TYPE I" 17:51:03.109135 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.109521 < "SIZE verifiedserver" 17:51:03.109568 > "213 17[CR][LF]" 17:51:03.109743 < "RETR verifiedserver" 17:51:03.109781 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.109868 =====> Closing passive DATA connection... 17:51:03.109886 Server disconnects passive DATA connection 17:51:03.111893 Server disconnected passive DATA connection 17:51:03.111931 DATA sockfilt for passive data channel quits (pid 154582) 17:51:03.112183 DATA sockfilt for passive data channel quit (pid 154582) 17:51:03.112209 =====> Closed passive DATA connection 17:51:03.112241 > "226 File transfer complete[CR][LF]" 17:51:03.163788 < "QUIT" 17:51:03.163848 > "221 bye bye baby[CR][LF]" 17:51:03.165174 MAIN sockfilt said DISC 17:51:03.165214 ====> Client disconnected 17:51:03.165303 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:02.943138 ====> Client connect 17:51:02.943452 Received DATA (on stdin) 17:51:02.943466 > 146 bytes data, server => client 17:51:02.943478 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:02.943488 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:02.943497 '220 \___|\___/|_| \_\_____|\r\n' 17:51:02.943571 < 16 bytes data, client => server 17:51:02.943583 'USER anonymous\r\n' 17:51:02.943815 Received DATA (on stdin) 17:51:02.943827 > 33 bytes data, server => client 17:51:02.943837 '331 We are happy you popped in!\r\n' 17:51:02.943886 < 22 bytes data, client => server 17:51:02.943897 'PASS ftp@example.com\r\n' 17:51:02.943998 Received DATA (on stdin) 17:51:02.944009 > 30 bytes data, server => client 17:51:02.944019 '230 Welcome you silly person\r\n' 17:51:02.944065 < 5 bytes data, client => server 17:51:02.944098 'PWD\r\n' 17:51:02.944208 Received DATA (on stdin) 17:51:02.944219 > 30 bytes data, server => client 17:51:02.944229 '257 "/" is current directory\r\n' 17:51:02.944288 < 6 bytes data, client => server 17:51:02.944299 'EPSV\r\n' 17:51:02.953470 Received DATA (on stdin) 17:51:02.953498 > 39 bytes data, server => client 17:51:02.953511 '229 Entering Passive Mode (|||46105|)\r\n' 17:51:02.953721 < 8 bytes data, client => server 17:51:02.953740 'TYPE I\r\n' 17:51:02.955496 Received DATA (on stdin) 17:51:02.955511 > 33 bytes data, server => client 17:51:02.955522 '200 I modify TYPE as you wanted\r\n' 17:51:02.955592 < 21 bytes data, client => server 17:51:02.955604 'SIZE verifiedserver\r\n' 17:51:02.955748 Received DATA (on stdin) 17:51:02.955760 > 8 bytes data, server => client 17:51:02.955770 '213 17\r\n' 17:51:02.955827 < 21 bytes data, client => server 17:51:02.955839 'RETR verifiedserver\r\n' 17:51:02.958495 Received DATA (on stdin) 17:51:02.958511 > 29 bytes data, server => client 17:51:02.958522 '150 Binary junk (17 bytes).\r\n' 17:51:02.958551 Received DATA (on stdin) 17:51:02.958560 > 28 bytes data, server => client 17:51:02.958571 '226 File transfer complete\r\n' 17:51:03.009757 < 6 bytes data, client => server 17:51:03.009792 'QUIT\r\n' 17:51:03.010037 Received DATA (on stdin) 17:51:03.010052 > 18 bytes data, server => client 17:51:03.010063 '221 bye bye baby\r\n' 17:51:03.011290 ====> Client disconnect 17:51:03.011484 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.950455 Running IPv4 version 17:51:03.950549 Listening on port 46105 17:51:03.950585 Wrote pid 154582 to log/11/server/ftp_sockdata.pid 17:51:03.950605 Received PING (on stdin) 17:51:03.952212 Received PORT (on stdin) 17:51:03.955064 ====> Client connect 17:51:03.956066 Received DATA (on stdin) 17:51:03.956081 > 17 bytes data, server => client 17:51:03.956091 'WE ROOLZ: 80983\r\n' 17:51:03.956118 Received DISC (on stdin) 17:51:03.956130 ====> Client forcibly disconnected 17:51:03.958129 Received QUIT (on stdin) 17:51:03.958143 quits 17:51:03.958210 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1380 === End of file server.cmd === Start of file valgrind1380 ==154665== ==154665== Process terminating with default action of signal 4 (SIGILL) ==154665== Illegal opcode at address 0x4014520 ==154665== at 0x4014520: getparameter (tool_getparam.c:2862) ==154665== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154665== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154665== by 0x4003728: main (tool_main.c:186) === End of file valgrind1380 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/20/valgrind1385 ../src/curl -q --trace-ascii log/20/trace1385 --trace-time ftp://127.0.0.1:35215/path/file1385 -o log/20/download1385 -i > log/20/stdout1385 2> log/20/stderr1385 1385: 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 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/20/valgrind1385 ../src/curl -q --trace-ascii log/20/trace1385 --trace-time ftp://127.0.0.1:35215/path/file1385 -o log/20/download1385 -i > log/20/stdout1385 2> log/20/stderr1385 === End of file commands.log === Start of file ftp_server.log 17:51:03.207525 ====> Client connect 17:51:03.207722 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.213673 < "USER anonymous" 17:51:03.213729 > "331 We are happy you popped in![CR][LF]" 17:51:03.216852 < "PASS ftp@example.com" 17:51:03.216897 > "230 Welcome you silly person[CR][LF]" 17:51:03.217058 < "PWD" 17:51:03.217093 > "257 "/" is current directory[CR][LF]" 17:51:03.217231 < "EPSV" 17:51:03.217256 ====> Passive DATA channel requested by client 17:51:03.217269 DATA sockfilt for passive data channel starting... 17:51:03.234601 DATA sockfilt for passive data channel started (pid 154702) 17:51:03.235274 DATA sockfilt for passive data channel listens on port 43029 17:51:03.235346 > "229 Entering Passive Mode (|||43029|)[CR][LF]" 17:51:03.235364 Client has been notified that DATA conn will be accepted on port 43029 17:51:03.238818 Client connects to port 43029 17:51:03.238866 ====> Client established passive DATA connection on port 43029 17:51:03.238979 < "TYPE I" 17:51:03.239022 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.239226 < "SIZE verifiedserver" 17:51:03.239271 > "213 17[CR][LF]" 17:51:03.239432 < "RETR verifiedserver" 17:51:03.239468 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.239555 =====> Closing passive DATA connection... 17:51:03.239571 Server disconnects passive DATA connection 17:51:03.239690 Server disconnected passive DATA connection 17:51:03.239712 DATA sockfilt for passive data channel quits (pid 154702) 17:51:03.239987 DATA sockfilt for passive data channel quit (pid 154702) 17:51:03.240020 =====> Closed passive DATA connection 17:51:03.240050 > "226 File transfer complete[CR][LF]" 17:51:03.283599 < "QUIT" 17:51:03.283650 > "221 bye bye baby[CR][LF]" 17:51:03.284774 MAIN sockfilt said DISC 17:51:03.284805 ====> Client disconnected 17:51:03.284880 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:03.053561 ====> Client connect 17:51:03.053926 Received DATA (on stdin) 17:51:03.053943 > 146 bytes data, server => client 17:51:03.053955 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:03.053965 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:03.053974 '220 \___|\___/|_| \_\_____|\r\n' 17:51:03.058851 < 16 bytes data, client => server 17:51:03.058897 'USER anonymous\r\n' 17:51:03.060174 Received DATA (on stdin) 17:51:03.060192 > 33 bytes data, server => client 17:51:03.060202 '331 We are happy you popped in!\r\n' 17:51:03.062889 < 22 bytes data, client => server 17:51:03.062906 'PASS ftp@example.com\r\n' 17:51:03.063076 Received DATA (on stdin) 17:51:03.063086 > 30 bytes data, server => client 17:51:03.063094 '230 Welcome you silly person\r\n' 17:51:03.063150 < 5 bytes data, client => server 17:51:03.063159 'PWD\r\n' 17:51:03.063267 Received DATA (on stdin) 17:51:03.063276 > 30 bytes data, server => client 17:51:03.063285 '257 "/" is current directory\r\n' 17:51:03.063335 < 6 bytes data, client => server 17:51:03.063343 'EPSV\r\n' 17:51:03.081554 Received DATA (on stdin) 17:51:03.081572 > 39 bytes data, server => client 17:51:03.081583 '229 Entering Passive Mode (|||43029|)\r\n' 17:51:03.084924 < 8 bytes data, client => server 17:51:03.084947 'TYPE I\r\n' 17:51:03.085203 Received DATA (on stdin) 17:51:03.085218 > 33 bytes data, server => client 17:51:03.085229 '200 I modify TYPE as you wanted\r\n' 17:51:03.085306 < 21 bytes data, client => server 17:51:03.085317 'SIZE verifiedserver\r\n' 17:51:03.085449 Received DATA (on stdin) 17:51:03.085460 > 8 bytes data, server => client 17:51:03.085470 '213 17\r\n' 17:51:03.085522 < 21 bytes data, client => server 17:51:03.085532 'RETR verifiedserver\r\n' 17:51:03.085756 Received DATA (on stdin) 17:51:03.085777 > 29 bytes data, server => client 17:51:03.085788 '150 Binary junk (17 bytes).\r\n' 17:51:03.086229 Received DATA (on stdin) 17:51:03.086241 > 28 bytes data, server => client 17:51:03.086251 '226 File transfer complete\r\n' 17:51:03.129613 < 6 bytes data, client => server 17:51:03.129638 'QUIT\r\n' 17:51:03.129833 Received DATA (on stdin) 17:51:03.129844 > 18 bytes data, server => client 17:51:03.129853 '221 bye bye baby\r\n' 17:51:03.130899 ====> Client disconnect 17:51:03.131056 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.067662 Running IPv4 version 17:51:03.080599 Listening on port 43029 17:51:03.080659 Wrote pid 154702 to log/20/server/ftp_sockdata.pid 17:51:03.080685 Received PING (on stdin) 17:51:03.080849 Received PORT (on stdin) 17:51:03.084923 ====> Client connect 17:51:03.085756 Received DATA (on stdin) 17:51:03.085771 > 17 bytes data, server => client 17:51:03.085781 'WE ROOLZ: 81259\r\n' 17:51:03.085808 Received DISC (on stdin) 17:51:03.085819 ====> Client forcibly disconnected 17:51:03.085896 Received QUIT (on stdin) 17:51:03.085906 quits 17:51:03.085975 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1385 === End of file server.cmd === Start of file valgrind1385 ==154829== ==154829== Process terminating with default action of signal 4 (SIGILL) ==154829== Illegal opcode at address 0x4014520 ==154829== at 0x4014520: getparameter (tool_getparam.c:2862) ==154829== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154829== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154829== by 0x4003728: main (tool_main.c:186) === End of file valgrind1385 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/8/valgrind1387 ../src/curl -q --trace-ascii log/8/trace1387 --trace-time ftp://127.0.0.1:42799/path/file1387 -o log/8/download1387 -D log/8/heads1387 > log/8/stdout1387 2> log/8/stderr1387 1387: 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 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/8/valgrind1387 ../src/curl -q --trace-ascii log/8/trace1387 --trace-time ftp://127.0.0.1:42799/path/file1387 -o log/8/download1387 -D log/8/heads1387 > log/8/stdout1387 2> log/8/stderr1387 === End of file commands.log === Start of file ftp_server.log 17:51:03.263890 ====> Client connect 17:51:03.264067 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.264387 < "USER anonymous" 17:51:03.264424 > "331 We are happy you popped in![CR][LF]" 17:51:03.264585 < "PASS ftp@example.com" 17:51:03.264613 > "230 Welcome you silly person[CR][LF]" 17:51:03.264784 < "PWD" 17:51:03.264813 > "257 "/" is current directory[CR][LF]" 17:51:03.264968 < "EPSV" 17:51:03.264991 ====> Passive DATA channel requested by client 17:51:03.265004 DATA sockfilt for passive data channel starting... 17:51:03.270077 DATA sockfilt for passive data channel started (pid 154755) 17:51:03.270213 DATA sockfilt for passive data channel listens on port 33993 17:51:03.270268 > "229 Entering Passive Mode (|||33993|)[CR][LF]" 17:51:03.270291 Client has been notified that DATA conn will be accepted on port 33993 17:51:03.270600 Client connects to port 33993 17:51:03.270632 ====> Client established passive DATA connection on port 33993 17:51:03.270724 < "TYPE I" 17:51:03.270761 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.270928 < "SIZE verifiedserver" 17:51:03.277066 > "213 17[CR][LF]" 17:51:03.280861 < "RETR verifiedserver" 17:51:03.280921 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.281029 =====> Closing passive DATA connection... 17:51:03.281046 Server disconnects passive DATA connection 17:51:03.281187 Server disconnected passive DATA connection 17:51:03.281218 DATA sockfilt for passive data channel quits (pid 154755) 17:51:03.281511 DATA sockfilt for passive data channel quit (pid 154755) 17:51:03.281540 =====> Closed passive DATA connection 17:51:03.281567 > "226 File transfer complete[CR][LF]" 17:51:03.327025 < "QUIT" 17:51:03.327086 > "221 bye bye baby[CR][LF]" 17:51:03.328316 MAIN sockfilt said DISC 17:51:03.328359 ====> Client disconnected 17:51:03.328450 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:04.108779 ====> Client connect 17:51:04.110261 Received DATA (on stdin) 17:51:04.110277 > 146 bytes data, server => client 17:51:04.110289 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:04.110300 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:04.110310 '220 \___|\___/|_| \_\_____|\r\n' 17:51:04.110415 < 16 bytes data, client => server 17:51:04.110428 '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/6/valgrind1389 ../src/curl -q --trace-ascii log/6/trace1389 --trace-time ftp://127.0.0.1:36757/path/file1389 -o log/6/download1389 -J -D log/6/heads1389 > log/6/stdout1389 2> log/6/stderr1389 SER anonymous\r\n' 17:51:04.110605 Received DATA (on stdin) 17:51:04.110617 > 33 bytes data, server => client 17:51:04.110627 '331 We are happy you popped in!\r\n' 17:51:04.110678 < 22 bytes data, client => server 17:51:04.110689 'PASS ftp@example.com\r\n' 17:51:04.110789 Received DATA (on stdin) 17:51:04.110800 > 30 bytes data, server => client 17:51:04.110811 '230 Welcome you silly person\r\n' 17:51:04.110880 < 5 bytes data, client => server 17:51:04.110891 'PWD\r\n' 17:51:04.110990 Received DATA (on stdin) 17:51:04.111001 > 30 bytes data, server => client 17:51:04.111011 '257 "/" is current directory\r\n' 17:51:04.111066 < 6 bytes data, client => server 17:51:04.111077 'EPSV\r\n' 17:51:04.116482 Received DATA (on stdin) 17:51:04.116498 > 39 bytes data, server => client 17:51:04.116509 '229 Entering Passive Mode (|||33993|)\r\n' 17:51:04.116693 < 8 bytes data, client => server 17:51:04.116709 'TYPE I\r\n' 17:51:04.116941 Received DATA (on stdin) 17:51:04.116953 > 33 bytes data, server => client 17:51:04.116964 '200 I modify TYPE as you wanted\r\n' 17:51:04.117017 < 21 bytes data, client => server 17:51:04.117029 'SIZE verifiedserver\r\n' 17:51:04.122835 Received DATA (on stdin) 17:51:04.122941 > 8 bytes data, server => client 17:51:04.123228 '213 17\r\n' 17:51:04.126869 < 21 bytes data, client => server 17:51:04.126893 'RETR verifiedserver\r\n' 17:51:04.127973 Received DATA (on stdin) 17:51:04.127992 > 29 bytes data, server => client 17:51:04.128002 '150 Binary junk (17 bytes).\r\n' 17:51:04.128029 Received DATA (on stdin) 17:51:04.128039 > 28 bytes data, server => client 17:51:04.128050 '226 File transfer complete\r\n' 17:51:04.172971 < 6 bytes data, client => server 17:51:04.173016 'QUIT\r\n' 17:51:04.173272 Received DATA (on stdin) 17:51:04.173284 > 18 bytes data, server => client 17:51:04.173295 '221 bye bye baby\r\n' 17:51:04.174434 ====> Client disconnect 17:51:04.174631 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.113855 Running IPv4 version 17:51:03.113928 Listening on port 33993 17:51:03.113972 Wrote pid 154755 to log/8/server/ftp_sockdata.pid 17:51:03.116172 Received PING (on stdin) 17:51:03.116293 Received PORT (on stdin) 17:51:03.116732 ====> Client connect 17:51:03.127234 Received DATA (on stdin) 17:51:03.127253 > 17 bytes data, server => client 17:51:03.127264 'WE ROOLZ: 81155\r\n' 17:51:03.127296 Received DISC (on stdin) 17:51:03.127310 ====> Client forcibly disconnected 17:51:03.127406 Received QUIT (on stdin) 17:51:03.127417 quits 17:51:03.127493 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1387 === End of file server.cmd === Start of file valgrind1387 ==154932== ==154932== Process terminating with default action of signal 4 (SIGILL) ==154932== Illegal opcode at address 0x4014520 ==154932== at 0x4014520: getparameter (tool_getparam.c:2862) ==154932== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154932== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154932== by 0x4003728: main (tool_main.c:186) === 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/6/valgrind1389 ../src/curl -q --trace-ascii log/6/trace1389 --trace-time ftp://127.0.0.1:36757/path/file1389 -o log/6/download1389 -J -D log/6/heads1389 > log/6/stdout1389 2> log/6/stderr1389 1389: 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 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/6/valgrind1389 ../src/curl -q --trace-ascii log/6/trace1389 --trace-time ftp://127.0.0.1:36757/path/file1389 -o log/6/download1389 -J -D log/6/heads1389 > log/6/stdout1389 2> log/6/stderr1389 === End of file commands.log === Start of file ftp_server.log 17:51:03.435433 ====> Client connect 17:51:03.435633 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.435981 < "USER anonymous" 17:51:03.436028 > "331 We are happy you popped in![CR][LF]" 17:51:03.436220 < "PASS ftp@example.com" 17:51:03.436252 > "230 Welcome you silly person[CR][LF]" 17:51:03.436435 < "PWD" 17:51:03.436472 > "257 "/" is current directory[CR][LF]" 17:51:03.436684 < "EPSV" 17:51:03.436712 ====> Passive DATA channel requested by client 17:51:03.436726 DATA sockfilt for passive data channel starting... 17:51:03.446112 DATA sockfilt for passive data channel started (pid 155066) 17:51:03.447026 DATA sockfilt for passive data channel listens on port 38939 17:51:03.447094 > "229 Entering Passive Mode (|||38939|)[CR][LF]" 17:51:03.447116 Client has been notified that DATA conn will be accepted on port 38939 17:51:03.447686 Client connects to port 38939 17:51:03.447728 ====> Client established passive DATA connection on port 38939 17:51:03.447897 < "TYPE I" 17:51:03.447946 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.448147 < "SIZE verifiedserver" 17:51:03.448193 > "213 17[CR][LF]" 17:51:03.448379 < "RETR verifiedserver" 17:51:03.448422 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.448535 =====> Closing passive DATA connection... 17:51:03.448558 Server disconnects passive DATA connection 17:51:03.448820 Server disconnected passive DATA connection 17:51:03.448850 DATA sockfilt for passive data channel quits (pid 155066) 17:51:03.449128 DATA sockfilt for passive data channel quit (pid 155066) 17:51:03.449160 =====> Closed passive DATA connection 17:51:03.449193 > "226 File transfer complete[CR][LF]" 17:51:03.493520 < "QUIT" 17:51:03.493579 > "221 bye bye baby[CR][LF]" 17:51:03.500067 MAIN sockfilt said DISC 17:51:03.500122 ====> Client disconnected 17:51:03.500205 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:03.281472 ====> Client connect 17:51:03.281832 Received DATA (on stdin) 17:51:03.281848 > 146 bytes data, server => client 17:51:03.281859 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:03.281869 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:03.281879 '220 \___|\___/|_| \_\_____|\r\n' 17:51:03.281993 < 16 bytes data, client => server 17:51:03.282012 'USER anonymous\r\n' 17:51:03.282215 Received DATA (on stdin) 17:51:03.282229 > 33 bytes data, server => client 17:51:03.282240 '331 We are happy you popped in!\r\n' 17:51:03.282297 < 22 bytes data, client => server 17:51:03.282313 'PASS ftp@example.com\r\n' 17:51:03.282435 Received DATA (on stdin) 17:51:03.282448 > 30 bytes data, server => client 17:51:03.282459 '230 Welcome you silly person\r\n' 17:51:03.282513 < 5 bytes data, client => server 17:51:03.282530 'PWD\r\n' 17:51:03.282654 Received DATA (on stdin) 17:51:03.282667 > 30 bytes data, server => client 17:51:03.282677 '257 "/" is current directory\r\n' 17:51:03.282745 < 6 bytes data, client => server 17:51:03.282761 'EPSV\r\n' 17:51:03.293305 Received DATA (on stdin) 17:51:03.293323 > 39 bytes data, server => client 17:51:03.293334 '229 Entering Passive Mode (|||38939|)\r\n' 17:51:03.293937 < 8 bytes data, client => server 17:51:03.293954 'TYPE I\r\n' 17:51:03.294132 Received DATA (on stdin) 17:51:03.294147 > 33 bytes data, server => client 17:51:03.294158 '200 I modify TYPE as you wanted\r\n' 17:51:03.294220 < 21 bytes data, client => server 17:51:03.294237 'SIZE verifiedserver\r\n' 17:51:03.294377 Received DATA (on stdin) 17:51:03.294391 > 8 bytes data, server => client 17:51:03.294401 '213 17\r\n' 17:51:03.294458 < 21 bytes data, client => server 17:51:03.294473 'RETR verifiedserver\r\n' 17:51:03.29CMD (33792): ../libtool --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/valgrind1388 ../src/curl -q --trace-ascii log/13/trace1388 --trace-time ftp://127.0.0.1:32981/path/file1388 -o log/13/download1388 -D - > log/13/stdout1388 2> log/13/stderr1388 CMD (33792): ../libtool --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/valgrind1384 ../src/curl -q --trace-ascii log/24/trace1384 --trace-time ftp://127.0.0.1:39525/path/file1384 -o log/24/download1384 -i -D - > log/24/stdout1384 2> log/24/stderr1384 4840 Received DATA (on stdin) 17:51:03.294854 > 29 bytes data, server => client 17:51:03.294865 '150 Binary junk (17 bytes).\r\n' 17:51:03.295378 Received DATA (on stdin) 17:51:03.295391 > 28 bytes data, server => client 17:51:03.295401 '226 File transfer complete\r\n' 17:51:03.339522 < 6 bytes data, client => server 17:51:03.339551 'QUIT\r\n' 17:51:03.339769 Received DATA (on stdin) 17:51:03.339785 > 18 bytes data, server => client 17:51:03.339795 '221 bye bye baby\r\n' 17:51:03.346171 ====> Client disconnect 17:51:03.346398 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.290277 Running IPv4 version 17:51:03.290336 Listening on port 38939 17:51:03.290373 Wrote pid 155066 to log/6/server/ftp_sockdata.pid 17:51:03.291932 Received PING (on stdin) 17:51:03.293077 Received PORT (on stdin) 17:51:03.293806 ====> Client connect 17:51:03.294744 Received DATA (on stdin) 17:51:03.294760 > 17 bytes data, server => client 17:51:03.294770 'WE ROOLZ: 81072\r\n' 17:51:03.294799 Received DISC (on stdin) 17:51:03.294812 ====> Client forcibly disconnected 17:51:03.295045 Received QUIT (on stdin) 17:51:03.295058 quits 17:51:03.295129 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1389 === End of file server.cmd === Start of file valgrind1389 ==155234== ==155234== Process terminating with default action of signal 4 (SIGILL) ==155234== Illegal opcode at address 0x4014520 ==155234== at 0x4014520: getparameter (tool_getparam.c:2862) ==155234== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==155234== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==155234== by 0x4003728: main (tool_main.c:186) === End of file valgrind1389 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/13/valgrind1388 ../src/curl -q --trace-ascii log/13/trace1388 --trace-time ftp://127.0.0.1:32981/path/file1388 -o log/13/download1388 -D - > log/13/stdout1388 2> log/13/stderr1388 1388: 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 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/13/valgrind1388 ../src/curl -q --trace-ascii log/13/trace1388 --trace-time ftp://127.0.0.1:32981/path/file1388 -o log/13/download1388 -D - > log/13/stdout1388 2> log/13/stderr1388 === End of file commands.log === Start of file ftp_server.log 17:51:03.313787 ====> Client connect 17:51:03.313991 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.314305 < "USER anonymous" 17:51:03.314347 > "331 We are happy you popped in![CR][LF]" 17:51:03.314539 < "PASS ftp@example.com" 17:51:03.314571 > "230 Welcome you silly person[CR][LF]" 17:51:03.316774 < "PWD" 17:51:03.316810 > "257 "/" is current directory[CR][LF]" 17:51:03.317015 < "EPSV" 17:51:03.317045 ====> Passive DATA channel requested by client 17:51:03.317062 DATA sockfilt for passive data channel starting... 17:51:03.337633 DATA sockfilt for passive data channel started (pid 154856) 17:51:03.337792 DATA sockfilt for passive data channel listens on port 43423 17:51:03.337846 > "229 Entering Passive Mode (|||43423|)[CR][LF]" 17:51:03.337870 Client has been notified that DATA conn will be accepted on port 43423 17:51:03.344648 Client connects to port 43423 17:51:03.344710 ====> Client established passive DATA connection on port 43423 17:51:03.344828 < "TYPE I" 17:51:03.344874 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.346965 < "SIZE verifiedserver" 17:51:03.347030 > "213 17[CR][LF]" 17:51:03.347230 < "RETR verifiedserver" 17:51:03.347276 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.347381 =====> Closing passive DATA connection... 17:51:03.347405 Server disconnects passive DATA connection 17:51:03.347579 Server disconnected passive DATA connection 17:51:03.347606 DATA sockfilt for passive data channel quits (pid 154856) 17:51:03.347861 DATA sockfilt for passive data channel quit (pid 154856) 17:51:03.347889 =====> Closed passive DATA connection 17:51:03.347922 > "226 File transfer complete[CR][LF]" 17:51:03.397059 < "QUIT" 17:51:03.397137 > "221 bye bye baby[CR][LF]" 17:51:03.398541 MAIN sockfilt said DISC 17:51:03.398589 ====> Client disconnected 17:51:03.398683 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:03.159835 ====> Client connect 17:51:03.160190 Received DATA (on stdin) 17:51:03.160209 > 146 bytes data, server => client 17:51:03.160221 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:03.160231 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:03.160240 '220 \___|\___/|_| \_\_____|\r\n' 17:51:03.160321 < 16 bytes data, client => server 17:51:03.160337 'USER anonymous\r\n' 17:51:03.160534 Received DATA (on stdin) 17:51:03.160548 > 33 bytes data, server => client 17:51:03.160558 '331 We are happy you popped in!\r\n' 17:51:03.160613 < 22 bytes data, client => server 17:51:03.160628 'PASS ftp@example.com\r\n' 17:51:03.160753 Received DATA (on stdin) 17:51:03.160767 > 30 bytes data, server => client 17:51:03.160776 '230 Welcome you silly person\r\n' 17:51:03.162836 < 5 bytes data, client => server 17:51:03.162859 'PWD\r\n' 17:51:03.162993 Received DATA (on stdin) 17:51:03.163006 > 30 bytes data, server => client 17:51:03.163017 '257 "/" is current directory\r\n' 17:51:03.163096 < 6 bytes data, client => server 17:51:03.163112 'EPSV\r\n' 17:51:03.185437 Received DATA (on stdin) 17:51:03.185465 > 39 bytes data, server => client 17:51:03.185477 '229 Entering Passive Mode (|||43423|)\r\n' 17:51:03.185693 < 8 bytes data, client => server 17:51:03.185713 'TYPE I\r\n' 17:51:03.192860 Received DATA (on stdin) 17:51:03.192886 > 33 bytes data, server => client 17:51:03.192897 '200 I modify TYPE as you wanted\r\n' 17:51:03.193000 < 21 bytes data, client => server 17:51:03.193017 'SIZE verifiedserver\r\n' 17:51:03.193216 Received DATA (on stdin) 17:51:03.193230 > 8 bytes data, server => client 17:51:03.193240 '213 17\r\n' 17:51:03.193307 < 21 bytes data, client => server 17:51:03.193321 'RETR verifiedserver\r\n' 17:51:03.193687 Received DATA (on stdin) 17:51:03.193699 > 29 bytes data, server => client 17:51:03.193710 '150 Binary junk (17 bytes).\r\n' 17:51:03.194105 Received DATA (on stdin) 17:51:03.194117 > 28 bytes data, server => client 17:51:03.194128 '226 File transfer complete\r\n' 17:51:03.242983 < 6 bytes data, client => server 17:51:03.243022 'QUIT\r\n' 17:51:03.243329 Received DATA (on stdin) 17:51:03.243346 > 18 bytes data, server => client 17:51:03.243355 '221 bye bye baby\r\n' 17:51:03.244647 ====> Client disconnect 17:51:03.244875 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.177560 Running IPv4 version 17:51:03.177648 Listening on port 43423 17:51:03.177690 Wrote pid 154856 to log/13/server/ftp_sockdata.pid 17:51:03.183718 Received PING (on stdin) 17:51:03.183868 Received PORT (on stdin) 17:51:03.189506 ====> Client connect 17:51:03.193590 Received DATA (on stdin) 17:51:03.193607 > 17 bytes data, server => client 17:51:03.193618 'WE ROOLZ: 80972\r\n' 17:51:03.193648 Received DISC (on stdin) 17:51:03.193660 ====> Client forcibly disconnected 17:51:03.193794 Received QUIT (on stdin) 17:51:03.193805 quits 17:51:03.193883 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1388 === End of file server.cmd === Start of file valgrind1388 ==155050== ==155050== Process terminating with defaultCMD (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/10/valgrind1399 ./unit/units unit1399 - > log/10/stdout1399 2> log/10/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/23/valgrind1398 ./unit/units unit1398 - > log/23/stdout1398 2> log/23/stderr1398 action of signal 4 (SIGILL) ==155050== Illegal opcode at address 0x4014520 ==155050== at 0x4014520: getparameter (tool_getparam.c:2862) ==155050== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==155050== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==155050== by 0x4003728: main (tool_main.c:186) === End of file valgrind1388 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/24/valgrind1384 ../src/curl -q --trace-ascii log/24/trace1384 --trace-time ftp://127.0.0.1:39525/path/file1384 -o log/24/download1384 -i -D - > log/24/stdout1384 2> log/24/stderr1384 1384: 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 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/24/valgrind1384 ../src/curl -q --trace-ascii log/24/trace1384 --trace-time ftp://127.0.0.1:39525/path/file1384 -o log/24/download1384 -i -D - > log/24/stdout1384 2> log/24/stderr1384 === End of file commands.log === Start of file ftp_server.log 17:51:03.189183 ====> Client connect 17:51:03.189355 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.189651 < "USER anonymous" 17:51:03.189685 > "331 We are happy you popped in![CR][LF]" 17:51:03.190136 < "PASS ftp@example.com" 17:51:03.190166 > "230 Welcome you silly person[CR][LF]" 17:51:03.190314 < "PWD" 17:51:03.190345 > "257 "/" is current directory[CR][LF]" 17:51:03.190496 < "EPSV" 17:51:03.190519 ====> Passive DATA channel requested by client 17:51:03.190533 DATA sockfilt for passive data channel starting... 17:51:03.196628 DATA sockfilt for passive data channel started (pid 154669) 17:51:03.196787 DATA sockfilt for passive data channel listens on port 40743 17:51:03.196906 > "229 Entering Passive Mode (|||40743|)[CR][LF]" 17:51:03.196938 Client has been notified that DATA conn will be accepted on port 40743 17:51:03.197715 Client connects to port 40743 17:51:03.197746 ====> Client established passive DATA connection on port 40743 17:51:03.197838 < "TYPE I" 17:51:03.197881 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.198445 < "SIZE verifiedserver" 17:51:03.198495 > "213 17[CR][LF]" 17:51:03.198830 < "RETR verifiedserver" 17:51:03.198874 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.198981 =====> Closing passive DATA connection... 17:51:03.199006 Server disconnects passive DATA connection 17:51:03.199894 Server disconnected passive DATA connection 17:51:03.199929 DATA sockfilt for passive data channel quits (pid 154669) 17:51:03.200938 DATA sockfilt for passive data channel quit (pid 154669) 17:51:03.200959 =====> Closed passive DATA connection 17:51:03.200987 > "226 File transfer complete[CR][LF]" 17:51:03.240285 < "QUIT" 17:51:03.240337 > "221 bye bye baby[CR][LF]" 17:51:03.241581 MAIN sockfilt said DISC 17:51:03.241614 ====> Client disconnected 17:51:03.241686 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:04.033141 ====> Client connect 17:51:04.035546 Received DATA (on stdin) 17:51:04.035564 > 146 bytes data, server => client 17:51:04.035575 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:04.035585 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:04.035594 '220 \___|\___/|_| \_\_____|\r\n' 17:51:04.035686 < 16 bytes data, client => server 17:51:04.035698 'USER anonymous\r\n' 17:51:04.035864 Received DATA (on stdin) 17:51:04.035876 > 33 bytes data, server => client 17:51:04.035885 '331 We are happy you popped in!\r\n' 17:51:04.035934 < 22 bytes data, client => server 17:51:04.035944 'PASS ftp@example.com\r\n' 17:51:04.036344 Received DATA (on stdin) 17:51:04.036356 > 30 bytes data, server => client 17:51:04.036366 '230 Welcome you silly person\r\n' 17:51:04.036414 < 5 bytes data, client => server 17:51:04.036423 'PWD\r\n' 17:51:04.036519 Received DATA (on stdin) 17:51:04.036530 > 30 bytes data, server => client 17:51:04.036539 '257 "/" is current directory\r\n' 17:51:04.036597 < 6 bytes data, client => server 17:51:04.036607 'EPSV\r\n' 17:51:04.043005 Received DATA (on stdin) 17:51:04.043026 > 39 bytes data, server => client 17:51:04.043127 '229 Entering Passive Mode (|||40743|)\r\n' 17:51:04.043334 < 8 bytes data, client => server 17:51:04.043354 'TYPE I\r\n' 17:51:04.044067 Received DATA (on stdin) 17:51:04.044080 > 33 bytes data, server => client 17:51:04.044090 '200 I modify TYPE as you wanted\r\n' 17:51:04.044151 < 21 bytes data, client => server 17:51:04.044162 'SIZE verifiedserver\r\n' 17:51:04.044677 Received DATA (on stdin) 17:51:04.044690 > 8 bytes data, server => client 17:51:04.044700 '213 17\r\n' 17:51:04.044759 < 21 bytes data, client => server 17:51:04.044774 'RETR verifiedserver\r\n' 17:51:04.045189 Received DATA (on stdin) 17:51:04.045202 > 29 bytes data, server => client 17:51:04.045212 '150 Binary junk (17 bytes).\r\n' 17:51:04.047164 Received DATA (on stdin) 17:51:04.047175 > 28 bytes data, server => client 17:51:04.047184 '226 File transfer complete\r\n' 17:51:04.086285 < 6 bytes data, client => server 17:51:04.086310 'QUIT\r\n' 17:51:04.086517 Received DATA (on stdin) 17:51:04.086527 > 18 bytes data, server => client 17:51:04.086537 '221 bye bye baby\r\n' 17:51:04.087704 ====> Client disconnect 17:51:04.087862 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.040829 Running IPv4 version 17:51:03.040900 Listening on port 40743 17:51:03.040950 Wrote pid 154669 to log/24/server/ftp_sockdata.pid 17:51:03.042732 Received PING (on stdin) 17:51:03.042856 Received PORT (on stdin) 17:51:03.043825 ====> Client connect 17:51:03.045278 Received DATA (on stdin) 17:51:03.045296 > 17 bytes data, server => client 17:51:03.045307 'WE ROOLZ: 81152\r\n' 17:51:03.045339 Received DISC (on stdin) 17:51:03.045353 ====> Client forcibly disconnected 17:51:03.046124 Received QUIT (on stdin) 17:51:03.046138 quits 17:51:03.046214 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1384 === End of file server.cmd === Start of file valgrind1384 ==154761== ==154761== Process terminating with default action of signal 4 (SIGILL) ==154761== Illegal opcode at address 0x4014520 ==154761== at 0x4014520: getparameter (tool_getparam.c:2862) ==154761== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154761== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154761== by 0x4003728: main (tool_main.c:186) === End of file valgrind1384 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/10/valgrind1399 ./unit/units unit1399 - > log/10/stdout1399 2> log/10/stderr1399 -------e-v- OK (1333 out of 1760, remaining: 00:42, took 1.020s, duration: 02:14) test 1398...[curl_msnprintf 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/23/valgrind1398 ./unit/units unit1398 - > log/23/stdout1398 2> log/23/stderr1398 units returned 132, when expecting 0 1398: exit FAILED == Contents of files in the log/23/ 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/23/valgrind1398 ./unit/units unit1398 - > log/23/stdout1398 2> log/23/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/9/valgrind1383 ../src/curl -q --trace-ascii log/9/trace1383 --trace-time ftp://127.0.0.1:36391/path/file1383 -o log/9/download1383 -i -D log/9/heads1383 > log/9/stdout1383 2> log/9/stderr1383 CMD (33792): ../libtool --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/valgrind1392 ../src/curl -q --trace-ascii log/12/trace1392 --trace-time ftp://127.0.0.1:38035/path/file1392 -o log/12/download1392 -i -D - > log/12/stdout1392 2> log/12/stderr1392 tderr1398 === End of file commands.log === Start of file server.cmd Testnum 1398 === End of file server.cmd === Start of file stderr1398 URL: - === End of file stderr1398 === Start of file valgrind1398 ==155715== ==155715== Process terminating with default action of signal 4 (SIGILL) ==155715== Illegal opcode at address 0x400F22D ==155715== at 0x400F22D: test_unit1398.lto_priv.0 (unit1398.c:87) ==155715== by 0x400B165: main (first.c:279) === End of file valgrind1398 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/9/valgrind1383 ../src/curl -q --trace-ascii log/9/trace1383 --trace-time ftp://127.0.0.1:36391/path/file1383 -o log/9/download1383 -i -D log/9/heads1383 > log/9/stdout1383 2> log/9/stderr1383 1383: 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 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/9/valgrind1383 ../src/curl -q --trace-ascii log/9/trace1383 --trace-time ftp://127.0.0.1:36391/path/file1383 -o log/9/download1383 -i -D log/9/heads1383 > log/9/stdout1383 2> log/9/stderr1383 === End of file commands.log === Start of file ftp_server.log 17:51:03.189818 ====> Client connect 17:51:03.189973 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.191340 < "USER anonymous" 17:51:03.191381 > "331 We are happy you popped in![CR][LF]" 17:51:03.191532 < "PASS ftp@example.com" 17:51:03.191558 > "230 Welcome you silly person[CR][LF]" 17:51:03.191694 < "PWD" 17:51:03.191723 > "257 "/" is current directory[CR][LF]" 17:51:03.191863 < "EPSV" 17:51:03.191889 ====> Passive DATA channel requested by client 17:51:03.191902 DATA sockfilt for passive data channel starting... 17:51:03.196504 DATA sockfilt for passive data channel started (pid 154672) 17:51:03.197310 DATA sockfilt for passive data channel listens on port 36083 17:51:03.197384 > "229 Entering Passive Mode (|||36083|)[CR][LF]" 17:51:03.197411 Client has been notified that DATA conn will be accepted on port 36083 17:51:03.198030 Client connects to port 36083 17:51:03.198067 ====> Client established passive DATA connection on port 36083 17:51:03.198178 < "TYPE I" 17:51:03.198228 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.198692 < "SIZE verifiedserver" 17:51:03.199290 > "213 17[CR][LF]" 17:51:03.199480 < "RETR verifiedserver" 17:51:03.199530 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.199623 =====> Closing passive DATA connection... 17:51:03.199645 Server disconnects passive DATA connection 17:51:03.200181 Server disconnected passive DATA connection 17:51:03.200213 DATA sockfilt for passive data channel quits (pid 154672) 17:51:03.200818 DATA sockfilt for passive data channel quit (pid 154672) 17:51:03.200851 =====> Closed passive DATA connection 17:51:03.200878 > "226 File transfer complete[CR][LF]" 17:51:03.243677 < "QUIT" 17:51:03.243735 > "221 bye bye baby[CR][LF]" 17:51:03.244900 MAIN sockfilt said DISC 17:51:03.244936 ====> Client disconnected 17:51:03.245037 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:03.035255 ====> Client connect 17:51:03.036177 Received DATA (on stdin) 17:51:03.036193 > 146 bytes data, server => client 17:51:03.036203 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:03.036214 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:03.036222 '220 \___|\___/|_| \_\_____|\r\n' 17:51:03.037366 < 16 bytes data, client => server 17:51:03.037382 'USER anonymous\r\n' 17:51:03.037561 Received DATA (on stdin) 17:51:03.037572 > 33 bytes data, server => client 17:51:03.037581 '331 We are happy you popped in!\r\n' 17:51:03.037628 < 22 bytes data, client => server 17:51:03.037639 'PASS ftp@example.com\r\n' 17:51:03.037734 Received DATA (on stdin) 17:51:03.037743 > 30 bytes data, server => client 17:51:03.037753 '230 Welcome you silly person\r\n' 17:51:03.037797 < 5 bytes data, client => server 17:51:03.037806 'PWD\r\n' 17:51:03.037898 Received DATA (on stdin) 17:51:03.037908 > 30 bytes data, server => client 17:51:03.037917 '257 "/" is current directory\r\n' 17:51:03.037966 < 6 bytes data, client => server 17:51:03.037976 'EPSV\r\n' 17:51:03.043606 Received DATA (on stdin) 17:51:03.043626 > 39 bytes data, server => client 17:51:03.043637 '229 Entering Passive Mode (|||36083|)\r\n' 17:51:03.043783 < 8 bytes data, client => server 17:51:03.043801 'TYPE I\r\n' 17:51:03.044417 Received DATA (on stdin) 17:51:03.044432 > 33 bytes data, server => client 17:51:03.044442 '200 I modify TYPE as you wanted\r\n' 17:51:03.044503 < 21 bytes data, client => server 17:51:03.044516 'SIZE verifiedserver\r\n' 17:51:03.044902 Received DATA (on stdin) 17:51:03.044919 > 8 bytes data, server => client 17:51:03.045481 '213 17\r\n' 17:51:03.045543 < 21 bytes data, client => server 17:51:03.045563 'RETR verifiedserver\r\n' 17:51:03.045827 Received DATA (on stdin) 17:51:03.045841 > 29 bytes data, server => client 17:51:03.045851 '150 Binary junk (17 bytes).\r\n' 17:51:03.047056 Received DATA (on stdin) 17:51:03.047067 > 28 bytes data, server => client 17:51:03.047076 '226 File transfer complete\r\n' 17:51:03.089658 < 6 bytes data, client => server 17:51:03.089684 'QUIT\r\n' 17:51:03.089925 Received DATA (on stdin) 17:51:03.089939 > 18 bytes data, server => client 17:51:03.089950 '221 bye bye baby\r\n' 17:51:03.091023 ====> Client disconnect 17:51:03.091227 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.041771 Running IPv4 version 17:51:03.041834 Listening on port 36083 17:51:03.041877 Wrote pid 154672 to log/9/server/ftp_sockdata.pid 17:51:03.042609 Received PING (on stdin) 17:51:03.043375 Received PORT (on stdin) 17:51:03.043849 ====> Client connect 17:51:03.045879 Received DATA (on stdin) 17:51:03.045895 > 17 bytes data, server => client 17:51:03.045906 'WE ROOLZ: 80975\r\n' 17:51:03.045932 Received DISC (on stdin) 17:51:03.045945 ====> Client forcibly disconnected 17:51:03.046404 Received QUIT (on stdin) 17:51:03.046417 quits 17:51:03.046473 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1383 === End of file server.cmd === Start of file valgrind1383 ==154758== ==154758== Process terminating with default action of signal 4 (SIGILL) ==154758== Illegal opcode at address 0x4014520 ==154758== at 0x4014520: getparameter (tool_getparam.c:2862) ==154758== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==154758== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==154758== by 0x4003728: main (tool_main.c:186) === End of file valgrind1383 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/12/valgrind1392 ../src/curl -q --trace-ascii log/12/trace1392 --trace-time ftp://127.0.0.1:38035/path/file1392 -o log/12/download1392 -i -D - > log/12/stdout1392 2> log/12/stderr1392 1392: 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 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/12/valgrind1392 ../src/curl -q --trace-ascii log/12/trace1392 --trace-time ftp://127.0.0.1:380CMD (33792): ../libtool --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/valgrind1393 ../src/curl -q --trace-ascii log/3/trace1393 --trace-time ftp://127.0.0.1:35383/path/file1393 -o log/3/download1393 -i > log/3/stdout1393 2> log/3/stderr1393 35/path/file1392 -o log/12/download1392 -i -D - > log/12/stdout1392 2> log/12/stderr1392 === End of file commands.log === Start of file ftp_server.log 17:51:03.585575 ====> Client connect 17:51:03.585733 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:03.586027 < "USER anonymous" 17:51:03.586058 > "331 We are happy you popped in![CR][LF]" 17:51:03.586196 < "PASS ftp@example.com" 17:51:03.586217 > "230 Welcome you silly person[CR][LF]" 17:51:03.586340 < "PWD" 17:51:03.586365 > "257 "/" is current directory[CR][LF]" 17:51:03.586497 < "EPSV" 17:51:03.586521 ====> Passive DATA channel requested by client 17:51:03.586533 DATA sockfilt for passive data channel starting... 17:51:03.589155 DATA sockfilt for passive data channel started (pid 155235) 17:51:03.589287 DATA sockfilt for passive data channel listens on port 44899 17:51:03.589337 > "229 Entering Passive Mode (|||44899|)[CR][LF]" 17:51:03.589356 Client has been notified that DATA conn will be accepted on port 44899 17:51:03.589627 Client connects to port 44899 17:51:03.589658 ====> Client established passive DATA connection on port 44899 17:51:03.589791 < "TYPE I" 17:51:03.589823 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:03.589983 < "SIZE verifiedserver" 17:51:03.590053 > "213 17[CR][LF]" 17:51:03.590213 < "RETR verifiedserver" 17:51:03.590252 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:03.590344 =====> Closing passive DATA connection... 17:51:03.590363 Server disconnects passive DATA connection 17:51:03.590528 Server disconnected passive DATA connection 17:51:03.590555 DATA sockfilt for passive data channel quits (pid 155235) 17:51:03.590818 DATA sockfilt for passive data channel quit (pid 155235) 17:51:03.590845 =====> Closed passive DATA connection 17:51:03.590877 > "226 File transfer complete[CR][LF]" 17:51:03.643573 < "QUIT" 17:51:03.643630 > "221 bye bye baby[CR][LF]" 17:51:03.651085 MAIN sockfilt said DISC 17:51:03.651154 ====> Client disconnected 17:51:03.651241 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:03.431624 ====> Client connect 17:51:03.431950 Received DATA (on stdin) 17:51:03.431965 > 146 bytes data, server => client 17:51:03.431976 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:03.431984 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:03.431992 '220 \___|\___/|_| \_\_____|\r\n' 17:51:03.432061 < 16 bytes data, client => server 17:51:03.432070 'USER anonymous\r\n' 17:51:03.432235 Received DATA (on stdin) 17:51:03.432244 > 33 bytes data, server => client 17:51:03.432254 '331 We are happy you popped in!\r\n' 17:51:03.432297 < 22 bytes data, client => server 17:51:03.432306 'PASS ftp@example.com\r\n' 17:51:03.432390 Received DATA (on stdin) 17:51:03.432399 > 30 bytes data, server => client 17:51:03.432408 '230 Welcome you silly person\r\n' 17:51:03.432447 < 5 bytes data, client => server 17:51:03.432456 'PWD\r\n' 17:51:03.432538 Received DATA (on stdin) 17:51:03.432547 > 30 bytes data, server => client 17:51:03.432556 '257 "/" is current directory\r\n' 17:51:03.432604 < 6 bytes data, client => server 17:51:03.432613 'EPSV\r\n' 17:51:03.435545 Received DATA (on stdin) 17:51:03.435562 > 39 bytes data, server => client 17:51:03.435573 '229 Entering Passive Mode (|||44899|)\r\n' 17:51:03.435857 < 8 bytes data, client => server 17:51:03.435869 'TYPE I\r\n' 17:51:03.436001 Received DATA (on stdin) 17:51:03.436012 > 33 bytes data, server => client 17:51:03.436023 '200 I modify TYPE as you wanted\r\n' 17:51:03.436074 < 21 bytes data, client => server 17:51:03.436085 'SIZE verifiedserver\r\n' 17:51:03.436233 Received DATA (on stdin) 17:51:03.436245 > 8 bytes data, server => client 17:51:03.436254 '213 17\r\n' 17:51:03.436304 < 21 bytes data, client => server 17:51:03.436319 'RETR verifiedserver\r\n' 17:51:03.436545 Received DATA (on stdin) 17:51:03.436557 > 29 bytes data, server => client 17:51:03.436568 '150 Binary junk (17 bytes).\r\n' 17:51:03.437057 Received DATA (on stdin) 17:51:03.437069 > 28 bytes data, server => client 17:51:03.437080 '226 File transfer complete\r\n' 17:51:03.489560 < 6 bytes data, client => server 17:51:03.489595 'QUIT\r\n' 17:51:03.489816 Received DATA (on stdin) 17:51:03.489828 > 18 bytes data, server => client 17:51:03.489838 '221 bye bye baby\r\n' 17:51:03.496184 ====> Client disconnect 17:51:03.497425 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:03.434985 Running IPv4 version 17:51:03.435056 Listening on port 44899 17:51:03.435100 Wrote pid 155235 to log/12/server/ftp_sockdata.pid 17:51:03.435271 Received PING (on stdin) 17:51:03.435369 Received PORT (on stdin) 17:51:03.435751 ====> Client connect 17:51:03.436593 Received DATA (on stdin) 17:51:03.436605 > 17 bytes data, server => client 17:51:03.436615 'WE ROOLZ: 81047\r\n' 17:51:03.436641 Received DISC (on stdin) 17:51:03.436654 ====> Client forcibly disconnected 17:51:03.436742 Received QUIT (on stdin) 17:51:03.436752 quits 17:51:03.436829 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1392 === End of file server.cmd === Start of file valgrind1392 ==155347== ==155347== Process terminating with default action of signal 4 (SIGILL) ==155347== Illegal opcode at address 0x4014520 ==155347== at 0x4014520: getparameter (tool_getparam.c:2862) ==155347== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==155347== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==155347== by 0x4003728: main (tool_main.c:186) === End of file valgrind1392 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/3/valgrind1393 ../src/curl -q --trace-ascii log/3/trace1393 --trace-time ftp://127.0.0.1:35383/path/file1393 -o log/3/download1393 -i > log/3/stdout1393 2> log/3/stderr1393 1393: 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 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/3/valgrind1393 ../src/curl -q --trace-ascii log/3/trace1393 --trace-time ftp://127.0.0.1:35383/path/file1393 -o log/3/download1393 -i > log/3/stdout1393 2> log/3/stderr1393 === End of file commands.log === Start of file ftp_server.log 17:51:04.103163 ====> Client connect 17:51:04.103349 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:04.103644 < "USER anonymous" 17:51:04.103679 > "331 We are happy you popped in![CR][LF]" 17:51:04.103845 < "PASS ftp@example.com" 17:51:04.103874 > "230 Welcome you silly person[CR][LF]" 17:51:04.104024 < "PWD" 17:51:04.104057 > "257 "/" is current directory[CR][LF]" 17:51:04.104210 < "EPSV" 17:51:04.104236 ====> Passive DATA channel requested by client 17:51:04.104250 DATA sockfilt for passive data channel starting... 17:51:04.113430 DATA sockfilt for passive data channel started (pid 155472) 17:51:04.113588 DATA sockfilt for passive data channel listens on port 42457 17:51:04.113638 > "229 Entering Passive Mode (|||42457|)[CR][LF]" 17:51:04.113654 Client has been notified that DATA conn will be accepted on port 42457 17:51:04.113963 Client connects to port 42457 17:51:04.113990 ====> Client established passive DATA connection on port 42457 17:51:04.114080 < "TYPE I" 17:51:04.114111 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:04.114252 < "SIZE verifiedserver" 17:51:04.114288 > "213 17[CR][LF]" 17:51:04.114422CMD (33792): ../libtool --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/valgrind1396 ./unit/units unit1396 - > log/1/stdout1396 2> log/1/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/valgrind1400 ../src/curl -q --output log/19/curl1400.out --include --trace-ascii log/19/trace1400 --trace-time http://127.0.0.1:36987/we/want/1400 --libcurl log/19/test1400.c > log/19/stdout1400 2> log/19/stderr1400 < "RETR verifiedserver" 17:51:04.114456 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:04.114553 =====> Closing passive DATA connection... 17:51:04.114569 Server disconnects passive DATA connection 17:51:04.114715 Server disconnected passive DATA connection 17:51:04.114734 DATA sockfilt for passive data channel quits (pid 155472) 17:51:04.115020 DATA sockfilt for passive data channel quit (pid 155472) 17:51:04.115041 =====> Closed passive DATA connection 17:51:04.115068 > "226 File transfer complete[CR][LF]" 17:51:04.166906 < "QUIT" 17:51:04.166966 > "221 bye bye baby[CR][LF]" 17:51:04.170468 MAIN sockfilt said DISC 17:51:04.170554 ====> Client disconnected 17:51:04.170653 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:03.949208 ====> Client connect 17:51:03.949544 Received DATA (on stdin) 17:51:03.949558 > 146 bytes data, server => client 17:51:03.949569 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:03.949578 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:03.949586 '220 \___|\___/|_| \_\_____|\r\n' 17:51:03.949677 < 16 bytes data, client => server 17:51:03.949688 'USER anonymous\r\n' 17:51:03.949860 Received DATA (on stdin) 17:51:03.949871 > 33 bytes data, server => client 17:51:03.949880 '331 We are happy you popped in!\r\n' 17:51:03.949930 < 22 bytes data, client => server 17:51:03.949942 'PASS ftp@example.com\r\n' 17:51:03.950052 Received DATA (on stdin) 17:51:03.950063 > 30 bytes data, server => client 17:51:03.950073 '230 Welcome you silly person\r\n' 17:51:03.950120 < 5 bytes data, client => server 17:51:03.950130 'PWD\r\n' 17:51:03.950233 Received DATA (on stdin) 17:51:03.950243 > 30 bytes data, server => client 17:51:03.950252 '257 "/" is current directory\r\n' 17:51:03.950307 < 6 bytes data, client => server 17:51:03.950317 'EPSV\r\n' 17:51:03.959841 Received DATA (on stdin) 17:51:03.959857 > 39 bytes data, server => client 17:51:03.959869 '229 Entering Passive Mode (|||42457|)\r\n' 17:51:03.960089 < 8 bytes data, client => server 17:51:03.960100 'TYPE I\r\n' 17:51:03.960288 Received DATA (on stdin) 17:51:03.960299 > 33 bytes data, server => client 17:51:03.960309 '200 I modify TYPE as you wanted\r\n' 17:51:03.960354 < 21 bytes data, client => server 17:51:03.960364 'SIZE verifiedserver\r\n' 17:51:03.960464 Received DATA (on stdin) 17:51:03.960473 > 8 bytes data, server => client 17:51:03.960483 '213 17\r\n' 17:51:03.960525 < 21 bytes data, client => server 17:51:03.960535 'RETR verifiedserver\r\n' 17:51:03.960828 Received DATA (on stdin) 17:51:03.960838 > 29 bytes data, server => client 17:51:03.960849 '150 Binary junk (17 bytes).\r\n' 17:51:03.961245 Received DATA (on stdin) 17:51:03.961257 > 28 bytes data, server => client 17:51:03.961267 '226 File transfer complete\r\n' 17:51:04.012859 < 6 bytes data, client => server 17:51:04.012903 'QUIT\r\n' 17:51:04.013149 Received DATA (on stdin) 17:51:04.013161 > 18 bytes data, server => client 17:51:04.013171 '221 bye bye baby\r\n' 17:51:04.016183 ====> Client disconnect 17:51:04.016847 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:04.953966 Running IPv4 version 17:51:04.954033 Listening on port 42457 17:51:04.954069 Wrote pid 155472 to log/3/server/ftp_sockdata.pid 17:51:04.959506 Received PING (on stdin) 17:51:04.959659 Received PORT (on stdin) 17:51:04.960064 ====> Client connect 17:51:04.960747 Received DATA (on stdin) 17:51:04.960758 > 17 bytes data, server => client 17:51:04.960768 'WE ROOLZ: 81126\r\n' 17:51:04.960794 Received DISC (on stdin) 17:51:04.960804 ====> Client forcibly disconnected 17:51:04.960918 Received QUIT (on stdin) 17:51:04.960927 quits 17:51:04.961004 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1393 === End of file server.cmd === Start of file valgrind1393 ==155478== ==155478== Process terminating with default action of signal 4 (SIGILL) ==155478== Illegal opcode at address 0x4014520 ==155478== at 0x4014520: getparameter (tool_getparam.c:2862) ==155478== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==155478== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==155478== by 0x4003728: main (tool_main.c:186) === End of file valgrind1393 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/1/valgrind1396 ./unit/units unit1396 - > log/1/stdout1396 2> log/1/stderr1396 units returned 132, when expecting 0 1396: exit FAILED == Contents of files in the log/1/ 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/1/valgrind1396 ./unit/units unit1396 - > log/1/stdout1396 2> log/1/stderr1396 === End of file commands.log === Start of file server.cmd Testnum 1396 === End of file server.cmd === Start of file stderr1396 URL: - === End of file stderr1396 === Start of file valgrind1396 ==155625== ==155625== Process terminating with default action of signal 4 (SIGILL) ==155625== Illegal opcode at address 0x408094F ==155625== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==155625== by 0x408094F: UnknownInlinedFun (request.c:40) ==155625== by 0x408094F: Curl_open (url.c:502) ==155625== by 0x4040E25: curl_easy_init (easy.c:365) ==155625== by 0x4031350: test_unit1396.part.0.lto_priv.0 (unit1396.c:85) ==155625== by 0x400B165: main (first.c:279) ==155625== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==155625== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==155625== by 0x408085D: Curl_open (url.c:479) ==155625== by 0x4040E25: curl_easy_init (easy.c:365) ==155625== by 0x4031350: test_unit1396.part.0.lto_priv.0 (unit1396.c:85) ==155625== by 0x400B165: main (first.c:279) ==155625== === End of file valgrind1396 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/19/valgrind1400 ../src/curl -q --output log/19/curl1400.out --include --trace-ascii log/19/trace1400 --trace-time http://127.0.0.1:36987/we/want/1400 --libcurl log/19/test1400.c > log/19/stdout1400 2> log/19/stderr1400 1400: 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 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/19/valgrind1400 ../src/curl -q --output log/19/curl1400.out --include --trace-ascii log/19/trace1400 --trace-time http://127.0.0.1:36987/we/want/1400 --libcurl log/19/test1400.c > log/19/stdout1400 2> log/19/stderr1400 === End of file commands.log === Start of file http_server.log 17:51:04.941458 ====> Client connect 17:51:04.941495 accept_connection 3 returned 4 17:51:04.941512 accept_connection 3 returned 0 17:51:04.941527 Read 93 bytes 17:51:04.941537 Process 93 bytes request 17:51:04.941551 Got request: GET /verifiedserver HTTP/1.1 17:51:04.941561 Are-we-friendly question received 17:51:04.941591 Wrote request (93 bytes) input to log/19/server.input 17:51:04.941608 Identifying ourselves as friends 17:51:04.941670 Response sent (56 bytes) and written to log/19/server.response 17:51:04.941680 special request received, no persistency 17:51:04.941689 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 45308 * using HTTP/1.x > GET /verifiedserver HTTP/1.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/valgrind1404 ../src/curl -q --output log/16/curl1404.out --include --trace-ascii log/16/trace1404 --trace-time http://127.0.0.1:40899/we/want/1404 -F name=value -F 'file=@log/16/test1404.txt,log/16/test1404.txt;type=magic/content;encoder=8bit,log/16/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/16/test1404.c > log/16/stdout1404 2> log/16/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/15/valgrind1403 ../src/curl -q --output log/15/curl1403.out --include --trace-ascii log/15/trace1403 --trace-time http://127.0.0.1:41057/we/want/1403 --libcurl log/15/test1403.c -G -d "foo=bar" -d "baz=quux" > log/15/stdout1403 2> log/15/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/7/valgrind1402 ../src/curl -q --output log/7/curl1402.out --include --trace-ascii log/7/trace1402 --trace-time http://127.0.0.1:35671/we/want/1402 --libcurl log/7/test1402.c -d "foo=bar" -d "baz=quux" > log/7/stdout1402 2> log/7/stderr1402 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1400 ==155818== ==155818== Process terminating with default action of signal 4 (SIGILL) ==155818== Illegal opcode at address 0x4014520 ==155818== at 0x4014520: getparameter (tool_getparam.c:2862) ==155818== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==155818== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==155818== by 0x4003728: main (tool_main.c:186) === End of file valgrind1400 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/16/valgrind1404 ../src/curl -q --output log/16/curl1404.out --include --trace-ascii log/16/trace1404 --trace-time http://127.0.0.1:40899/we/want/1404 -F name=value -F 'file=@log/16/test1404.txt,log/16/test1404.txt;type=magic/content;encoder=8bit,log/16/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/16/test1404.c > log/16/stdout1404 2> log/16/stderr1404 1404: 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 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/16/valgrind1404 ../src/curl -q --output log/16/curl1404.out --include --trace-ascii log/16/trace1404 --trace-time http://127.0.0.1:40899/we/want/1404 -F name=value -F 'file=@log/16/test1404.txt,log/16/test1404.txt;type=magic/content;encoder=8bit,log/16/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/16/test1404.c > log/16/stdout1404 2> log/16/stderr1404 === End of file commands.log === Start of file http_server.log 17:51:05.202543 ====> Client connect 17:51:05.202584 accept_connection 3 returned 4 17:51:05.202602 accept_connection 3 returned 0 17:51:05.202618 Read 93 bytes 17:51:05.202628 Process 93 bytes request 17:51:05.202642 Got request: GET /verifiedserver HTTP/1.1 17:51:05.202651 Are-we-friendly question received 17:51:05.202681 Wrote request (93 bytes) input to log/16/server.input 17:51:05.202698 Identifying ourselves as friends 17:51:05.202763 Response sent (56 bytes) and written to log/16/server.response 17:51:05.202774 special request received, no persistency 17:51:05.202783 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 45618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file test1404.txt dummy data === End of file test1404.txt === Start of file valgrind1404 ==156048== ==156048== Process terminating with default action of signal 4 (SIGILL) ==156048== Illegal opcode at address 0x4014520 ==156048== at 0x4014520: getparameter (tool_getparam.c:2862) ==156048== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156048== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156048== by 0x4003728: main (tool_main.c:186) === End of file valgrind1404 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/15/valgrind1403 ../src/curl -q --output log/15/curl1403.out --include --trace-ascii log/15/trace1403 --trace-time http://127.0.0.1:41057/we/want/1403 --libcurl log/15/test1403.c -G -d "foo=bar" -d "baz=quux" > log/15/stdout1403 2> log/15/stderr1403 1403: 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 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/15/valgrind1403 ../src/curl -q --output log/15/curl1403.out --include --trace-ascii log/15/trace1403 --trace-time http://127.0.0.1:41057/we/want/1403 --libcurl log/15/test1403.c -G -d "foo=bar" -d "baz=quux" > log/15/stdout1403 2> log/15/stderr1403 === End of file commands.log === Start of file http_server.log 17:51:05.064875 ====> Client connect 17:51:05.064915 accept_connection 3 returned 4 17:51:05.064933 accept_connection 3 returned 0 17:51:05.064948 Read 93 bytes 17:51:05.064958 Process 93 bytes request 17:51:05.064972 Got request: GET /verifiedserver HTTP/1.1 17:51:05.064981 Are-we-friendly question received 17:51:05.065012 Wrote request (93 bytes) input to log/15/server.input 17:51:05.065031 Identifying ourselves as friends 17:51:05.065097 Response sent (56 bytes) and written to log/15/server.response 17:51:05.065110 special request received, no persistency 17:51:05.065119 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 52804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1403 ==155934== ==155934== Process terminating with default action of signal 4 (SIGILL) ==155934== Illegal opcode at address 0x4014520 ==155934== at 0x4014520: getparameter (tool_getparam.c:2862) ==155934== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==155934== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==155934== by 0x4003728: main (tool_main.c:186) === End of file valgrind1403 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/7/valgrind1402 ../src/curl -q --output log/7/curl1402.out --include --trace-ascii log/7/trace1402 --trace-time http://127.0.0.1:35671/we/want/1402 --libcurl log/7/test1402.c -d "foo=bar" -d "baz=quux" > log/7/stdout1402 2> log/7/stderr1402 1402: 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 1402 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/CMD (33792): ../libtool --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/valgrind1413 ../src/curl -q --output log/20/curl1413.out --include --trace-ascii log/20/trace1413 --trace-time http://127.0.0.1:46725/this/1413 -L > log/20/stdout1413 2> log/20/stderr1413 CMD (33792): ../libtool --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/valgrind1409 ../src/curl -q --output log/17/curl1409.out --include --trace-ascii log/17/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/17/stdout1409 2> log/17/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/13/valgrind1416 ../src/curl -q --output log/13/curl1416.out --include --trace-ascii log/13/trace1416 --trace-time http://127.0.0.1:43845/1416 > log/13/stdout1416 2> log/13/stderr1416 startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1402 ../src/curl -q --output log/7/curl1402.out --include --trace-ascii log/7/trace1402 --trace-time http://127.0.0.1:35671/we/want/1402 --libcurl log/7/test1402.c -d "foo=bar" -d "baz=quux" > log/7/stdout1402 2> log/7/stderr1402 === End of file commands.log === Start of file http_server.log 17:51:04.979596 ====> Client connect 17:51:04.979647 accept_connection 3 returned 4 17:51:04.979670 accept_connection 3 returned 0 17:51:04.979688 Read 93 bytes 17:51:04.979698 Process 93 bytes request 17:51:04.979713 Got request: GET /verifiedserver HTTP/1.1 17:51:04.979722 Are-we-friendly question received 17:51:04.979755 Wrote request (93 bytes) input to log/7/server.input 17:51:04.979775 Identifying ourselves as friends 17:51:04.979866 Response sent (56 bytes) and written to log/7/server.response 17:51:04.979880 special request received, no persistency 17:51:04.979889 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 33910 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind1402 ==155867== ==155867== Process terminating with default action of signal 4 (SIGILL) ==155867== Illegal opcode at address 0x4014520 ==155867== at 0x4014520: getparameter (tool_getparam.c:2862) ==155867== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==155867== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==155867== by 0x4003728: main (tool_main.c:186) === End of file valgrind1402 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/17/valgrind1409 ../src/curl -q --output log/17/curl1409.out --include --trace-ascii log/17/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/17/stdout1409 2> log/17/stderr1409 curl returned 132, when expecting 2 1409: exit FAILED == Contents of files in the log/17/ 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/17/valgrind1409 ../src/curl -q --output log/17/curl1409.out --include --trace-ascii log/17/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/17/stdout1409 2> log/17/stderr1409 === End of file commands.log === Start of file server.cmd Testnum 1409 === End of file server.cmd === Start of file valgrind1409 ==156230== ==156230== Process terminating with default action of signal 4 (SIGILL) ==156230== Illegal opcode at address 0x4014520 ==156230== at 0x4014520: getparameter (tool_getparam.c:2862) ==156230== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156230== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156230== by 0x4003728: main (tool_main.c:186) === End of file valgrind1409 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/20/valgrind1413 ../src/curl -q --output log/20/curl1413.out --include --trace-ascii log/20/trace1413 --trace-time http://127.0.0.1:46725/this/1413 -L > log/20/stdout1413 2> log/20/stderr1413 1413: 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 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/20/valgrind1413 ../src/curl -q --output log/20/curl1413.out --include --trace-ascii log/20/trace1413 --trace-time http://127.0.0.1:46725/this/1413 -L > log/20/stdout1413 2> log/20/stderr1413 === End of file commands.log === Start of file http_server.log 17:51:05.739554 ====> Client connect 17:51:05.739589 accept_connection 3 returned 4 17:51:05.739606 accept_connection 3 returned 0 17:51:05.739620 Read 93 bytes 17:51:05.739629 Process 93 bytes request 17:51:05.739643 Got request: GET /verifiedserver HTTP/1.1 17:51:05.739652 Are-we-friendly question received 17:51:05.739676 Wrote request (93 bytes) input to log/20/server.input 17:51:05.739693 Identifying ourselves as friends 17:51:05.739759 Response sent (56 bytes) and written to log/20/server.response 17:51:05.739769 special request received, no persistency 17:51:05.739777 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 57068 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 17 WE ROOLZ: 74815 === End of file server.response === Start of file valgrind1413 ==156529== ==156529== Process terminating with default action of signal 4 (SIGILL) ==156529== Illegal opcode at address 0x4014520 ==156529== at 0x4014520: getparameter (tool_getparam.c:2862) ==156529== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156529== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156529== by 0x4003728: main (tool_main.c:186) === End of file valgrind1413 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/13/valgrind1416 ../src/curl -q --output log/13/curl1416.out --include --trace-ascii log/13/trace1416 --trace-time http://127.0.0.1:43845/1416 > log/13/stdout1416 2> log/13/stderr1416 1416: 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 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/13/valgrind1416 ../src/curl -q --output log/13/curl1416.out --include --trace-ascii log/13/trace1416 --trace-time http://127.0.0.1:43845/1416 > log/13/stdout1416 2> log/13/stderr1416 === End of file commands.log === Start of file http_server.log 17:51:06.884501 ====> Client connect 17:51:06.884534 accept_connection 3 returned 4 17:51:06.884551 accept_connection 3 returned 0 17:51:06.884565 Read 93 bytes 17:51:06.884575 Process 93 bytes request 17:51:06.884588 Got request: GET /verifiedserver HTTP/1.1 17:51:06.884596 Are-we-friendly question received 17:51:06.884619 Wrote request (93 bytes) input to log/13/server.input 17:51:06.884634 Identifying ourselves as friends 17:51:06.884686 Response sent (56 bytes) and written to log/13/server.response 17:51:06.884695 special requeCMD (33792): ../libtool --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/valgrind1411 ../src/curl -q --output log/2/curl1411.out --include --trace-ascii log/2/trace1411 --trace-time http://127.0.0.1:38779/1411 -T log/2/empty1411 > log/2/stdout1411 2> log/2/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/21/valgrind1410 ../src/curl -q --output log/21/curl1410.out --include --trace-ascii log/21/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/21/stdout1410 2> log/21/stderr1410 CMD (33792): ../libtool --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/valgrind1405 ../src/curl -q --output log/18/curl1405.out --include --trace-ascii log/18/trace1405 --trace-time ftp://127.0.0.1:36869/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/18/test1405.c > log/18/stdout1405 2> log/18/stderr1405 st received, no persistency 17:51:06.884703 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 38500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1416 ==156693== ==156693== Process terminating with default action of signal 4 (SIGILL) ==156693== Illegal opcode at address 0x4014520 ==156693== at 0x4014520: getparameter (tool_getparam.c:2862) ==156693== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156693== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156693== by 0x4003728: main (tool_main.c:186) === End of file valgrind1416 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/2/valgrind1411 ../src/curl -q --output log/2/curl1411.out --include --trace-ascii log/2/trace1411 --trace-time http://127.0.0.1:38779/1411 -T log/2/empty1411 > log/2/stdout1411 2> log/2/stderr1411 1411: 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 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/2/valgrind1411 ../src/curl -q --output log/2/curl1411.out --include --trace-ascii log/2/trace1411 --trace-time http://127.0.0.1:38779/1411 -T log/2/empty1411 > log/2/stdout1411 2> log/2/stderr1411 === End of file commands.log === Start of file http_server.log 17:51:05.705198 ====> Client connect 17:51:05.705231 accept_connection 3 returned 4 17:51:05.705248 accept_connection 3 returned 0 17:51:05.705262 Read 93 bytes 17:51:05.705272 Process 93 bytes request 17:51:05.705285 Got request: GET /verifiedserver HTTP/1.1 17:51:05.705293 Are-we-friendly question received 17:51:05.705318 Wrote request (93 bytes) input to log/2/server.input 17:51:05.705334 Identifying ourselves as friends 17:51:05.705390 Response sent (56 bytes) and written to log/2/server.response 17:51:05.705400 special request received, no persistency 17:51:05.705408 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 40356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1411 ==156441== ==156441== Process terminating with default action of signal 4 (SIGILL) ==156441== Illegal opcode at address 0x4014520 ==156441== at 0x4014520: getparameter (tool_getparam.c:2862) ==156441== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156441== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156441== by 0x4003728: main (tool_main.c:186) === End of file valgrind1411 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/21/valgrind1410 ../src/curl -q --output log/21/curl1410.out --include --trace-ascii log/21/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/21/stdout1410 2> log/21/stderr1410 curl returned 132, when expecting 2 1410: exit FAILED == Contents of files in the log/21/ 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/21/valgrind1410 ../src/curl -q --output log/21/curl1410.out --include --trace-ascii log/21/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/21/stdout1410 2> log/21/stderr1410 === End of file commands.log === Start of file server.cmd Testnum 1410 === End of file server.cmd === Start of file valgrind1410 ==156245== ==156245== Process terminating with default action of signal 4 (SIGILL) ==156245== Illegal opcode at address 0x4014520 ==156245== at 0x4014520: getparameter (tool_getparam.c:2862) ==156245== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156245== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156245== by 0x4003728: main (tool_main.c:186) === End of file valgrind1410 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/18/valgrind1405 ../src/curl -q --output log/18/curl1405.out --include --trace-ascii log/18/trace1405 --trace-time ftp://127.0.0.1:36869/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/18/test1405.c > log/18/stdout1405 2> log/18/stderr1405 1405: 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 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/18/valgrind1405 ../src/curl -q --output log/18/curl1405.out --include --trace-ascii log/18/trace1405 --trace-time ftp://127.0.0.1:36869/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/18/test1405.c > log/18/stdout1405 2> log/18/stderr1405 === End of file commands.log === Start of file ftp_server.log 17:51:05.543395 ====> Client connect 17:51:05.543588 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:05.543970 < "USER anonymous" 17:51:05.544012 > "331 We are happy you popped in![CR][LF]" 17:51:05.544201 < "PASS ftp@example.com" 17:51:05.544232 > "230 Welcome you silly person[CR][LF]" 17:51:05.544412 < "PWD" 17:51:05.544448 > "257 "/" is current directory[CR][LF]" 17:51:05.544636 < "EPSV" 17:51:05.544665 ====> Passive DATA channel requested by client 17:51:05.544683 DATA sockfilt for passive data channel starting... 17:51:05.563385 DATA sockfilt for passive data channel started (pid 156132) 17:51:05.566869 DATA sockfilt for passive data channel listens on port 46793 17:51:05.566987 > "229 Entering Passive Mode (|||46793|)[CR][LF]" 17:51:05.567009 Client has been notified that DATA conn will be accepted on port 46793 17:51:05.572624 Client connects to port 46793 17:51:05.572706 ====> Client established passive DATA connection on port 46793 17:51:05.572839 < "TYPE I" 17:51:05.572889 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:05.573127 < "SIZE verifiedserver" 17:51:05.573168 > "213 17[CR][LF]" 17:51:05.57CMD (33792): ../libtool --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/valgrind1407 ../src/curl -q --output log/5/curl1407.out --include --trace-ascii log/5/trace1407 --trace-time pop3://127.0.0.1:41909/1407 -l -u user:secret --libcurl log/5/test1407.c > log/5/stdout1407 2> log/5/stderr1407 3370 < "RETR verifiedserver" 17:51:05.573405 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:05.573511 =====> Closing passive DATA connection... 17:51:05.573527 Server disconnects passive DATA connection 17:51:05.573727 Server disconnected passive DATA connection 17:51:05.573753 DATA sockfilt for passive data channel quits (pid 156132) 17:51:05.574067 DATA sockfilt for passive data channel quit (pid 156132) 17:51:05.574095 =====> Closed passive DATA connection 17:51:05.574127 > "226 File transfer complete[CR][LF]" 17:51:05.617207 < "QUIT" 17:51:05.617275 > "221 bye bye baby[CR][LF]" 17:51:05.618505 MAIN sockfilt said DISC 17:51:05.618540 ====> Client disconnected 17:51:05.618643 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:06.389436 ====> Client connect 17:51:06.389811 Received DATA (on stdin) 17:51:06.389829 > 146 bytes data, server => client 17:51:06.389842 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:06.389853 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:06.389862 '220 \___|\___/|_| \_\_____|\r\n' 17:51:06.389944 < 16 bytes data, client => server 17:51:06.389960 'USER anonymous\r\n' 17:51:06.390197 Received DATA (on stdin) 17:51:06.390212 > 33 bytes data, server => client 17:51:06.390226 '331 We are happy you popped in!\r\n' 17:51:06.390280 < 22 bytes data, client => server 17:51:06.390295 'PASS ftp@example.com\r\n' 17:51:06.390414 Received DATA (on stdin) 17:51:06.390427 > 30 bytes data, server => client 17:51:06.390438 '230 Welcome you silly person\r\n' 17:51:06.390492 < 5 bytes data, client => server 17:51:06.390507 'PWD\r\n' 17:51:06.390631 Received DATA (on stdin) 17:51:06.390644 > 30 bytes data, server => client 17:51:06.390655 '257 "/" is current directory\r\n' 17:51:06.390717 < 6 bytes data, client => server 17:51:06.390732 'EPSV\r\n' 17:51:06.416173 Received DATA (on stdin) 17:51:06.416208 > 39 bytes data, server => client 17:51:06.416220 '229 Entering Passive Mode (|||46793|)\r\n' 17:51:06.416447 < 8 bytes data, client => server 17:51:06.416469 'TYPE I\r\n' 17:51:06.419078 Received DATA (on stdin) 17:51:06.419096 > 33 bytes data, server => client 17:51:06.419107 '200 I modify TYPE as you wanted\r\n' 17:51:06.419207 < 21 bytes data, client => server 17:51:06.419222 'SIZE verifiedserver\r\n' 17:51:06.419348 Received DATA (on stdin) 17:51:06.419361 > 8 bytes data, server => client 17:51:06.419371 '213 17\r\n' 17:51:06.419424 < 21 bytes data, client => server 17:51:06.419437 'RETR verifiedserver\r\n' 17:51:06.419706 Received DATA (on stdin) 17:51:06.419718 > 29 bytes data, server => client 17:51:06.419727 '150 Binary junk (17 bytes).\r\n' 17:51:06.420307 Received DATA (on stdin) 17:51:06.420320 > 28 bytes data, server => client 17:51:06.420331 '226 File transfer complete\r\n' 17:51:06.463162 < 6 bytes data, client => server 17:51:06.463210 'QUIT\r\n' 17:51:06.463464 Received DATA (on stdin) 17:51:06.463479 > 18 bytes data, server => client 17:51:06.463490 '221 bye bye baby\r\n' 17:51:06.464627 ====> Client disconnect 17:51:06.464835 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:05.392744 Running IPv4 version 17:51:05.402879 Listening on port 46793 17:51:05.402962 Wrote pid 156132 to log/18/server/ftp_sockdata.pid 17:51:05.406204 Received PING (on stdin) 17:51:05.412840 Received PORT (on stdin) 17:51:05.418708 ====> Client connect 17:51:05.419788 Received DATA (on stdin) 17:51:05.419803 > 17 bytes data, server => client 17:51:05.419813 'WE ROOLZ: 82094\r\n' 17:51:05.419841 Received DISC (on stdin) 17:51:05.419852 ====> Client forcibly disconnected 17:51:05.420000 Received QUIT (on stdin) 17:51:05.420015 quits 17:51:05.420084 ============> 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 ==156185== ==156185== Process terminating with default action of signal 4 (SIGILL) ==156185== Illegal opcode at address 0x4014520 ==156185== at 0x4014520: getparameter (tool_getparam.c:2862) ==156185== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156185== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156185== by 0x4003728: main (tool_main.c:186) === End of file valgrind1405 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/5/valgrind1407 ../src/curl -q --output log/5/curl1407.out --include --trace-ascii log/5/trace1407 --trace-time pop3://127.0.0.1:41909/1407 -l -u user:secret --libcurl log/5/test1407.c > log/5/stdout1407 2> log/5/stderr1407 1407: 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 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/5/valgrind1407 ../src/curl -q --output log/5/curl1407.out --include --trace-ascii log/5/trace1407 --trace-time pop3://127.0.0.1:41909/1407 -l -u user:secret --libcurl log/5/test1407.c > log/5/stdout1407 2> log/5/stderr1407 === End of file commands.log === Start of file pop3_server.log 17:51:05.650136 ====> Client connect 17:51:05.650332 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 17:51:05.650679 < "CAPA" 17:51:05.650726 > "-ERR Unrecognized command[CR][LF]" 17:51:05.650911 < "RETR verifiedserver" 17:51:05.650943 return proof we are we 17:51:05.650966 > "+OK Mail transfer starts[CR][LF]" 17:51:05.650986 > "WE ROOLZ: 123160[CR][LF]" 17:51:05.651003 > ".[CR][LF]" 17:51:05.710403 < "QUIT" 17:51:05.710473 > "+OK curl POP3 server signing off[CR][LF]" 17:51:05.711631 MAIN sockfilt said DISC 17:51:05.711675 ====> Client disconnected 17:51:05.711758 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 17:51:05.496179 ====> Client connect 17:51:05.496527 Received DATA (on stdin) 17:51:05.496541 > 164 bytes data, server => client 17:51:05.496554 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:51:05.496563 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:51:05.496573 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 17:51:05.496693 < 6 bytes data, client => server 17:51:05.496705 'CAPA\r\n' 17:51:05.496905 Received DATA (on stdin) 17:51:05.496916 > 27 bytes data, server => client 17:51:05.496927 '-ERR Unrecognized command\r\n' 17:51:05.496989 < 21 bytes data, client => server 17:51:05.497000 'RETR verifiedserver\r\n' 17:51:05.497178 Received DATA (on stdin) 17:51:05.497191 > 26 bytes data, server => client 17:51:05.497200 '+OK Mail transfer starts\r\n' 17:51:05.497220 Received DATA (on stdin) 17:51:05.497229 > 18 bytes data, server => client 17:51:05.497239 'WE ROOLZ: 123160\r\n' 17:51:05.497250 Received DATA (on stdin) 17:51:05.497259 > 3 bytes data, server => client 17:51:05.497268 '.\r\n' 17:51:05.556332 < 6 bytes data, client => server 17:51:05.556373 'QUIT\r\n' 17:51:05.556662 Received DATA (on stdin) 17:51:05.556678 > 34 bytes data, server => client 17:51:05.556689 '+OK curl POP3 server signing off\r\n' 17:51:05.557739 ====> Client disconnect 17:51:05.557944 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 ==156240== ==156240== Process terminating with default action of signal 4 (SIGILL) ==156240== Illegal opcode at address 0x4014520 ==156240== at 0x4014520: getparameter (tool_getparam.c:2862) ==15CMD (33792): ../libtool --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/valgrind1401 ../src/curl -q --output log/14/curl1401.out --include --trace-ascii log/14/trace1401 --trace-time http://127.0.0.1:37569/we/want/1401 --libcurl log/14/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/14/stdout1401 2> log/14/stderr1401 CMD (33792): ../libtool --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/valgrind1412 ../src/curl -q --output log/11/curl1412.out --include --trace-ascii log/11/trace1412 --trace-time http://127.0.0.1:46439/1412 -u testuser:testpass --anyauth http://127.0.0.1:46439/14120001 > log/11/stdout1412 2> log/11/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/6/valgrind1415 ../src/curl -q --output log/6/curl1415.out --include --trace-ascii log/6/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/6/jar1415.txt -x 127.0.0.1:36645 > log/6/stdout1415 2> log/6/stderr1415 6240== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156240== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156240== by 0x4003728: main (tool_main.c:186) === End of file valgrind1407 test 1401...[--libcurl for GET with 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/14/valgrind1401 ../src/curl -q --output log/14/curl1401.out --include --trace-ascii log/14/trace1401 --trace-time http://127.0.0.1:37569/we/want/1401 --libcurl log/14/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/14/stdout1401 2> log/14/stderr1401 1401: 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 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/14/valgrind1401 ../src/curl -q --output log/14/curl1401.out --include --trace-ascii log/14/trace1401 --trace-time http://127.0.0.1:37569/we/want/1401 --libcurl log/14/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/14/stdout1401 2> log/14/stderr1401 === End of file commands.log === Start of file http_server.log 17:51:05.949562 ====> Client connect 17:51:05.949607 accept_connection 3 returned 4 17:51:05.949627 accept_connection 3 returned 0 17:51:05.949644 Read 93 bytes 17:51:05.949654 Process 93 bytes request 17:51:05.949669 Got request: GET /verifiedserver HTTP/1.1 17:51:05.949678 Are-we-friendly question received 17:51:05.949705 Wrote request (93 bytes) input to log/14/server.input 17:51:05.949724 Identifying ourselves as friends 17:51:05.949799 Response sent (56 bytes) and written to log/14/server.response 17:51:05.949811 special request received, no persistency 17:51:05.949820 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 43822 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1401 ==155857== ==155857== Process terminating with default action of signal 4 (SIGILL) ==155857== Illegal opcode at address 0x4014520 ==155857== at 0x4014520: getparameter (tool_getparam.c:2862) ==155857== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==155857== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==155857== by 0x4003728: main (tool_main.c:186) === End of file valgrind1401 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/11/valgrind1412 ../src/curl -q --output log/11/curl1412.out --include --trace-ascii log/11/trace1412 --trace-time http://127.0.0.1:46439/1412 -u testuser:testpass --anyauth http://127.0.0.1:46439/14120001 > log/11/stdout1412 2> log/11/stderr1412 1412: 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 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/11/valgrind1412 ../src/curl -q --output log/11/curl1412.out --include --trace-ascii log/11/trace1412 --trace-time http://127.0.0.1:46439/1412 -u testuser:testpass --anyauth http://127.0.0.1:46439/14120001 > log/11/stdout1412 2> log/11/stderr1412 === End of file commands.log === Start of file http_server.log 17:51:05.709571 ====> Client connect 17:51:05.709610 accept_connection 3 returned 4 17:51:05.709630 accept_connection 3 returned 0 17:51:05.709645 Read 93 bytes 17:51:05.709656 Process 93 bytes request 17:51:05.709672 Got request: GET /verifiedserver HTTP/1.1 17:51:05.709681 Are-we-friendly question received 17:51:05.709711 Wrote request (93 bytes) input to log/11/server.input 17:51:05.709729 Identifying ourselves as friends 17:51:05.709797 Response sent (56 bytes) and written to log/11/server.response 17:51:05.709810 special request received, no persistency 17:51:05.709819 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 50166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind1412 ==156468== ==156468== Process terminating with default action of signal 4 (SIGILL) ==156468== Illegal opcode at address 0x4014520 ==156468== at 0x4014520: getparameter (tool_getparam.c:2862) ==156468== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156468== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156468== by 0x4003728: main (tool_main.c:186) === 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/6/valgrind1415 ../src/curl -q --output log/6/curl1415.out --include --trace-ascii log/6/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/6/jar1415.txt -x 127.0.0.1:36645 > log/6/stdout1415 2> log/6/stderr1415 1415: 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 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/6/valgrind1415 ../src/curl -q --output log/6/curl1415.out --include --trace-ascii log/6/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/6/jar1415.txt -x 127.0.0.1:36645 > log/6/stdout1415 2> log/6/stderr1415 === End of file commands.log === Start of file http_server.log 17:51:05.799598 ====> Client connect 17:51:05.799656 accept_connection 3 returned 4 17:51:05.799678 accept_connection 3 returned 0 17:51:05.799696 Read 93 bytes 17:51:05.799707 Process 93 bytes request 17:51:05.799742 Got request: GET /verifiedserver HTTP/1.1 17:51:05.799753 Are-we-friendly question received 17:51:05.799785 Wrote request (93 bytes) input to log/6/server.input 17:51:05.799810 Identifying ourselves as friends 17:51:05.799910 Response sent (57 bytes) and written to log/6/server.response 17:51:05.799928 special request received, no persistency 17:51:05CMD (33792): ../libtool --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/valgrind1417 ../src/curl -q --output log/24/curl1417.out --include --trace-ascii log/24/trace1417 --trace-time http://127.0.0.1:39649/1417 -D log/24/heads1417 > log/24/stdout1417 2> log/24/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/4/valgrind1406 ../src/curl -q --output log/4/curl1406.out --include --trace-ascii log/4/trace1406 --trace-time smtp://127.0.0.1:38357/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/4/test1406.eml --libcurl log/4/test1406.c > log/4/stdout1406 2> log/4/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/9/valgrind1420 ../src/curl -q --output log/9/curl1420.out --include --trace-ascii log/9/trace1420 --trace-time 'imap://127.0.0.1:42615/1420/;MAILINDEX=1' -u user:secret --libcurl log/9/test1420.c > log/9/stdout1420 2> log/9/stderr1420 .799938 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36645... * Established connection to 127.0.0.1 (127.0.0.1 port 36645) from 127.0.0.1 port 58338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36645 > User-Agent: curl/8.18.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:36645 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150721 === 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: 18 WE ROOLZ: 150721 === End of file server.response === Start of file valgrind1415 ==156583== ==156583== Process terminating with default action of signal 4 (SIGILL) ==156583== Illegal opcode at address 0x4014520 ==156583== at 0x4014520: getparameter (tool_getparam.c:2862) ==156583== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156583== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156583== by 0x4003728: main (tool_main.c:186) === End of file valgrind1415 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/24/valgrind1417 ../src/curl -q --output log/24/curl1417.out --include --trace-ascii log/24/trace1417 --trace-time http://127.0.0.1:39649/1417 -D log/24/heads1417 > log/24/stdout1417 2> log/24/stderr1417 1417: 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 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/24/valgrind1417 ../src/curl -q --output log/24/curl1417.out --include --trace-ascii log/24/trace1417 --trace-time http://127.0.0.1:39649/1417 -D log/24/heads1417 > log/24/stdout1417 2> log/24/stderr1417 === End of file commands.log === Start of file http_server.log 17:51:05.899414 ====> Client connect 17:51:05.899459 accept_connection 3 returned 4 17:51:05.899490 accept_connection 3 returned 0 17:51:05.899506 Read 93 bytes 17:51:05.899515 Process 93 bytes request 17:51:05.899527 Got request: GET /verifiedserver HTTP/1.1 17:51:05.899535 Are-we-friendly question received 17:51:05.899557 Wrote request (93 bytes) input to log/24/server.input 17:51:05.899571 Identifying ourselves as friends 17:51:05.899645 Response sent (56 bytes) and written to log/24/server.response 17:51:05.899653 special request received, no persistency 17:51:05.899660 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 49074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1417 ==156745== ==156745== Process terminating with default action of signal 4 (SIGILL) ==156745== Illegal opcode at address 0x4014520 ==156745== at 0x4014520: getparameter (tool_getparam.c:2862) ==156745== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156745== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156745== by 0x4003728: main (tool_main.c:186) === End of file valgrind1417 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/4/valgrind1406 ../src/curl -q --output log/4/curl1406.out --include --trace-ascii log/4/trace1406 --trace-time smtp://127.0.0.1:38357/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/4/test1406.eml --libcurl log/4/test1406.c > log/4/stdout1406 2> log/4/stderr1406 1406: 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 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/4/valgrind1406 ../src/curl -q --output log/4/curl1406.out --include --trace-ascii log/4/trace1406 --trace-time smtp://127.0.0.1:38357/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/4/test1406.eml --libcurl log/4/test1406.c > log/4/stdout1406 2> log/4/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 17:51:05.609906 ====> Client connect 17:51:05.611565 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:05.611880 < "EHLO verifiedserver" 17:51:05.611936 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:05.612153 < "HELP" 17:51:05.612197 > "214 WE ROOLZ: 126447[CR][LF]" 17:51:05.612215 return proof we are we 17:51:05.612456 < "QUIT" 17:51:05.612489 > "221 curl ESMTP server signing off[CR][LF]" 17:51:05.613539 MAIN sockfilt said DISC 17:51:05.613572 ====> Client disconnected 17:51:05.613640 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:05.455954 ====> Client connect 17:51:05.457651 Received DATA (on stdin) 17:51:05.457680 > 146 bytes data, server => client 17:51:05.457773 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:05.457787 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:05.457797 '220 \___|\___/|_| \_\_____|\r\n' 17:51:05.457887 < 21 bytes data, client => server 17:51:05.457903 'EHLO verifiedserver\r\n' 17:51:05.458124 Received DATA (on stdin) 17:51:05.458138 > 53 bytes data, server => client 17:51:05.458149 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:51:05.458217 < 6 bytes data, client => server 17:51:05.458232 'HELP\r\n' 17:51:05.458394 Received DATA (on stdin) 17:51:05.458407 > 22 bytes data, server => client 17:51:05.458418 '214 WE ROOLZ: 126447\r\n' 17:51:05.458531 < 6 bytes data, client => server 17:51:05.458548 'QUIT\r\n' 17:51:05.458672 Received DATA (on stdin) 17:51:05.458685 > 35 bytes data, server => client 17:51:05.458695 '221 curl ESMTP server signing off\r\n' 17:51:05.459663 ====> Client disconnect 17:51:05.459826 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 ==156195== ==156195== Process terminating with default action of signal 4 (SIGILL) ==156195== Illegal opcode at address 0x4014520 ==156195== at 0x4014520: getparameter (tool_getparam.c:2862) ==156195== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156195== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156195== by 0x4003728: main (tool_main.c:186) === End of file valgrind1406 test 1420...[--libcurl for IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --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/23/valgrind1419 ../src/curl -q --output log/23/curl1419.out --include --trace-ascii log/23/trace1419 --trace-time http://127.0.0.1:39173/1419 --anyauth http://127.0.0.1:39173/14190003 > log/23/stdout1419 2> log/23/stderr1419 CMD (33792): ../libtool --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/valgrind1421 ../src/curl -q --include --trace-ascii log/12/trace1421 --trace-time --proxy http://127.0.0.1:36641 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/12/stdout1421 2> log/12/stderr1421 et --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1420 ../src/curl -q --output log/9/curl1420.out --include --trace-ascii log/9/trace1420 --trace-time 'imap://127.0.0.1:42615/1420/;MAILINDEX=1' -u user:secret --libcurl log/9/test1420.c > log/9/stdout1420 2> log/9/stderr1420 1420: 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 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/9/valgrind1420 ../src/curl -q --output log/9/curl1420.out --include --trace-ascii log/9/trace1420 --trace-time 'imap://127.0.0.1:42615/1420/;MAILINDEX=1' -u user:secret --libcurl log/9/test1420.c > log/9/stdout1420 2> log/9/stderr1420 === End of file commands.log === Start of file imap_server.log 17:51:06.276821 ====> Client connect 17:51:06.276995 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:51:06.283606 < "A001 CAPABILITY" 17:51:06.283673 > "A001 BAD Command[CR][LF]" 17:51:06.290246 < "A002 LIST "verifiedserver" *" 17:51:06.290310 LIST_imap got "verifiedserver" * 17:51:06.290357 > "* LIST () "/" "WE ROOLZ: 120283"[CR][LF]" 17:51:06.290385 > "A002 OK LIST Completed[CR][LF]" 17:51:06.290402 return proof we are we 17:51:06.340400 < "A003 LOGOUT" 17:51:06.340477 > "* BYE curl IMAP server signing off[CR][LF]" 17:51:06.340510 > "A003 OK LOGOUT completed[CR][LF]" 17:51:06.341747 MAIN sockfilt said DISC 17:51:06.341783 ====> Client disconnected 17:51:06.341865 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:51:06.122851 ====> Client connect 17:51:06.123185 Received DATA (on stdin) 17:51:06.123199 > 164 bytes data, server => client 17:51:06.123211 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:51:06.123222 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:51:06.123232 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:51:06.129521 < 17 bytes data, client => server 17:51:06.129550 'A001 CAPABILITY\r\n' 17:51:06.129858 Received DATA (on stdin) 17:51:06.129871 > 18 bytes data, server => client 17:51:06.129882 'A001 BAD Command\r\n' 17:51:06.136187 < 30 bytes data, client => server 17:51:06.136228 'A002 LIST "verifiedserver" *\r\n' 17:51:06.136583 Received DATA (on stdin) 17:51:06.136597 > 34 bytes data, server => client 17:51:06.136608 '* LIST () "/" "WE ROOLZ: 120283"\r\n' 17:51:06.136655 Received DATA (on stdin) 17:51:06.136669 > 24 bytes data, server => client 17:51:06.136680 'A002 OK LIST Completed\r\n' 17:51:06.186324 < 13 bytes data, client => server 17:51:06.186356 'A003 LOGOUT\r\n' 17:51:06.186696 Received DATA (on stdin) 17:51:06.186710 > 36 bytes data, server => client 17:51:06.186721 '* BYE curl IMAP server signing off\r\n' 17:51:06.186747 Received DATA (on stdin) 17:51:06.186759 > 26 bytes data, server => client 17:51:06.186770 'A003 OK LOGOUT completed\r\n' 17:51:06.187868 ====> Client disconnect 17:51:06.188047 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1420 === End of file server.cmd === Start of file valgrind1420 ==157079== ==157079== Process terminating with default action of signal 4 (SIGILL) ==157079== Illegal opcode at address 0x4014520 ==157079== at 0x4014520: getparameter (tool_getparam.c:2862) ==157079== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157079== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157079== by 0x4003728: main (tool_main.c:186) === End of file valgrind1420 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/23/valgrind1419 ../src/curl -q --output log/23/curl1419.out --include --trace-ascii log/23/trace1419 --trace-time http://127.0.0.1:39173/1419 --anyauth http://127.0.0.1:39173/14190003 > log/23/stdout1419 2> log/23/stderr1419 1419: 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 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/23/valgrind1419 ../src/curl -q --output log/23/curl1419.out --include --trace-ascii log/23/trace1419 --trace-time http://127.0.0.1:39173/1419 --anyauth http://127.0.0.1:39173/14190003 > log/23/stdout1419 2> log/23/stderr1419 === End of file commands.log === Start of file http_server.log 17:51:06.959579 ====> Client connect 17:51:06.959632 accept_connection 3 returned 4 17:51:06.959650 accept_connection 3 returned 0 17:51:06.959666 Read 93 bytes 17:51:06.959676 Process 93 bytes request 17:51:06.959690 Got request: GET /verifiedserver HTTP/1.1 17:51:06.959699 Are-we-friendly question received 17:51:06.959725 Wrote request (93 bytes) input to log/23/server.input 17:51:06.959742 Identifying ourselves as friends 17:51:06.959816 Response sent (56 bytes) and written to log/23/server.response 17:51:06.959826 special request received, no persistency 17:51:06.959834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 33670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1419 ==156823== ==156823== Process terminating with default action of signal 4 (SIGILL) ==156823== Illegal opcode at address 0x4014520 ==156823== at 0x4014520: getparameter (tool_getparam.c:2862) ==156823== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156823== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156823== by 0x4003728: main (tool_main.c:186) === End of file valgrind1419 CMD (33792): ../libtool --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/valgrind1414 ../src/curl -q --output log/8/curl1414.out --include --trace-ascii log/8/trace1414 --trace-time ftp://127.0.0.1:42799/1414 -P - > log/8/stdout1414 2> log/8/stderr1414 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/12/valgrind1421 ../src/curl -q --include --trace-ascii log/12/trace1421 --trace-time --proxy http://127.0.0.1:36641 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/12/stdout1421 2> log/12/stderr1421 1421: stdout FAILED: --- log/12/check-expected 2026-01-28 17:51:08.396555380 +0000 +++ log/12/check-generated 2026-01-28 17:51:08.396555380 +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/12/ 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/12/valgrind1421 ../src/curl -q --include --trace-ascii log/12/trace1421 --trace-time --proxy http://127.0.0.1:36641 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/12/stdout1421 2> log/12/stderr1421 === End of file commands.log === Start of file http_server.log 17:51:06.142222 ====> Client connect 17:51:06.142255 accept_connection 3 returned 4 17:51:06.142270 accept_connection 3 returned 0 17:51:06.142284 Read 93 bytes 17:51:06.142294 Process 93 bytes request 17:51:06.142307 Got request: GET /verifiedserver HTTP/1.1 17:51:06.142316 Are-we-friendly question received 17:51:06.142341 Wrote request (93 bytes) input to log/12/server.input 17:51:06.142357 Identifying ourselves as friends 17:51:06.142411 Response sent (56 bytes) and written to log/12/server.response 17:51:06.142421 special request received, no persistency 17:51:06.142429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 36706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1421 ==157051== ==157051== Process terminating with default action of signal 4 (SIGILL) ==157051== Illegal opcode at address 0x4014520 ==157051== at 0x4014520: getparameter (tool_getparam.c:2862) ==157051== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157051== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157051== by 0x4003728: main (tool_main.c:186) === End of file valgrind1421 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/8/valgrind1414 ../src/curl -q --output log/8/curl1414.out --include --trace-ascii log/8/trace1414 --trace-time ftp://127.0.0.1:42799/1414 -P - > log/8/stdout1414 2> log/8/stderr1414 1414: 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 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/8/valgrind1414 ../src/curl -q --output log/8/curl1414.out --include --trace-ascii log/8/trace1414 --trace-time ftp://127.0.0.1:42799/1414 -P - > log/8/stdout1414 2> log/8/stderr1414 === End of file commands.log === Start of file ftp_server.log 17:51:05.900180 ====> Client connect 17:51:05.900369 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:05.911347 < "USER anonymous" 17:51:05.911419 > "331 We are happy you popped in![CR][LF]" 17:51:05.911670 < "PASS ftp@example.com" 17:51:05.911703 > "230 Welcome you silly person[CR][LF]" 17:51:05.911868 < "PWD" 17:51:05.911902 > "257 "/" is current directory[CR][LF]" 17:51:05.912077 < "EPSV" 17:51:05.912102 ====> Passive DATA channel requested by client 17:51:05.912118 DATA sockfilt for passive data channel starting... 17:51:05.924569 DATA sockfilt for passive data channel started (pid 156499) 17:51:05.924790 DATA sockfilt for passive data channel listens on port 37515 17:51:05.924850 > "229 Entering Passive Mode (|||37515|)[CR][LF]" 17:51:05.924871 Client has been notified that DATA conn will be accepted on port 37515 17:51:05.925222 Client connects to port 37515 17:51:05.925258 ====> Client established passive DATA connection on port 37515 17:51:05.925371 < "TYPE I" 17:51:05.925418 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:05.925606 < "SIZE verifiedserver" 17:51:05.925648 > "213 17[CR][LF]" 17:51:05.925814 < "RETR verifiedserver" 17:51:05.925848 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:05.925948 =====> Closing passive DATA connection... 17:51:05.925968 Server disconnects passive DATA connection 17:51:05.926208 Server disconnected passive DATA connection 17:51:05.926240 DATA sockfilt for passive data channel quits (pid 156499) 17:51:05.926519 DATA sockfilt for passive data channel quit (pid 156499) 17:51:05.926549 =====> Closed passive DATA connection 17:51:05.926580 > "226 File transfer complete[CR][LF]" 17:51:05.983168 < "QUIT" 17:51:05.983232 > "221 bye bye baby[CR][LF]" 17:51:06.000033 MAIN sockfilt said DISC 17:51:06.000142 ====> Client disconnected 17:51:06.000240 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:06.746188 ====> Client connect 17:51:06.746564 Received DATA (on stdin) 17:51:06.746579 > 146 bytes data, server => client 17:51:06.746591 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:06.746602 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:06.746611 '220 \___|\___/|_| \_\_____|\r\n' 17:51:06.757254 < 16 bytes data, client => server 17:51:06.757292 'USER anonymous\r\n' 17:51:06.757607 Received DATA (on stdin) 17:51:06.757621 > 33 bytes data, server => client 17:51:06.757632 '331 We are happy you popped in!\r\n' 17:51:06.757747 < 22 bytes data, client => server 17:51:06.757761 'PASS ftp@example.com\r\n' 17:51:06.757884 Received DATA (on stdin) 17:51:06.757896 > 30 bytes data, server => client 17:51:06.757907 '230 Welcome you silly person\r\n' 17:51:06.757959 < 5 bytes data, client => server 17:51:06.757970 'PWD\r\n' 17:51:06.758082 Received DATA (on stdin) 17:51:06.758093 > 30 bytes data, server => client 17:51:06.758104 '257 "/" is current directory\r\n' 17:51:06.758167 < 6 bytes data, client => server 17:51:06.758179 'EPSV\r\n' 17:51:06.771058 Received DATA (on stdin) 17:51:06.771077 > 39 bytes data, server => client 17:51:06.771088 '229 Entering Passive Mode (|||37515|)\r\n' 17:51:06.771306 < 8 bytes data, client => server 17:51:06.771325 'TYPE I\r\n' 17:51:06.771602 Received DATA (on stdin) 17:51:06.771616 > 33 bytes data, server => client 17:51:06.771628 '200 I modify TYPE as you wanted\r\n' 17:51:06.771685 < 21 bytes data, client => server 17:51:06.771699 'SIZE verifiedserver\CMD (33792): ../libtool --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/valgrind1418 ../src/curl -q --output log/10/curl1418.out --include --trace-ascii log/10/trace1418 --trace-time http://127.0.0.1:32889/1418 -u testuser:testpass --anyauth http://127.0.0.1:32889/14180003 > log/10/stdout1418 2> log/10/stderr1418 CMD (33792): ../libtool --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/valgrind1408 ../src/curl -q --output log/22/curl1408.out --include --trace-ascii log/22/trace1408 --trace-time -c log/22/jar1408 -g http://[::1]:46781/path/14080001 http://[::1]:46781/path/14080002 > log/22/stdout1408 2> log/22/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/3/valgrind1422 ../src/curl -q --trace-ascii log/3/trace1422 --trace-time http://127.0.0.1:45927/1422 -J -O file:///startdir/src/build-curl/tests/log/3/name1422 --output-dir log/3 > log/3/stdout1422 2> log/3/stderr1422 r\n' 17:51:06.771830 Received DATA (on stdin) 17:51:06.771842 > 8 bytes data, server => client 17:51:06.771851 '213 17\r\n' 17:51:06.771903 < 21 bytes data, client => server 17:51:06.771915 'RETR verifiedserver\r\n' 17:51:06.772151 Received DATA (on stdin) 17:51:06.772163 > 29 bytes data, server => client 17:51:06.772173 '150 Binary junk (17 bytes).\r\n' 17:51:06.772761 Received DATA (on stdin) 17:51:06.772774 > 28 bytes data, server => client 17:51:06.772784 '226 File transfer complete\r\n' 17:51:06.827944 < 6 bytes data, client => server 17:51:06.827978 'QUIT\r\n' 17:51:06.829422 Received DATA (on stdin) 17:51:06.829438 > 18 bytes data, server => client 17:51:06.829448 '221 bye bye baby\r\n' 17:51:06.836183 ====> Client disconnect 17:51:06.846431 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:05.761182 Running IPv4 version 17:51:05.761290 Listening on port 37515 17:51:05.761338 Wrote pid 156499 to log/8/server/ftp_sockdata.pid 17:51:05.770423 Received PING (on stdin) 17:51:05.770844 Received PORT (on stdin) 17:51:05.771349 ====> Client connect 17:51:05.772201 Received DATA (on stdin) 17:51:05.772213 > 17 bytes data, server => client 17:51:05.772224 'WE ROOLZ: 81155\r\n' 17:51:05.772249 Received DISC (on stdin) 17:51:05.772260 ====> Client forcibly disconnected 17:51:05.772425 Received QUIT (on stdin) 17:51:05.772436 quits 17:51:05.772505 ============> 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 ==156739== ==156739== Process terminating with default action of signal 4 (SIGILL) ==156739== Illegal opcode at address 0x4014520 ==156739== at 0x4014520: getparameter (tool_getparam.c:2862) ==156739== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156739== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156739== by 0x4003728: main (tool_main.c:186) === End of file valgrind1414 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/10/valgrind1418 ../src/curl -q --output log/10/curl1418.out --include --trace-ascii log/10/trace1418 --trace-time http://127.0.0.1:32889/1418 -u testuser:testpass --anyauth http://127.0.0.1:32889/14180003 > log/10/stdout1418 2> log/10/stderr1418 1418: 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 1418 === Start of file commands.log ../libtool --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/valgrind1418 ../src/curl -q --output log/10/curl1418.out --include --trace-ascii log/10/trace1418 --trace-time http://127.0.0.1:32889/1418 -u testuser:testpass --anyauth http://127.0.0.1:32889/14180003 > log/10/stdout1418 2> log/10/stderr1418 === End of file commands.log === Start of file http_server.log 17:51:05.939597 ====> Client connect 17:51:05.939641 accept_connection 3 returned 4 17:51:05.939662 accept_connection 3 returned 0 17:51:05.940159 Read 93 bytes 17:51:05.940179 Process 93 bytes request 17:51:05.940194 Got request: GET /verifiedserver HTTP/1.1 17:51:05.940203 Are-we-friendly question received 17:51:05.940241 Wrote request (93 bytes) input to log/10/server.input 17:51:05.940261 Identifying ourselves as friends 17:51:05.940328 Response sent (56 bytes) and written to log/10/server.response 17:51:05.940340 special request received, no persistency 17:51:05.940349 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 37732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind1418 ==156827== ==156827== Process terminating with default action of signal 4 (SIGILL) ==156827== Illegal opcode at address 0x4014520 ==156827== at 0x4014520: getparameter (tool_getparam.c:2862) ==156827== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==156827== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==156827== by 0x4003728: main (tool_main.c:186) === End of file valgrind1418 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/22/server/http_ipv6_server.pid" --logfile "log/22/http_ipv6_server.log" --logdir "log/22" --portfile log/22/server/http_ipv6_server.port --config log/22/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 156174 port 46781 * pid http-ipv6 => 156174 156174 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/22/valgrind1408 ../src/curl -q --output log/22/curl1408.out --include --trace-ascii log/22/trace1408 --trace-time -c log/22/jar1408 -g http://[::1]:46781/path/14080001 http://[::1]:46781/path/14080002 > log/22/stdout1408 2> log/22/stderr1408 1408: 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 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/22/valgrind1408 ../src/curl -q --output log/22/curl1408.out --include --trace-ascii log/22/trace1408 --trace-time -c log/22/jar1408 -g http://[::1]:46781/path/14080001 http://[::1]:46781/path/14080002 > log/22/stdout1408 2> log/22/stderr1408 === End of file commands.log === Start of file http_ipv6_server.log 17:51:05.514951 Running HTTP IPv6 version on port 46781 17:51:05.515060 Wrote pid 156174 to log/22/server/http_ipv6_server.pid 17:51:05.515400 Wrote port 46781 to log/22/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1408 === End of file server.cmd === Start of file valgrind1408 ==157185== ==157185== Process terminating with default action of signal 4 (SIGILL) ==157185== Illegal opcode at address 0x4014520 ==157185== at 0x4014520: getparameter (tool_getparam.c:2862) ==157185== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157185== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157185== by 0x4003728: main (tool_main.c:186) === End of file valgrind1408 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/3/valgrind1422 ../src/curl -q --trace-ascii log/3/trace1422 --trace-time http://127.0.0.1:45927/1422 -J -O file:///startdir/src/build-curl/tests/log/3/name1422 --output-dir log/3 > log/3/stdout1422 2> log/3/stderr1422 1422: 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 1422 === Start of file commands.log ../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/19/valgrind1424 ../src/curl -q --trace-ascii log/19/trace1424 --trace-time http://127.0.0.1:36987/1424 -z "dec 12 11:00:00 1999 GMT" -o log/19/outfile1424 > log/19/stdout1424 2> log/19/stderr1424 env: ‘python3’: No such file or directory CMD (33792): ../libtool --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/valgrind1427 ../src/curl -q --output log/16/curl1427.out --include --trace-ascii log/16/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/16/stdout1427 2> log/16/stderr1427 env: ‘python3’: No such file or directory CMD (33792): ../libtool --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/valgrind1423 ../src/curl -q --trace-ascii log/1/trace1423 --trace-time http://127.0.0.1:39589/1423 -o log/1/outfile1423 file:///startdir/src/build-curl/tests/log/1/outfile1423 > log/1/stdout1423 2> log/1/stderr1423 xecute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1422 ../src/curl -q --trace-ascii log/3/trace1422 --trace-time http://127.0.0.1:45927/1422 -J -O file:///startdir/src/build-curl/tests/log/3/name1422 --output-dir log/3 > log/3/stdout1422 2> log/3/stderr1422 === End of file commands.log === Start of file http_server.log 17:51:06.555320 ====> Client connect 17:51:06.555369 accept_connection 3 returned 4 17:51:06.555385 accept_connection 3 returned 0 17:51:06.555401 Read 93 bytes 17:51:06.555411 Process 93 bytes request 17:51:06.555424 Got request: GET /verifiedserver HTTP/1.1 17:51:06.555434 Are-we-friendly question received 17:51:06.555458 Wrote request (93 bytes) input to log/3/server.input 17:51:06.555475 Identifying ourselves as friends 17:51:06.555531 Response sent (56 bytes) and written to log/3/server.response 17:51:06.555541 special request received, no persistency 17:51:06.555550 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 37864 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1422 ==157231== ==157231== Process terminating with default action of signal 4 (SIGILL) ==157231== Illegal opcode at address 0x4014520 ==157231== at 0x4014520: getparameter (tool_getparam.c:2862) ==157231== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157231== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157231== by 0x4003728: main (tool_main.c:186) === End of file valgrind1422 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/19/valgrind1424 ../src/curl -q --trace-ascii log/19/trace1424 --trace-time http://127.0.0.1:36987/1424 -z "dec 12 11:00:00 1999 GMT" -o log/19/outfile1424 > log/19/stdout1424 2> log/19/stderr1424 1424: 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 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/19/valgrind1424 ../src/curl -q --trace-ascii log/19/trace1424 --trace-time http://127.0.0.1:36987/1424 -z "dec 12 11:00:00 1999 GMT" -o log/19/outfile1424 > log/19/stdout1424 2> log/19/stderr1424 === End of file commands.log === Start of file http_server.log 17:51:06.672960 ====> Client connect 17:51:06.673003 accept_connection 3 returned 4 17:51:06.673020 accept_connection 3 returned 0 17:51:06.673036 Read 93 bytes 17:51:06.673045 Process 93 bytes request 17:51:06.673062 Got request: GET /verifiedserver HTTP/1.1 17:51:06.673071 Are-we-friendly question received 17:51:06.673100 Wrote request (93 bytes) input to log/19/server.input 17:51:06.673116 Identifying ourselves as friends 17:51:06.673182 Response sent (56 bytes) and written to log/19/server.response 17:51:06.673191 special request received, no persistency 17:51:06.673199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 45320 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1424 ==157342== ==157342== Process terminating with default action of signal 4 (SIGILL) ==157342== Illegal opcode at address 0x4014520 ==157342== at 0x4014520: getparameter (tool_getparam.c:2862) ==157342== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157342== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157342== by 0x4003728: main (tool_main.c:186) === End of file valgrind1424 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/16/valgrind1427 ../src/curl -q --output log/16/curl1427.out --include --trace-ascii log/16/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/16/stdout1427 2> log/16/stderr1427 curl returned 132, when expecting 2 1427: exit FAILED == Contents of files in the log/16/ 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/16/valgrind1427 ../src/curl -q --output log/16/curl1427.out --include --trace-ascii log/16/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/16/stdout1427 2> log/16/stderr1427 === End of file commands.log === Start of file server.cmd Testnum 1427 === End of file server.cmd === Start of file valgrind1427 ==157460== ==157460== Process terminating with default action of signal 4 (SIGILL) ==157460== Illegal opcode at address 0x4014520 ==157460== at 0x4014520: getparameter (tool_getparam.c:2862) ==157460== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157460== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157460== by 0x4003728: main (tool_main.c:186) === 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/1/valgrind1423 ../src/curl -q --trace-ascii log/1/trace1423 --trace-time http://127.0.0.1:39589/1423 -o log/1/outfile1423 file:///startdir/src/build-curl/tests/log/1/outfile1423 > log/1/stdout1423 2> log/1/stderr1423 1423: 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 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/1/valgrind1423 ../src/curl -q --trace-ascii log/1/trace1423 --trace-time http://127.0.0.1:39589/1423 -o log/1/outfile1423 file:///startdir/src/build-curl/tests/log/1/outfile1423 > log/1/stdout1423 2> log/1/stderr1423 === End of file commands.log === Start of file http_server.log 17:51:06.576349 ====> Client connect 17:51:06.576404 accept_connection 3 returned 4 17:51:06.576425 accept_connection 3 returned 0 17:51:06.576443 Read 93 bytes 17:51:06.576453 Process 93 bytes request 17:51:06.576468 Got request: GET /verifiedserver HTTP/1.1 17:51:06.576477 env: ‘python3’: No such file or directory CMD (33792): ../libtool --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/valgrind1433 ../src/curl -q --output log/2/curl1433.out --include --trace-ascii log/2/trace1433 --trace-time http://127.0.0.1:38779/1433 > log/2/stdout1433 2> log/2/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/9/valgrind1442 ../src/curl -q --include --trace-ascii log/9/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt --write-out='\' > log/9/stdout1442 2> log/9/stderr1442 Are-we-friendly question received 17:51:06.576506 Wrote request (93 bytes) input to log/1/server.input 17:51:06.576523 Identifying ourselves as friends 17:51:06.576623 Response sent (56 bytes) and written to log/1/server.response 17:51:06.576639 special request received, no persistency 17:51:06.576649 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 38392 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind1423 ==157229== ==157229== Process terminating with default action of signal 4 (SIGILL) ==157229== Illegal opcode at address 0x4014520 ==157229== at 0x4014520: getparameter (tool_getparam.c:2862) ==157229== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157229== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157229== by 0x4003728: main (tool_main.c:186) === End of file valgrind1423 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/2/valgrind1433 ../src/curl -q --output log/2/curl1433.out --include --trace-ascii log/2/trace1433 --trace-time http://127.0.0.1:38779/1433 > log/2/stdout1433 2> log/2/stderr1433 1433: 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 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/2/valgrind1433 ../src/curl -q --output log/2/curl1433.out --include --trace-ascii log/2/trace1433 --trace-time http://127.0.0.1:38779/1433 > log/2/stdout1433 2> log/2/stderr1433 === End of file commands.log === Start of file http_server.log 17:51:07.898943 ====> Client connect 17:51:07.898977 accept_connection 3 returned 4 17:51:07.898995 accept_connection 3 returned 0 17:51:07.899009 Read 93 bytes 17:51:07.899019 Process 93 bytes request 17:51:07.899031 Got request: GET /verifiedserver HTTP/1.1 17:51:07.899040 Are-we-friendly question received 17:51:07.899066 Wrote request (93 bytes) input to log/2/server.input 17:51:07.899082 Identifying ourselves as friends 17:51:07.899140 Response sent (56 bytes) and written to log/2/server.response 17:51:07.899150 special request received, no persistency 17:51:07.899159 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 39914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1433 ==157725== ==157725== Process terminating with default action of signal 4 (SIGILL) ==157725== Illegal opcode at address 0x4014520 ==157725== at 0x4014520: getparameter (tool_getparam.c:2862) ==157725== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157725== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157725== by 0x4003728: main (tool_main.c:186) === 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/17/valgrind1432 ../src/curl -q --output log/17/curl1432.out --include --trace-ascii log/17/trace1432 --trace-time http://127.0.0.1:44593/1432 > log/17/stdout1432 2> log/17/stderr1432 CMD (33792): ../libtool --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/valgrind1444 ../src/curl -q --output log/12/curl1444.out --include --trace-ascii log/12/trace1444 --trace-time ftp://127.0.0.1:38035/1444 --remote-time > log/12/stdout1444 2> log/12/stderr1444 CMD (33792): ../libtool --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/valgrind1431 ../src/curl -q --output log/13/curl1431.out --include --trace-ascii log/13/trace1431 --trace-time http://127.0.0.1:43845/1431 > log/13/stdout1431 2> log/13/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/20/valgrind1430 ../src/curl -q --output log/20/curl1430.out --include --trace-ascii log/20/trace1430 --trace-time http://127.0.0.1:46725/1430 > log/20/stdout1430 2> log/20/stderr1430 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/9/valgrind1442 ../src/curl -q --include --trace-ascii log/9/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt --write-out='\' > log/9/stdout1442 2> log/9/stderr1442 1442: stdout FAILED: --- log/9/check-expected 2026-01-28 17:51:10.146555378 +0000 +++ log/9/check-generated 2026-01-28 17:51:10.146555378 +0000 @@ -1 +0,0 @@ -\ == Contents of files in the log/9/ 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/9/valgrind1442 ../src/curl -q --include --trace-ascii log/9/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt --write-out='\' > log/9/stdout1442 2> log/9/stderr1442 === End of file commands.log === Start of file server.cmd Testnum 1442 === End of file server.cmd === Start of file valgrind1442 ==158102== ==158102== Process terminating with default action of signal 4 (SIGILL) ==158102== Illegal opcode at address 0x4014520 ==158102== at 0x4014520: getparameter (tool_getparam.c:2862) ==158102== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158102== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158102== by 0x4003728: main (tool_main.c:186) === End of file valgrind1442 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/17/valgrind1432 ../src/curl -q --output log/17/curl1432.out --include --trace-ascii log/17/trace1432 --trace-time http://127.0.0.1:44593/1432 > log/17/stdout1432 2> log/17/stderr1432 1432: 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 1432 === Start of file commands.log ../libtool --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/valgrind1432 ../src/curl -q --output log/17/curl1432.out --include --trace-ascii log/17/trace1432 --trace-time http://127.0.0.1:44593/1432 > log/17/stdout1432 2> log/17/stderr1432 === End of file commands.log === Start of file http_server.log 17:51:07.868766 ====> Client connect 17:51:07.868797 accept_connection 3 returned 4 17:51:07.868813 accept_connection 3 returned 0 17:51:07.868827 Read 93 bytes 17:51:07.868835 Process 93 bytes request 17:51:07.868848 Got request: GET /verifiedserver HTTP/1.1 17:51:07.868856 Are-we-friendly question received 17:51:07.869034 Wrote request (93 bytes) input to log/17/server.input 17:51:07.869058 Identifying ourselves as friends 17:51:07.869126 Response sent (56 bytes) and written to log/17/server.response 17:51:07.869137 special request received, no persistency 17:51:07.869146 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 36470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1432 ==157689== ==157689== Process terminating with default action of signal 4 (SIGILL) ==157689== Illegal opcode at address 0x4014520 ==157689== at 0x4014520: getparameter (tool_getparam.c:2862) ==157689== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157689== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157689== by 0x4003728: main (tool_main.c:186) === End of file valgrind1432 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/13/valgrind1431 ../src/curl -q --output log/13/curl1431.out --include --trace-ascii log/13/trace1431 --trace-time http://127.0.0.1:43845/1431 > log/13/stdout1431 2> log/13/stderr1431 1431: 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 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/13/valgrind1431 ../src/curl -q --output log/13/curl1431.out --include --trace-ascii log/13/trace1431 --trace-time http://127.0.0.1:43845/1431 > log/13/stdout1431 2> log/13/stderr1431 === End of file commands.log === Start of file http_server.log 17:51:08.880527 ====> Client connect 17:51:08.880567 accept_connection 3 returned 4 17:51:08.880588 accept_connection 3 returned 0 17:51:08.880754 Read 93 bytes 17:51:08.880771 Process 93 bytes request 17:51:08.880784 Got request: GET /verifiedserver HTTP/1.1 17:51:08.880794 Are-we-friendly question received 17:51:08.880825 Wrote request (93 bytes) input to log/13/server.input 17:51:08.880844 Identifying ourselves as friends 17:51:08.880907 Response sent (56 bytes) and written to log/13/server.response 17:51:08.880919 special request received, no persistency 17:51:08.880928 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 47674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1431 ==157732== ==157732== Process terminating with default action of signal 4 (SIGILL) ==157732== Illegal opcode at address 0x4014520 ==157732== at 0x4014520: getparameter (tool_getparam.c:2862) ==157732== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157732== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157732== by 0x4003728: main (tool_main.c:186) === End of file valgrind1431 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/20/valgrind1430 ../src/curl -q --output log/20/curl1430.out --include --trace-ascii log/20/trace1430 --trace-time http://127.0.0.1:46725/1430 > log/20/stdout1430 2> log/20/stderr1430 1430: 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 1430 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-chCMD (256): /usr/bin/perl -e 'exit((stat("log/12/curl1444.out"))[9] != 1234567890)' eck=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1430 ../src/curl -q --output log/20/curl1430.out --include --trace-ascii log/20/trace1430 --trace-time http://127.0.0.1:46725/1430 > log/20/stdout1430 2> log/20/stderr1430 === End of file commands.log === Start of file http_server.log 17:51:07.789561 ====> Client connect 17:51:07.789751 accept_connection 3 returned 4 17:51:07.789772 accept_connection 3 returned 0 17:51:07.789789 Read 93 bytes 17:51:07.789800 Process 93 bytes request 17:51:07.789814 Got request: GET /verifiedserver HTTP/1.1 17:51:07.789823 Are-we-friendly question received 17:51:07.789854 Wrote request (93 bytes) input to log/20/server.input 17:51:07.789871 Identifying ourselves as friends 17:51:07.789960 Response sent (56 bytes) and written to log/20/server.response 17:51:07.789972 special request received, no persistency 17:51:07.789981 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 57904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1430 ==157595== ==157595== Process terminating with default action of signal 4 (SIGILL) ==157595== Illegal opcode at address 0x4014520 ==157595== at 0x4014520: getparameter (tool_getparam.c:2862) ==157595== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157595== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157595== by 0x4003728: main (tool_main.c:186) === End of file valgrind1430 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/12/valgrind1444 ../src/curl -q --output log/12/curl1444.out --include --trace-ascii log/12/trace1444 --trace-time ftp://127.0.0.1:38035/1444 --remote-time > log/12/stdout1444 2> log/12/stderr1444 postcheck /usr/bin/perl -e 'exit((stat("log/12/curl1444.out"))[9] != 1234567890)' 1444: postcheck FAILED == Contents of files in the log/12/ 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/12/valgrind1444 ../src/curl -q --output log/12/curl1444.out --include --trace-ascii log/12/trace1444 --trace-time ftp://127.0.0.1:38035/1444 --remote-time > log/12/stdout1444 2> log/12/stderr1444 === End of file commands.log === Start of file ftp_server.log 17:51:08.488957 ====> Client connect 17:51:08.489142 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:08.490333 < "USER anonymous" 17:51:08.490376 > "331 We are happy you popped in![CR][LF]" 17:51:08.490560 < "PASS ftp@example.com" 17:51:08.490589 > "230 Welcome you silly person[CR][LF]" 17:51:08.490749 < "PWD" 17:51:08.490784 > "257 "/" is current directory[CR][LF]" 17:51:08.500210 < "EPSV" 17:51:08.500281 ====> Passive DATA channel requested by client 17:51:08.500298 DATA sockfilt for passive data channel starting... 17:51:08.516717 DATA sockfilt for passive data channel started (pid 158308) 17:51:08.516959 DATA sockfilt for passive data channel listens on port 45823 17:51:08.517019 > "229 Entering Passive Mode (|||45823|)[CR][LF]" 17:51:08.517040 Client has been notified that DATA conn will be accepted on port 45823 17:51:08.533377 Client connects to port 45823 17:51:08.533505 ====> Client established passive DATA connection on port 45823 17:51:08.533659 < "TYPE I" 17:51:08.533710 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:08.540159 < "SIZE verifiedserver" 17:51:08.540242 > "213 17[CR][LF]" 17:51:08.540480 < "RETR verifiedserver" 17:51:08.540523 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:08.540638 =====> Closing passive DATA connection... 17:51:08.540662 Server disconnects passive DATA connection 17:51:08.540937 Server disconnected passive DATA connection 17:51:08.540970 DATA sockfilt for passive data channel quits (pid 158308) 17:51:08.541295 DATA sockfilt for passive data channel quit (pid 158308) 17:51:08.541323 =====> Closed passive DATA connection 17:51:08.541354 > "226 File transfer complete[CR][LF]" 17:51:08.600387 < "QUIT" 17:51:08.600450 > "221 bye bye baby[CR][LF]" 17:51:08.601956 MAIN sockfilt said DISC 17:51:08.602001 ====> Client disconnected 17:51:08.602095 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:08.334985 ====> Client connect 17:51:08.336167 Received DATA (on stdin) 17:51:08.336193 > 146 bytes data, server => client 17:51:08.336205 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:08.336216 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:08.336225 '220 \___|\___/|_| \_\_____|\r\n' 17:51:08.336344 < 16 bytes data, client => server 17:51:08.336358 'USER anonymous\r\n' 17:51:08.336560 Received DATA (on stdin) 17:51:08.336572 > 33 bytes data, server => client 17:51:08.336583 '331 We are happy you popped in!\r\n' 17:51:08.336638 < 22 bytes data, client => server 17:51:08.336652 'PASS ftp@example.com\r\n' 17:51:08.336767 Received DATA (on stdin) 17:51:08.336779 > 30 bytes data, server => client 17:51:08.336789 '230 Welcome you silly person\r\n' 17:51:08.336839 < 5 bytes data, client => server 17:51:08.336851 'PWD\r\n' 17:51:08.336962 Received DATA (on stdin) 17:51:08.336973 > 30 bytes data, server => client 17:51:08.336983 '257 "/" is current directory\r\n' 17:51:08.342949 < 6 bytes data, client => server 17:51:08.342996 'EPSV\r\n' 17:51:08.366175 Received DATA (on stdin) 17:51:08.366213 > 39 bytes data, server => client 17:51:08.366225 '229 Entering Passive Mode (|||45823|)\r\n' 17:51:08.366439 < 8 bytes data, client => server 17:51:08.366455 'TYPE I\r\n' 17:51:08.382838 Received DATA (on stdin) 17:51:08.382876 > 33 bytes data, server => client 17:51:08.382888 '200 I modify TYPE as you wanted\r\n' 17:51:08.383029 < 21 bytes data, client => server 17:51:08.383047 'SIZE verifiedserver\r\n' 17:51:08.386434 Received DATA (on stdin) 17:51:08.386451 > 8 bytes data, server => client 17:51:08.386461 '213 17\r\n' 17:51:08.386559 < 21 bytes data, client => server 17:51:08.386574 'RETR verifiedserver\r\n' 17:51:08.386845 Received DATA (on stdin) 17:51:08.386857 > 29 bytes data, server => client 17:51:08.386867 '150 Binary junk (17 bytes).\r\n' 17:51:08.387535 Received DATA (on stdin) 17:51:08.387547 > 28 bytes data, server => client 17:51:08.387557 '226 File transfer complete\r\n' 17:51:08.446338 < 6 bytes data, client => server 17:51:08.446384 'QUIT\r\n' 17:51:08.446638 Received DATA (on stdin) 17:51:08.446653 > 18 bytes data, server => client 17:51:08.446664 '221 bye bye baby\r\n' 17:51:08.448069 ====> Client disconnect 17:51:08.448281 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:08.350612 Running IPv4 version 17:51:08.350698 Listening on port 45823 17:51:08.350752 Wrote pid 158308 to log/12/server/ftp_sockdata.pid 17:51:08.356202 Received PING (on stdin) 17:51:08.363003 Received PORT (on stdin) 17:51:08.372852 ====> Client connect 17:51:08.386901 Received DATA (on stdin) 17:51:08.386920 > 17 bytes data, server => client 17:51:08.386930 'WE ROOLZ: 81047\r\n' 17:51:08.386959 Received DISC (on stdin) 17:51: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/valgrind1429 ../src/curl -q --include --trace-ascii log/7/trace1429 --trace-time http://127.0.0.1:35671/1429 --write-out '%{response_code}' > log/7/stdout1429 2> log/7/stderr1429 CMD (33792): ../libtool --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/valgrind1428 ../src/curl -q --output log/15/curl1428.out --include --trace-ascii log/15/trace1428 --trace-time http://test.1428:41057/we/want/that/page/1428 -p -x 127.0.0.1:43721 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/15/stdout1428 2> log/15/stderr1428 8.386971 ====> Client forcibly disconnected 17:51:08.387159 Received QUIT (on stdin) 17:51:08.387170 quits 17:51:08.387249 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1444 === End of file server.cmd === Start of file valgrind1444 ==158461== ==158461== Process terminating with default action of signal 4 (SIGILL) ==158461== Illegal opcode at address 0x4014520 ==158461== at 0x4014520: getparameter (tool_getparam.c:2862) ==158461== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158461== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158461== by 0x4003728: main (tool_main.c:186) === End of file valgrind1444 CMD (33792): ../libtool --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/valgrind1443 ../src/curl -q --trace-ascii log/23/trace1443 --trace-time http://127.0.0.1:39173/1443 -O --remote-time --output-dir log/23 > log/23/stdout1443 2> log/23/stderr1443 CMD (33792): ../libtool --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/valgrind1441 ../src/curl -q --include --trace-ascii log/4/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/4/non-existent-file.txt --write-out '%' > log/4/stdout1441 2> log/4/stderr1441 CMD (256): /usr/bin/perl -e 'exit((stat("log/23/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/14/valgrind1437 ../src/curl -q --output log/14/curl1437.out --include --trace-ascii log/14/trace1437 --trace-time http://127.0.0.1:37569/1437 -u testuser:testpass --digest > log/14/stdout1437 2> log/14/stderr1437 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/7/valgrind1429 ../src/curl -q --include --trace-ascii log/7/trace1429 --trace-time http://127.0.0.1:35671/1429 --write-out '%{response_code}' > log/7/stdout1429 2> log/7/stderr1429 1429: stdout FAILED: --- log/7/check-expected 2026-01-28 17:51:10.359888712 +0000 +++ log/7/check-generated 2026-01-28 17:51:10.359888712 +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/7/ 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/7/valgrind1429 ../src/curl -q --include --trace-ascii log/7/trace1429 --trace-time http://127.0.0.1:35671/1429 --write-out '%{response_code}' > log/7/stdout1429 2> log/7/stderr1429 === End of file commands.log === Start of file http_server.log 17:51:07.784633 ====> Client connect 17:51:07.784670 accept_connection 3 returned 4 17:51:07.784689 accept_connection 3 returned 0 17:51:07.784704 Read 93 bytes 17:51:07.784714 Process 93 bytes request 17:51:07.784728 Got request: GET /verifiedserver HTTP/1.1 17:51:07.784737 Are-we-friendly question received 17:51:07.784773 Wrote request (93 bytes) input to log/7/server.input 17:51:07.784790 Identifying ourselves as friends 17:51:07.784848 Response sent (56 bytes) and written to log/7/server.response 17:51:07.784858 special request received, no persistency 17:51:07.784867 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 47794 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 17 WE ROOLZ: 75084 === End of file server.response === Start of file valgrind1429 ==157622== ==157622== Process terminating with default action of signal 4 (SIGILL) ==157622== Illegal opcode at address 0x4014520 ==157622== at 0x4014520: getparameter (tool_getparam.c:2862) ==157622== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157622== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157622== by 0x4003728: main (tool_main.c:186) === End of file valgrind1429 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/15/server/http2_server.pid" --logfile "log/15/http2_server.log" --logdir "log/15" --portfile log/15/server/http2_server.port --config log/15/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 157492 port 43721 * pid http-proxy => 157492 157492 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/15/valgrind1428 ../src/curl -q --output log/15/curl1428.out --include --trace-ascii log/15/trace1428 --trace-time http://test.1428:41057/we/want/that/page/1428 -p -x 127.0.0.1:43721 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/15/stdout1428 2> log/15/stderr1428 1428: 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 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/15/valgrind1428 ../src/curl -q --output log/15/curl1428.out --include --trace-ascii log/15/trace1428 --trace-time http://test.1428:41057/we/want/that/page/1428 -p -x 127.0.0.1:43721 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/15/stdout1428 2> log/15/stderr1428 === End of file commands.log === Start of file http2_server.log 17:51:07.305422 Run as proxy, CONNECT to host 127.0.0.1 17:51:07.305557 Running HTTP IPv4 version on port 43721 17:51:07.305604 Wrote pid 157492 to log/15/server/http2_server.pid 17:51:07.305636 Wrote port 43721 to log/15/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:51:07.245771 ====> Client connect 17:51:07.245812 accept_connection 3 returned 4 17:51:07.245832 accept_connection 3 returned 0 17:51:07.245847 Read 93 bytes 17:51:07.245856 Process 93 bytes request 17:51:07.245872 Got request: GET /verifiedserver HTTP/1.1 17:51:07.245880 Are-we-friendly question received 17:51:07.245906 Wrote request (93 bytes) input to log/15/server.input 17:51:07.245924 Identifying ourselves as friends 17:51:07.245986 Response sent (56 bytes) and written to log/15/server.response 17:51:07.245997 special request received, no persistency 17:51:07.246005 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 52810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === End of file http_verify.out === 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: 74820 === End of file server.response === Start of file valgrind1428 ==158169== ==158169== Process terminating with default action of signal 4 (SIGILL) ==158169== Illegal opcode at address 0x4014520 ==158169== at 0x4014520: getparameter (tool_getparam.c:2862) ==158169== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158169== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158169== by 0x4003728: main (tool_main.c:186) === End of file valgrind1428 CMD (33792): ../libtool --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/valgrind1440 ../src/curl -q --include --trace-ascii log/24/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/24/non-existent-file.txt --write-out '%{' > log/24/stdout1440 2> log/24/stderr1440 CMD (33792): ../libtool --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/valgrind1439 ../src/curl -q --include --trace-ascii log/6/trace1439 --trace-time http://127.0.0.1:36645/1439 --write-out '%{http_version}' > log/6/stdout1439 2> log/6/stderr1439 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/4/valgrind1441 ../src/curl -q --include --trace-ascii log/4/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/4/non-existent-file.txt --write-out '%' > log/4/stdout1441 2> log/4/stderr1441 1441: stdout FAILED: --- log/4/check-expected 2026-01-28 17:51:10.509888712 +0000 +++ log/4/check-generated 2026-01-28 17:51:10.509888712 +0000 @@ -1 +0,0 @@ -% == Contents of files in the log/4/ 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/4/valgrind1441 ../src/curl -q --include --trace-ascii log/4/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/4/non-existent-file.txt --write-out '%' > log/4/stdout1441 2> log/4/stderr1441 === End of file commands.log === Start of file server.cmd Testnum 1441 === End of file server.cmd === Start of file valgrind1441 ==158036== ==158036== Process terminating with default action of signal 4 (SIGILL) ==158036== Illegal opcode at address 0x4014520 ==158036== at 0x4014520: getparameter (tool_getparam.c:2862) ==158036== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158036== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158036== by 0x4003728: main (tool_main.c:186) === End of file valgrind1441 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/23/valgrind1443 ../src/curl -q --trace-ascii log/23/trace1443 --trace-time http://127.0.0.1:39173/1443 -O --remote-time --output-dir log/23 > log/23/stdout1443 2> log/23/stderr1443 postcheck /usr/bin/perl -e 'exit((stat("log/23/1443"))[9] != 960898200)' 1443: postcheck FAILED == Contents of files in the log/23/ 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/23/valgrind1443 ../src/curl -q --trace-ascii log/23/trace1443 --trace-time http://127.0.0.1:39173/1443 -O --remote-time --output-dir log/23 > log/23/stdout1443 2> log/23/stderr1443 === End of file commands.log === Start of file http_server.log 17:51:09.286305 ====> Client connect 17:51:09.286362 accept_connection 3 returned 4 17:51:09.286386 accept_connection 3 returned 0 17:51:09.286404 Read 93 bytes 17:51:09.286415 Process 93 bytes request 17:51:09.286431 Got request: GET /verifiedserver HTTP/1.1 17:51:09.286441 Are-we-friendly question received 17:51:09.286482 Wrote request (93 bytes) input to log/23/server.input 17:51:09.286501 Identifying ourselves as friends 17:51:09.286580 Response sent (56 bytes) and written to log/23/server.response 17:51:09.286591 special request received, no persistency 17:51:09.286599 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 43412 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1443 ==158261== ==158261== Process terminating with default action of signal 4 (SIGILL) ==158261== Illegal opcode at address 0x4014520 ==158261== at 0x4014520: getparameter (tool_getparam.c:2862) ==158261== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158261== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158261== by 0x4003728: main (tool_main.c:186) === End of file valgrind1443 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/6/valgrind1439 ../src/curl -q --include --trace-ascii log/6/trace1439 --trace-time http://127.0.0.1:36645/1439 --write-out '%{http_version}' > log/6/stdout1439 2> log/6/stderr1439 1439: stdout FAILED: --- log/6/check-expected 2026-01-28 17:51:10.536555378 +0000 +++ log/6/check-generated 2026-01-28 17:51:10.536555378 +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/6/ 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/6/valgrind1439 ../src/curl -q --include --trace-ascii log/6/trace1439 --trace-time http://127.0.0.1:36645/1439 --write-out '%{http_version}' > log/6/stdout1439 2> log/6/stderr1439 === End of file commands.log === Start of file http_server.log 17:51:08.145914 ====> Client connect 17:51:08.145951 accept_connection 3 returned 4 17:51:08.145969 accept_connection 3 returned 0 17:51:08.145983 Read 93 bytes 17:51:08.145994 Process 93 bytes request 17:51:08.146007 Got request: GET /verifiedserver HTTP/1.1 17:51:08.146015 Are-we-friendly question received 17:51:08.146046 Wrote request (93 bytes) input to log/6/server.input 17:51:08.146063 Identifying ourselves as friends 17:51:08.146134 Response sent (57 bytes) and written to log/6/server.response 17:51:08.146161 special request received, no persistency 17:51:08.146172 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36645... * Established connection to 127.0.0.1 (127.0.0.1 port 36645) from 127.0.0.1 port 46146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36645 > User-Agent: curl/8.18.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:36645 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150721 === 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: 18 WE ROOLZ: 150721 === End of file server.response === Start of file valgrind1439 ==158015== ==158015== Process terminating with default action of signal 4 (SIGILL) ==158015== Illegal opcode at address 0x4014520 ==158015== at 0x4014520: getparameter (tool_getparam.c:2862) ==158015== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158015== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158015== by 0x4003728: main (tool_main.c:186) === End of file valgrind1439 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/14/valgrind1437 ../src/curl -q --output log/14/curl1437.out --include --trace-ascii log/14/trace1437 --trace-time http://127.0.0.1:37569/1437 -u testuser:testpass --digest > log/14/stdout1437 2> log/14/stderr1437 1437: 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 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/14/valgrind1437 ../src/curl -q --output log/14/curl1437.out --include --trace-ascii log/14/trace1437 --trace-time http://127.0.0.1:37569/1437 -u testuser:testpass --digest > log/14/stdout1437 2> log/14/stderr1437 === End of file commands.log === Start of file http_server.log 17:51:09.029748 ====> Client connect 17:51:09.029786 accept_connection 3 returned 4 17:51:09.029802 accept_connection 3 returned 0 17:51:09.029816 Read 93 bytes 17:51:09.029825 Process 93 bytes request 17:51:09.029840 Got request: GET /verifiedserver HTTP/1.1 17:51:09.029850 Are-we-friendly question received 17:51:09.029876 Wrote request (93 bytes) input to log/14/server.input 17:51:09.029895 Identifying ourselves as friends 17:51:09.029965 Response sent (56 bytes) and written to log/14/server.response 17:51:09.029976 special request received, no persistency 17:51:09.029986 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 39702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1437 ==157929== ==157929== Process terminating with default action of signal 4 (SIGILL) ==157929== Illegal opcode at address 0x4014520 ==157929== at 0x4014520: getparameter (tool_getparam.c:2862) ==157929== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157929== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157929== by 0x4003728: main (tool_main.c:186) === End of file valgrind1437 CMD (33792): ../libtool --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/valgrind1434 ../src/curl -q --output log/21/curl1434.out --include --trace-ascii log/21/trace1434 --trace-time http://127.0.0.1:41669/1434 -C 100 > log/21/stdout1434 2> log/21/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/11/valgrind1438 ../src/curl -q --include --trace-ascii log/11/trace1438 --trace-time http://127.0.0.1:46439/1438 --write-out '%{scheme}' > log/11/stdout1438 2> log/11/stderr1438 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/24/valgrind1440 ../src/curl -q --include --trace-ascii log/24/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/24/non-existent-file.txt --write-out '%{' > log/24/stdout1440 2> log/24/stderr1440 1440: stdout FAILED: --- log/24/check-expected 2026-01-28 17:51:10.553222045 +0000 +++ log/24/check-generated 2026-01-28 17:51:10.553222045 +0000 @@ -1 +0,0 @@ -%{ == Contents of files in the log/24/ 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/24/valgrind1440 ../src/curl -q --include --trace-ascii log/24/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/24/non-existent-file.txt --write-out '%{' > log/24/stdout1440 2> log/24/stderr1440 === End of file commands.log === Start of file server.cmd Testnum 1440 === End of file server.cmd === Start of file valgrind1440 ==158040== ==158040== Process terminating with default action of signal 4 (SIGILL) ==158040== Illegal opcode at address 0x4014520 ==158040== at 0x4014520: getparameter (tool_getparam.c:2862) ==158040== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158040== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158040== by 0x4003728: main (tool_main.c:186) === End of file valgrind1440 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/21/valgrind1434 ../src/curl -q --output log/21/curl1434.out --include --trace-ascii log/21/trace1434 --trace-time http://127.0.0.1:41669/1434 -C 100 > log/21/stdout1434 2> log/21/stderr1434 1434: 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 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/21/valgrind1434 ../src/curl -q --output log/21/curl1434.out --include --trace-ascii log/21/trace1434 --trace-time http://127.0.0.1:41669/1434 -C 100 > log/21/stdout1434 2> log/21/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 17:51:07.932597 ====> Client connect 17:51:07.932635 accept_connection 3 returned 4 17:51:07.932652 accept_connection 3 returned 0 17:51:07.932668 Read 93 bytes 17:51:07.932677 Process 93 bytes request 17:51:07.932693 Got request: GET /verifiedserver HTTP/1.1 17:51:07.932702 Are-we-friendly question received 17:51:07.932731 Wrote request (93 bytes) input to log/21/server.input 17:51:07.932750 Identifying ourselves as friends 17:51:07.932829 Response sent (56 bytes) and written to log/21/server.response 17:51:07.932840 special request received, no persistency 17:51:07.932848 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 41524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind1434 ==157763== ==157763== Process terminating with default action of signal 4 (SIGILL) ==157763== Illegal opcode at address 0x4014520 ==157763== at 0x4014520: getparameter (tool_getparam.c:2862) ==157763== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==157763== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==157763== by 0x4003728: main (tool_main.c:186) === End of file valgrind1434 CMD (33792): ../libtool --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/valgrind1445 ../src/curl -q --output log/8/curl1445.out --include --trace-ascii log/8/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test1445.dir/plainfile.txt --remote-time > log/8/stdout1445 2> log/8/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/8/test1445.dir log/8/curl1445.out 946728000 CMD (33792): ../libtool --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:35383/1449 -r 36893488147419103232- > log/3/stdout1449 2> log/3/stderr1449 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:46439/1438 --write-out '%{scheme}' > log/11/stdout1438 2> log/11/stderr1438 1438: stdout FAILED: --- log/11/check-expected 2026-01-28 17:51:10.879888712 +0000 +++ log/11/check-generated 2026-01-28 17:51:10.879888712 +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:46439/1438 --write-out '%{scheme}' > log/11/stdout1438 2> log/11/stderr1438 === End of file commands.log === Start of file http_server.log 17:51:08.144072 ====> Client connect 17:51:08.144106 accept_connection 3 returned 4 17:51:08.144121 accept_connection 3 returned 0 17:51:08.144135 Read 93 bytes 17:51:08.144144 Process 93 bytes request 17:51:08.144157 Got request: GET /verifiedserver HTTP/1.1 17:51:08.144166 Are-we-friendly question received 17:51:08.144190 Wrote request (93 bytes) input to log/11/server.input 17:51:08.144207 Identifying ourselves as friends 17:51:08.144257 Response sent (56 bytes) and written to log/11/server.response 17:51:08.144266 special request received, no persistency 17:51:08.144274 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 47118 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind1438 ==158008== ==158008== Process terminating with default action of signal 4 (SIGILL) ==158008== Illegal opcode at address 0x4014520 ==158008== at 0x4014520: getparameter (tool_getparam.c:2862) ==158008== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158008== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158008== by 0x4003728: main (tool_main.c:186) === End of file valgrind1438 prechecked /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl prepare /startdir/src/build-curl/tests/log/8/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/8/valgrind1445 ../src/curl -q --output log/8/curl1445.out --include --trace-ascii log/8/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test1445.dir/plainfile.txt --remote-time > log/8/stdout1445 2> log/8/stderr1445 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/8/test1445.dir log/8/curl1445.out 946728000 1445: postcheck FAILED == Contents of files in the log/8/ 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/8/valgrind1445 ../src/curl -q --output log/8/curl1445.out --include --trace-ascii log/8/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test1445.dir/plainfile.txt --remote-time > log/8/stdout1445 2> log/8/stderr1445 === End of file commands.log === Start of file server.cmd Testnum 1445 === End of file server.cmd === Start of file valgrind1445 ==158254== ==158254== Process terminating with default action of signal 4 (SIGILL) ==158254== Illegal opcode at address 0x4014520 ==158254== at 0x4014520: getparameter (tool_getparam.c:2862) ==158254== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158254== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158254== by 0x4003728: main (tool_main.c:186) === End of file valgrind1445 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:35383/1449 -r 36893488147419103232- > log/3/stdout1449 2> log/3/stderr1449 1449: 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 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:35383/1449 -r 36893488147419103232- > log/3/stdout1449 2> log/3/stderr1449 === End of file commands.log === Start of file ftp_server.log 17:51:09.059147 ====> Client connect 17:51:09.059426 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:09.059762 < "USER anonymous" 17:51:09.059805 > "331 We are happy you popped in![CR][LF]" 17:51:09.060005 < "PASS ftp@example.com" 17:51:09.060039 > "230 Welcome you silly person[CR][LF]" 17:51:09.060201 < "PWD" 17:51:09.060235 > "257 "/" is current directory[CR][LF]" 17:51:09.060395 < "EPSV" 17:51:09.060426 ====> Passive DATA channel requested by client 17:51:09.060440 DATA sockfilt for passive data channel starting... 17:51:09.080076 DATA sockfilt for passive data channel started (pid 158613) 17:51:09.083434 DATA sockfilt for passive data channel listens on port 39625 17:51:09.083512 > "229 Entering Passive Mode (|||39625|)[CR][LF]" 17:51:09.083531 Client has been notified that DATA conn will be accepted on port 39625 17:51:09.083882 Client connects to port 39625 17:51:09.083919 ====> Client established passive DATA connection on port 39625 17:51:09.084026 < "TYPE I" 17:51:09.084065 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:09.084234 < "SIZE verifiedserver" 17:51:09.084275 > "213 17[CR][LF]" 17:51:09.084424 < "RETR verifiedserver" 17:51:09.084462 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:09.084563 =====> Closing passive DATA connection... 17:51:09.084579 Server disconnects passive DATA connection 17:51:09.084817 Server disconnected passive DATA connection 17:51:09.084844 DATA sockfilt for passive data channel quits (pid 158613) 17:51:09.085108 DATA sockfilt for passive data channel quit (pid 158613) 17:51:09.085132 =====> Closed passive DATA connection 17:51:09.085162 > "226 File transfer complete[CR][LF]" 17:51:09.133490 < "QUIT" 17:51:09.133550 > "221 bye bye baby[CR][LF]" 17:51:09.134848 MAIN sockfilt said DISC 17:51:09.134891 ====> Client disconnected 17:51:09.1349CMD (33792): ../libtool --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/valgrind1435 ../src/curl -q --output log/18/curl1435.out --include --trace-ascii log/18/trace1435 --trace-time --unix-socket /startdir/src/build-curl/tests/log/18/server/http-uds http://server-interpreted.example.com/1435 > log/18/stdout1435 2> log/18/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/10/valgrind1447 ../src/curl -q --output log/10/curl1447.out --include --trace-ascii log/10/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/10/stdout1447 2> log/10/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/22/valgrind1448 ../src/curl -q --include --trace-ascii log/22/trace1448 --trace-time http://åäö.se:42933/1448 --resolve xn--4cab6c.se:42933:127.0.0.1 -L --connect-to 127.0.0.1:42933:127.0.0.1:42933 > log/22/stdout1448 2> log/22/stderr1448 67 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:08.905169 ====> Client connect 17:51:08.905635 Received DATA (on stdin) 17:51:08.905655 > 146 bytes data, server => client 17:51:08.905667 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:08.905678 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:08.905688 '220 \___|\___/|_| \_\_____|\r\n' 17:51:08.905778 < 16 bytes data, client => server 17:51:08.905791 'USER anonymous\r\n' 17:51:08.905986 Received DATA (on stdin) 17:51:08.905999 > 33 bytes data, server => client 17:51:08.906009 '331 We are happy you popped in!\r\n' 17:51:08.906065 < 22 bytes data, client => server 17:51:08.906076 'PASS ftp@example.com\r\n' 17:51:08.906215 Received DATA (on stdin) 17:51:08.906226 > 30 bytes data, server => client 17:51:08.906235 '230 Welcome you silly person\r\n' 17:51:08.906286 < 5 bytes data, client => server 17:51:08.906298 'PWD\r\n' 17:51:08.906411 Received DATA (on stdin) 17:51:08.906422 > 30 bytes data, server => client 17:51:08.906432 '257 "/" is current directory\r\n' 17:51:08.906489 < 6 bytes data, client => server 17:51:08.906500 'EPSV\r\n' 17:51:08.929721 Received DATA (on stdin) 17:51:08.929740 > 39 bytes data, server => client 17:51:08.929752 '229 Entering Passive Mode (|||39625|)\r\n' 17:51:08.929966 < 8 bytes data, client => server 17:51:08.929982 'TYPE I\r\n' 17:51:08.930244 Received DATA (on stdin) 17:51:08.930257 > 33 bytes data, server => client 17:51:08.930267 '200 I modify TYPE as you wanted\r\n' 17:51:08.930323 < 21 bytes data, client => server 17:51:08.930334 'SIZE verifiedserver\r\n' 17:51:08.930451 Received DATA (on stdin) 17:51:08.930462 > 8 bytes data, server => client 17:51:08.930472 '213 17\r\n' 17:51:08.930520 < 21 bytes data, client => server 17:51:08.930530 'RETR verifiedserver\r\n' 17:51:08.930759 Received DATA (on stdin) 17:51:08.930770 > 29 bytes data, server => client 17:51:08.930781 '150 Binary junk (17 bytes).\r\n' 17:51:08.931342 Received DATA (on stdin) 17:51:08.931354 > 28 bytes data, server => client 17:51:08.931365 '226 File transfer complete\r\n' 17:51:08.976187 < 6 bytes data, client => server 17:51:08.976218 'QUIT\r\n' 17:51:08.979736 Received DATA (on stdin) 17:51:08.979754 > 18 bytes data, server => client 17:51:08.979763 '221 bye bye baby\r\n' 17:51:08.980958 ====> Client disconnect 17:51:08.981142 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:09.913265 Running IPv4 version 17:51:09.913371 Listening on port 39625 17:51:09.913420 Wrote pid 158613 to log/3/server/ftp_sockdata.pid 17:51:09.925782 Received PING (on stdin) 17:51:09.926347 Received PORT (on stdin) 17:51:09.930004 ====> Client connect 17:51:09.930807 Received DATA (on stdin) 17:51:09.930821 > 17 bytes data, server => client 17:51:09.930835 'WE ROOLZ: 81126\r\n' 17:51:09.930859 Received DISC (on stdin) 17:51:09.930870 ====> Client forcibly disconnected 17:51:09.931028 Received QUIT (on stdin) 17:51:09.931039 quits 17:51:09.931115 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1449 === End of file server.cmd === Start of file valgrind1449 ==158677== ==158677== Process terminating with default action of signal 4 (SIGILL) ==158677== Illegal opcode at address 0x4014520 ==158677== at 0x4014520: getparameter (tool_getparam.c:2862) ==158677== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158677== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158677== by 0x4003728: main (tool_main.c:186) === End of file valgrind1449 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/18/server/http_unix_server.pid" --logfile "log/18/http_unix_server.log" --logdir "log/18" --portfile log/18/server/http_unix_server.port --config log/18/server.cmd --unix-socket '/startdir/src/build-curl/tests/log/18/server/http-uds' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 157656 port 8999 * pid http-unix => 157656 157656 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/18/valgrind1435 ../src/curl -q --output log/18/curl1435.out --include --trace-ascii log/18/trace1435 --trace-time --unix-socket /startdir/src/build-curl/tests/log/18/server/http-uds http://server-interpreted.example.com/1435 > log/18/stdout1435 2> log/18/stderr1435 1435: 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 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/18/valgrind1435 ../src/curl -q --output log/18/curl1435.out --include --trace-ascii log/18/trace1435 --trace-time --unix-socket /startdir/src/build-curl/tests/log/18/server/http-uds http://server-interpreted.example.com/1435 > log/18/stdout1435 2> log/18/stderr1435 === End of file commands.log === Start of file http_unix_server.log 17:51:08.890195 Running HTTP unix version on /startdir/src/build-curl/tests/log/18/server/http-uds 17:51:08.890274 Wrote pid 157656 to log/18/server/http_unix_server.pid 17:51:08.890305 Wrote port 8999 to log/18/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 ==158614== ==158614== Process terminating with default action of signal 4 (SIGILL) ==158614== Illegal opcode at address 0x4014520 ==158614== at 0x4014520: getparameter (tool_getparam.c:2862) ==158614== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158614== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158614== by 0x4003728: main (tool_main.c:186) === End of file valgrind1435 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/10/valgrind1447 ../src/curl -q --output log/10/curl1447.out --include --trace-ascii log/10/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/10/stdout1447 2> log/10/stderr1447 curl returned 132, when expecting 5 1447: exit FAILED == Contents of files in the log/10/ 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/10/valgrind1447 ../src/curl -q --output log/10/curl1447.out --include --trace-ascii log/10/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/10/stdout1447 2> log/10/stderr1447 === End of file commands.log === Start of file server.cmd Testnum 1447 === End of file server.cmd === Start of file valgrind1447 ==158435== ==158435== Process terminating with default action of signal 4 (SIGILL) ==158435== Illegal opcode at address 0x4014520 ==158435== at 0x4014520: getparameter (tool_getparam.c:2862) ==158435== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158435== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158435== by 0x4003728: main (tool_main.c:186) === End of file valgrind1447 CMD (33792): ../libtool --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/valgrind1436 ../src/curl -q --include --trace-ascii log/5/trace1436 --trace-time --unix-socket /startdir/src/build-curl/tests/log/5/server/http-uds http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/5/stdout1436 2> log/5/stderr1436 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/22/valgrind1448 ../src/curl -q --include --trace-ascii log/22/trace1448 --trace-time http://åäö.se:42933/1448 --resolve xn--4cab6c.se:42933:127.0.0.1 -L --connect-to 127.0.0.1:42933:127.0.0.1:42933 > log/22/stdout1448 2> log/22/stderr1448 1448: stdout FAILED: --- log/22/check-expected 2026-01-28 17:51:11.359888712 +0000 +++ log/22/check-generated 2026-01-28 17:51:11.359888712 +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:42933/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/22/ 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:42933/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/22/valgrind1448 ../src/curl -q --include --trace-ascii log/22/trace1448 --trace-time http://åäö.se:42933/1448 --resolve xn--4cab6c.se:42933:127.0.0.1 -L --connect-to 127.0.0.1:42933:127.0.0.1:42933 > log/22/stdout1448 2> log/22/stderr1448 === End of file commands.log === Start of file http_server.log 17:51:08.883077 ====> Client connect 17:51:08.883120 accept_connection 3 returned 4 17:51:08.883140 accept_connection 3 returned 0 17:51:08.883156 Read 93 bytes 17:51:08.883167 Process 93 bytes request 17:51:08.883181 Got request: GET /verifiedserver HTTP/1.1 17:51:08.883191 Are-we-friendly question received 17:51:08.883220 Wrote request (93 bytes) input to log/22/server.input 17:51:08.883238 Identifying ourselves as friends 17:51:08.883306 Response sent (56 bytes) and written to log/22/server.response 17:51:08.883315 special request received, no persistency 17:51:08.883324 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 39672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind1448 ==158619== ==158619== Process terminating with default action of signal 4 (SIGILL) ==158619== Illegal opcode at address 0x4014520 ==158619== at 0x4014520: getparameter (tool_getparam.c:2862) ==158619== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158619== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158619== by 0x4003728: main (tool_main.c:186) === End of file valgrind1448 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/5/stdout1477 2> log/5/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/5/stdout1478 2> log/5/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/2/valgrind1453 ../src/curl -q --output log/2/curl1453.out --include --trace-ascii log/2/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/2/stdout1453 2> log/2/stderr1453 CMD (33792): ../libtool --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/valgrind1460 ../src/curl -q --trace-ascii log/15/trace1460 --trace-time http://127.0.0.1:41057/1460 -Ji -O --output-dir log/15 > log/15/stdout1460 2> log/15/stderr1460 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_unix_server.pid" --logfile "log/5/http_unix_server.log" --logdir "log/5" --portfile log/5/server/http_unix_server.port --config log/5/server.cmd --unix-socket '/startdir/src/build-curl/tests/log/5/server/http-uds' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 157747 port 8999 * pid http-unix => 157747 157747 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/5/valgrind1436 ../src/curl -q --include --trace-ascii log/5/trace1436 --trace-time --unix-socket /startdir/src/build-curl/tests/log/5/server/http-uds http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/5/stdout1436 2> log/5/stderr1436 1436: stdout FAILED: --- log/5/check-expected 2026-01-28 17:51:11.519888712 +0000 +++ log/5/check-generated 2026-01-28 17:51:11.519888712 +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/5/ 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/5/valgrind1436 ../src/curl -q --include --trace-ascii log/5/trace1436 --trace-time --unix-socket /startdir/src/build-curl/tests/log/5/server/http-uds http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/5/stdout1436 2> log/5/stderr1436 === End of file commands.log === Start of file http_unix_server.log 17:51:08.973431 Running HTTP unix version on /startdir/src/build-curl/tests/log/5/server/http-uds 17:51:08.973532 Wrote pid 157747 to log/5/server/http_unix_server.pid 17:51:08.973571 Wrote port 8999 to log/5/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 ==158652== ==158652== Process terminating with default action of signal 4 (SIGILL) ==158652== Illegal opcode at address 0x4014520 ==158652== at 0x4014520: getparameter (tool_getparam.c:2862) ==158652== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158652== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158652== by 0x4003728: main (tool_main.c:186) === End of file valgrind1436 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/5/stdout1477 2> log/5/stderr1477 valgrind SKIPPED s------e--- OK (1407 out of 1760, remaining: 00:35, took 0.025s, duration: 02:19) 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/5/stdout1478 2> log/5/stderr1478 valgrind SKIPPED s------e--- OK (1408 out of 1760, remaining: 00:34, took 0.110s, duration: 02:19) 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/2/valgrind1453 ../src/curl -q --output log/2/curl1453.out --include --trace-ascii log/2/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/2/stdout1453 2> log/2/stderr1453 curl returned 132, when expecting 71 1453: exit FAILED == Contents of files in the log/2/ 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/2/valgrind1453 ../src/curl -q --output log/2/curl1453.out --include --trace-ascii log/2/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/2/stdout1453 2> log/2/stderr1453 === End of file commands.log === Start of file server.cmd Testnum 1453 === End of file server.cmd === Start of file valgrind1453 ==158864== ==158864== Process terminating with default action of signal 4 (SIGILL) ==158864== Illegal opcode at address 0x4014520 ==158864== at 0x4014520: getparameter (tool_getparam.c:2862) ==158864== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158864== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158864== by 0x4003728: main (tool_main.c:186) === End of file valgrind1453 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/15/valgrind1460 ../src/curl -q --trace-ascii log/15/trace1460 --trace-time http://127.0.0.1:41057/1460 -Ji -O --output-dir log/15 > log/15/stdout1460 2> log/15/stderr1460 curl returned 132, when expecting 23 1460: exit FAILED == Contents of files in the log/15/ 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/15/valgrind1460 ../src/curl -q --trace-ascii log/15/trace1460 --trace-time http://127.0.0.1:41057/1460 -Ji -O --output-dir log/15 > log/15/stdout1460 2> log/15/stderr1460 === End of file commands.log === Start of file http_server.log 17:51:10.269567 ====> Client connect 17:51:10.269606 accept_connection 3 returned 4 17:51:10.269622 accept_connection 3 returned 0 17:51:10.269638 Read 93 bytes 17:51:10.269648 Process 93 bytes request 17:51:10.269662 Got request: GET /verifiedserver HTTP/1.1 17:51:10.269671 Are-we-friendly question received 17:51:10.269700 Wrote request (93 bytes) input to log/15/server.input 17:51:10.269717 Identifying ourselves as friends 17:51:10.269798 Response sent (56 bytes) and written to log/15/server.response 17:51:10.269808 special request received, no persistency 17:51:10.269817 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * EstabCMD (33792): ../libtool --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/valgrind1457 ../src/curl -q --include --trace-ascii log/20/trace1457 --trace-time http://127.0.0.1:46725/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/20/stdout1457 2> log/20/stderr1457 lished connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 45166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1460 ==159069== ==159069== Process terminating with default action of signal 4 (SIGILL) ==159069== Illegal opcode at address 0x4014520 ==159069== at 0x4014520: getparameter (tool_getparam.c:2862) ==159069== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159069== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159069== by 0x4003728: main (tool_main.c:186) === End of file valgrind1460 CMD (33792): ../libtool --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:37413/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/13/valgrind1463 ../src/curl -q --include --trace-ascii log/13/trace1463 --trace-time --help file > log/13/stdout1463 2> log/13/stderr1463 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/20/valgrind1457 ../src/curl -q --include --trace-ascii log/20/trace1457 --trace-time http://127.0.0.1:46725/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/20/stdout1457 2> log/20/stderr1457 1457: stdout FAILED: --- log/20/check-expected 2026-01-28 17:51:12.213222044 +0000 +++ log/20/check-generated 2026-01-28 17:51:12.213222044 +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/20/ 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/20/valgrind1457 ../src/curl -q --include --trace-ascii log/20/trace1457 --trace-time http://127.0.0.1:46725/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/20/stdout1457 2> log/20/stderr1457 === End of file commands.log === Start of file http_server.log 17:51:10.266140 ====> Client connect 17:51:10.266192 accept_connection 3 returned 4 17:51:10.266208 accept_connection 3 returned 0 17:51:10.266222 Read 93 bytes 17:51:10.266232 Process 93 bytes request 17:51:10.266245 Got request: GET /verifiedserver HTTP/1.1 17:51:10.266253 Are-we-friendly question received 17:51:10.266276 Wrote request (93 bytes) input to log/20/server.input 17:51:10.266291 Identifying ourselves as friends 17:51:10.266671 Response sent (56 bytes) and written to log/20/server.response 17:51:10.266685 special request received, no persistency 17:51:10.266694 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 57910 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1457 ==159142== ==159142== Process terminating with default action of signal 4 (SIGILL) ==159142== Illegal opcode at address 0x4014520 ==159142== at 0x4014520: getparameter (tool_getparam.c:2862) ==159142== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159142== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159142== by 0x4003728: main (tool_main.c:186) === End of file valgrind1457 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:37413/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:37413/1455 --haproxy-protocol -H "Testno: 1455" > log/9/stdout1455 2> log/9/stderr1455 === End of file commands.log === Start of file http_server.log 17:51:10.078265 ====> Client connect 17:51:10.078306 accept_connection 3 returned 4 17:51:10.078324 accept_connection 3 returned 0 17:51:10.078339 Read 93 bytes 17:51:10.078349 Process 93 bytes request 17:51:10.078363 Got request: GET /verifiedserver HTTP/1.1 17:51:10.078373 Are-we-friendly question received 17:51:10.078401 Wrote request (93 bytes) input to log/9/server.input 17:51:10.078419 Identifying ourselves as friends 17:51:10.078480 Response sent (56 bytes) and written to log/9/server.response 17:51:10.078490 special request received, no persistency 17:51:10.078499 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 50196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind1455 ==158940== ==158940== Process terminating with default action of signal 4 (SIGILL) ==158940== Illegal opcode at address 0x4014520 ==158940== at 0x4014520: getparameter (tool_getparam.c:2862) ==158940== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==158940== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==158940== by 0x4003728: main (tool_main.c:186) === End of file valgrind1455 CMD (33792): ../libtool --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/valgrind1458 ../src/curl -q --output log/12/curl1458.out --include --trace-ascii log/12/trace1458 --trace-time --resolve *:36641:127.0.0.1 http://example.com:36641/1458 > log/12/stdout1458 2> log/12/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/23/valgrind1464 ../src/curl -q --include --trace-ascii log/23/trace1464 --trace-time --help fIlE > log/23/stdout1464 2> log/23/stderr1464 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/13/valgrind1463 ../src/curl -q --include --trace-ascii log/13/trace1463 --trace-time --help file > log/13/stdout1463 2> log/13/stderr1463 1463: stdout FAILED: --- log/13/check-expected 2026-01-28 17:51:12.246555378 +0000 +++ log/13/check-generated 2026-01-28 17:51:12.246555378 +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/13/ 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/13/valgrind1463 ../src/curl -q --include --trace-ascii log/13/trace1463 --trace-time --help file > log/13/stdout1463 2> log/13/stderr1463 === End of file commands.log === Start of file server.cmd Testnum 1463 === End of file server.cmd === Start of file valgrind1463 ==159018== ==159018== Process terminating with default action of signal 4 (SIGILL) ==159018== Illegal opcode at address 0x4014520 ==159018== at 0x4014520: getparameter (tool_getparam.c:2862) ==159018== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159018== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159018== by 0x4003728: main (tool_main.c:186) === End of file valgrind1463 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/12/valgrind1458 ../src/curl -q --output log/12/curl1458.out --include --trace-ascii log/12/trace1458 --trace-time --resolve *:36641:127.0.0.1 http://example.com:36641/1458 > log/12/stdout1458 2> log/12/stderr1458 1458: 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 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/12/valgrind1458 ../src/curl -q --output log/12/curl1458.out --include --trace-ascii log/12/trace1458 --trace-time --resolve *:36641:127.0.0.1 http://example.com:36641/1458 > log/12/stdout1458 2> log/12/stderr1458 === End of file commands.log === Start of file http_server.log 17:51:10.253766 ====> Client connect 17:51:10.253806 accept_connection 3 returned 4 17:51:10.253824 accept_connection 3 returned 0 17:51:10.253840 Read 93 bytes 17:51:10.253850 Process 93 bytes request 17:51:10.253865 Got request: GET /verifiedserver HTTP/1.1 17:51:10.253874 Are-we-friendly question received 17:51:10.253905 Wrote request (93 bytes) input to log/12/server.input 17:51:10.253925 Identifying ourselves as friends 17:51:10.254010 Response sent (56 bytes) and written to log/12/server.response 17:51:10.254023 special request received, no persistency 17:51:10.254032 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 40634 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 17 WE ROOLZ: 74920 === End of file server.response === Start of file valgrind1458 ==159055== ==159055== Process terminating with default action of signal 4 (SIGILL) ==159055== Illegal opcode at address 0x4014520 ==159055== at 0x4014520: getparameter (tool_getparam.c:2862) ==159055== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159055== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159055== by 0x4003728: main (tool_main.c:186) === End of file valgrind1458 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/23/stdout1486 2> log/23/stderr1486 CMD (33792): ../libtool --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/valgrind1465 ../src/curl -q --output log/24/curl1465.out --include --trace-ascii log/24/trace1465 --trace-time http://127.0.0.1:39649/we/want/1465 --libcurl log/24/test1465.c --data-binary @log/24/1465-upload > log/24/stdout1465 2> log/24/stderr1465 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/24/stdout1488 2> log/24/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/7/valgrind1462 ../src/curl -q --include --trace-ascii log/7/trace1462 --trace-time --help sdfafdsfadsfsd > log/7/stdout1462 2> log/7/stderr1462 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/23/valgrind1464 ../src/curl -q --include --trace-ascii log/23/trace1464 --trace-time --help fIlE > log/23/stdout1464 2> log/23/stderr1464 1464: stdout FAILED: --- log/23/check-expected 2026-01-28 17:51:12.476555377 +0000 +++ log/23/check-generated 2026-01-28 17:51:12.476555377 +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/23/ 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/23/valgrind1464 ../src/curl -q --include --trace-ascii log/23/trace1464 --trace-time --help fIlE > log/23/stdout1464 2> log/23/stderr1464 === End of file commands.log === Start of file server.cmd Testnum 1464 === End of file server.cmd === Start of file valgrind1464 ==159247== ==159247== Process terminating with default action of signal 4 (SIGILL) ==159247== Illegal opcode at address 0x4014520 ==159247== at 0x4014520: getparameter (tool_getparam.c:2862) ==159247== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159247== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159247== by 0x4003728: main (tool_main.c:186) === End of file valgrind1464 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/23/stdout1486 2> log/23/stderr1486 valgrind SKIPPED s------e--- OK (1416 out of 1760, remaining: 00:34, took 0.023s, duration: 02:20) 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/24/valgrind1465 ../src/curl -q --output log/24/curl1465.out --include --trace-ascii log/24/trace1465 --trace-time http://127.0.0.1:39649/we/want/1465 --libcurl log/24/test1465.c --data-binary @log/24/1465-upload > log/24/stdout1465 2> log/24/stderr1465 1465: 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 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/24/valgrind1465 ../src/curl -q --output log/24/curl1465.out --include --trace-ascii log/24/trace1465 --trace-time http://127.0.0.1:39649/we/want/1465 --libcurl log/24/test1465.c --data-binary @log/24/1465-upload > log/24/stdout1465 2> log/24/stderr1465 === End of file commands.log === Start of file http_server.log 17:51:10.469407 ====> Client connect 17:51:10.469441 accept_connection 3 returned 4 17:51:10.469458 accept_connection 3 returned 0 17:51:10.469472 Read 93 bytes 17:51:10.469497 Process 93 bytes request 17:51:10.469511 Got request: GET /verifiedserver HTTP/1.1 17:51:10.469520 Are-we-friendly question received 17:51:10.469544 Wrote request (93 bytes) input to log/24/server.input 17:51:10.469560 Identifying ourselves as friends 17:51:10.469615 Response sent (56 bytes) and written to log/24/server.response 17:51:10.469623 special request received, no persistency 17:51:10.469631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 39732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1465 ==159335== ==159335== Process terminating with default action of signal 4 (SIGILL) ==159335== Illegal opcode at address 0x4014520 ==159335== at 0x4014520: getparameter (tool_getparam.c:2862) ==159335== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159335== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159335== by 0x4003728: main (tool_main.c:186) === End of file valgrind1465 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/24/stdout1488 2> log/24/stderr1488 valgrind SKIPPED s------e--- OK (1418 out of 1760, remaining: 00:33, took 0.042s, duration: 02:20) CMD (33792): ../libtool --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/valgrind1469 ../src/curl -q --output log/21/curl1469.out --include --trace-ascii log/21/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/21/irrelevant-file > log/21/stdout1469 2> log/21/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/14/valgrind1466 ../src/curl -q --output log/14/curl1466.out --include --trace-ascii log/14/trace1466 --trace-time http://127.0.0.1:37569/1466 > log/14/stdout1466 2> log/14/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/8/valgrind1472 ../src/curl -q --output log/8/curl1472.out --include --trace-ascii log/8/trace1472 --trace-time tasty.onion. > log/8/stdout1472 2> log/8/stderr1472 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/7/valgrind1462 ../src/curl -q --include --trace-ascii log/7/trace1462 --trace-time --help sdfafdsfadsfsd > log/7/stdout1462 2> log/7/stderr1462 1462: stdout FAILED: --- log/7/check-expected 2026-01-28 17:51:12.863222044 +0000 +++ log/7/check-generated 2026-01-28 17:51:12.863222044 +0000 @@ -1,27 +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] - 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/7/ 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] 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/7/valgrind1462 ../src/curl -q --include --trace-ascii log/7/trace1462 --trace-time --help sdfafdsfadsfsd > log/7/stdout1462 2> log/7/stderr1462 === End of file commands.log === Start of file server.cmd Testnum 1462 === End of file server.cmd === Start of file valgrind1462 ==159005== ==159005== Process terminating with default action of signal 4 (SIGILL) ==159005== Illegal opcode at address 0x4014520 ==159005== at 0x4014520: getparameter (tool_getparam.c:2862) ==159005== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159005== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159005== by 0x4003728: main (tool_main.c:186) === End of file valgrind1462 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/21/valgrind1469 ../src/curl -q --output log/21/curl1469.out --include --trace-ascii log/21/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/21/irrelevant-file > log/21/stdout1469 2> log/21/stderr1469 curl returned 132, when expecting 3 1469: exit FAILED == Contents of files in the log/21/ 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/21/valgrind1469 ../src/curl -q --output log/21/curl1469.out --include --trace-ascii log/21/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/21/irrelevant-file > log/21/stdout1469 2> log/21/stderr1469 === End of file commands.log === Start of file server.cmd Testnum 1469 === End of file server.cmd === Start of file valgrind1469 ==159387== ==159387== Process terminating with default action of signal 4 (SIGILL) ==159387== Illegal opcode at address 0x4014520 ==159387== at 0x4014520: getparameter (tool_getparam.c:2862) ==159387== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159387== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159387== by 0x4003728: main (tool_main.c:186) === End of file valgrind1469 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/14/valgrind1466 ../src/curl -q --output log/14/curl1466.out --include --trace-ascii log/14/trace1466 --trace-time http://127.0.0.1:37569/1466 > log/14/stdout1466 2> log/14/stderr1466 1466: 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 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/14/valgrind1466 ../src/curl -q --output log/14/curl1466.out --include --trace-ascii log/14/trace1466 --trace-time http://127.0.0.1:37569/1466 > log/14/stdout1466 2> log/14/stderr1466 === End of file commands.log === Start of file http_server.log 17:51:11.493933 ====> Client connect 17:51:11.493969 accept_connection 3 returned 4 17:51:11.493988 accept_connection 3 returned 0 17:51:11.494004 Read 93 bytes 17:51:11.494013 Process 93 bytes request 17:51:11.494027 Got request: GET /verifiedserver HTTP/1.1 17:51:11.494036 Are-we-friendly question received 17:51:11.494061 Wrote request (93 bytes) input to log/14/server.input 17:51:11.494077 Identifying ourselves as friends 17:51:11.494143 Response sent (56 bytes) and written to log/14/server.response 17:51:11.494153 special request received, no persistency 17:51:11.494162 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 39708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1466 ==159381== ==159381== Process terminating with default action of signal 4 (SIGILL) ==159381== Illegal opcode at address 0x4014520 ==159381== at 0x4014520: getparameter (tool_getparam.c:2862) ==159381== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159381== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159381== by 0x4003728: main (tool_main.c:186) === End of file valgrind1466 CMD (33792): ../libtool --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/valgrind1474 ../src/curl -q --output log/18/curl1474.out --include --trace-ascii log/18/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/18/stdout1474 2> log/18/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/17/valgrind1456 ../src/curl -q --output log/17/curl1456.out --include --trace-ascii log/17/trace1456 --trace-time -g "http://[::1]:44493/1456" --haproxy-protocol > log/17/stdout1456 2> log/17/stderr1456 CMD (33792): ../libtool --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/valgrind1473 ../src/curl -q --output log/3/curl1473.out --include --trace-ascii log/3/trace1473 --trace-time http://127.0.0.1:45927/1473 > log/3/stdout1473 2> log/3/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/11/valgrind1471 ../src/curl -q --output log/11/curl1471.out --include --trace-ascii log/11/trace1471 --trace-time red.onion > log/11/stdout1471 2> log/11/stderr1471 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/8/valgrind1472 ../src/curl -q --output log/8/curl1472.out --include --trace-ascii log/8/trace1472 --trace-time tasty.onion. > log/8/stdout1472 2> log/8/stderr1472 1472: stderr FAILED: --- log/8/check-expected 2026-01-28 17:51:13.059888711 +0000 +++ log/8/check-generated 2026-01-28 17:51:13.059888711 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/8/ 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/8/valgrind1472 ../src/curl -q --output log/8/curl1472.out --include --trace-ascii log/8/trace1472 --trace-time tasty.onion. > log/8/stdout1472 2> log/8/stderr1472 === End of file commands.log === Start of file server.cmd Testnum 1472 === End of file server.cmd === Start of file valgrind1472 ==159577== ==159577== Process terminating with default action of signal 4 (SIGILL) ==159577== Illegal opcode at address 0x4014520 ==159577== at 0x4014520: getparameter (tool_getparam.c:2862) ==159577== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159577== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159577== by 0x4003728: main (tool_main.c:186) === End of file valgrind1472 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/18/valgrind1474 ../src/curl -q --output log/18/curl1474.out --include --trace-ascii log/18/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/18/stdout1474 2> log/18/stderr1474 curl returned 132, when expecting 2 1474: exit FAILED == Contents of files in the log/18/ 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/18/valgrind1474 ../src/curl -q --output log/18/curl1474.out --include --trace-ascii log/18/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/18/stdout1474 2> log/18/stderr1474 === End of file commands.log === Start of file server.cmd Testnum 1474 === End of file server.cmd === Start of file valgrind1474 ==159696== ==159696== Process terminating with default action of signal 4 (SIGILL) ==159696== Illegal opcode at address 0x4014520 ==159696== at 0x4014520: getparameter (tool_getparam.c:2862) ==159696== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159696== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159696== by 0x4003728: main (tool_main.c:186) === End of file valgrind1474 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/17/server/http_ipv6_server.pid" --logfile "log/17/http_ipv6_server.log" --logdir "log/17" --portfile log/17/server/http_ipv6_server.port --config log/17/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 158938 port 44493 * pid http-ipv6 => 158938 158938 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/17/valgrind1456 ../src/curl -q --output log/17/curl1456.out --include --trace-ascii log/17/trace1456 --trace-time -g "http://[::1]:44493/1456" --haproxy-protocol > log/17/stdout1456 2> log/17/stderr1456 1456: 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 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/17/valgrind1456 ../src/curl -q --output log/17/curl1456.out --include --trace-ascii log/17/trace1456 --trace-time -g "http://[::1]:44493/1456" --haproxy-protocol > log/17/stdout1456 2> log/17/stderr1456 === End of file commands.log === Start of file http_ipv6_server.log 17:51:10.129324 Running HTTP IPv6 version on port 44493 17:51:10.129461 Wrote pid 158938 to log/17/server/http_ipv6_server.pid 17:51:10.129507 Wrote port 44493 to log/17/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 ==159745== ==159745== Process terminating with default action of signal 4 (SIGILL) ==159745== Illegal opcode at address 0x4014520 ==159745== at 0x4014520: getparameter (tool_getparam.c:2862) ==159745== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159745== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159745== by 0x4003728: main (tool_main.c:186) === End of file valgrind1456 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/3/valgrind1473 ../src/curl -q --output log/3/curl1473.out --include --trace-ascii log/3/trace1473 --trace-time http://127.0.0.1:45927/1473 > log/3/stdout1473 2> log/3/stderr1473 1473: 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 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/3/valgrind1473 ../src/curl -q --output log/3/curl1473.out --include --trace-ascii log/3/trace1473 --trace-time http://127.0.0.1:45927/1473 > log/3/stdout1473 2> log/3/stderr1473 === End of file commands.log === Start of file http_server.log 17:51:10.893075 ====> Client connect 17:51:10.893124 accept_connection 3 returned 4 17:51:10.893144 accept_connection 3 returned 0 17:51:10.893162 Read 93 bytes 17:51:10.893172 Process 93 bytes request 17:51:10.893187 Got request: GET /verifiedserver HTTP/1.1 17:51:10.893197 Are-we-friendly question received 17:51:10.893226 Wrote request (93 bytes) input to log/3/server.input 17:51:10.893245 Identifying ourselves as friends 17:51:10.893330 Response sent (56 bytes) and written to log/3/server.response 17:51:10.893343 special request received, no persistency 17:51:10.893353 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 47234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1473 ==159646== ==159646== Process terminating with default action of signal 4 (SIGILL) ==159646== Illegal opcode at address 0x4014520 ==159646== at 0x4014520: getparameter (tool_getparam.c:2862) ==159646== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159646== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159646== by 0x4003728: main (tool_main.c:186) === 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/10/valgrind1475 ../src/curl -q --output log/10/curl1475.out --include --trace-ascii log/10/trace1475 --trace-time http://127.0.0.1:32889/1475 -C - -f > log/10/stdout1475 2> log/10/stderr1475 RUN: Process with pid 74973 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/5/valgrind1479 ../src/curl -q --output log/5/curl1479.out --include --trace-ascii log/5/trace1479 --trace-time http://127.0.0.1:46875/1479 http://127.0.0.1:46875/14790002 > log/5/stdout1479 2> log/5/stderr1479 RUN: Process with pid 74973 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/6/valgrind1467 ../src/curl -q --output log/6/curl1467.out --include --trace-ascii log/6/trace1467 --trace-time --socks5 localhost/startdir/src/build-curl/tests/log/6/server/socks-uds http://127.0.0.1:36645/1467 > log/6/stdout1467 2> log/6/stderr1467 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/11/valgrind1471 ../src/curl -q --output log/11/curl1471.out --include --trace-ascii log/11/trace1471 --trace-time red.onion > log/11/stdout1471 2> log/11/stderr1471 1471: stderr FAILED: --- log/11/check-expected 2026-01-28 17:51:13.243222044 +0000 +++ log/11/check-generated 2026-01-28 17:51:13.243222044 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/11/ 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/11/valgrind1471 ../src/curl -q --output log/11/curl1471.out --include --trace-ascii log/11/trace1471 --trace-time red.onion > log/11/stdout1471 2> log/11/stderr1471 === End of file commands.log === Start of file server.cmd Testnum 1471 === End of file server.cmd === Start of file valgrind1471 ==159547== ==159547== Process terminating with default action of signal 4 (SIGILL) ==159547== Illegal opcode at address 0x4014520 ==159547== at 0x4014520: getparameter (tool_getparam.c:2862) ==159547== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159547== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159547== by 0x4003728: main (tool_main.c:186) === End of file valgrind1471 test 1479...[HTTP/1.1 response followed by an HTTP/0.9 response over 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/5/valgrind1479 ../src/curl -q --output log/5/curl1479.out --include --trace-ascii log/5/trace1479 --trace-time http://127.0.0.1:46875/1479 http://127.0.0.1:46875/14790002 > log/5/stdout1479 2> log/5/stderr1479 1479: 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 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/5/valgrind1479 ../src/curl -q --output log/5/curl1479.out --include --trace-ascii log/5/trace1479 --trace-time http://127.0.0.1:46875/1479 http://127.0.0.1:46875/14790002 > log/5/stdout1479 2> log/5/stderr1479 === End of file commands.log === Start of file http_server.log 17:51:11.582914 ====> Client connect 17:51:11.582962 accept_connection 3 returned 4 17:51:11.582981 accept_connection 3 returned 0 17:51:11.582997 Read 93 bytes 17:51:11.583007 Process 93 bytes request 17:51:11.583021 Got request: GET /verifiedserver HTTP/1.1 17:51:11.583030 Are-we-friendly question received 17:51:11.583057 Wrote request (93 bytes) input to log/5/server.input 17:51:11.583074 Identifying ourselves as friends 17:51:11.583156 Response sent (56 bytes) and written to log/5/server.response 17:51:11.583167 special request received, no persistency 17:51:11.583176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 55384 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind1479 ==159995== ==159995== Process terminating with default action of signal 4 (SIGILL) ==159995== Illegal opcode at address 0x4014520 ==159995== at 0x4014520: getparameter (tool_getparam.c:2862) ==159995== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159995== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159995== by 0x4003728: main (tool_main.c:186) === 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/10/valgrind1475 ../src/curl -q --output log/10/curl1475.out --include --trace-ascii log/10/trace1475 --trace-time http://127.0.0.1:32889/1475 -C - -f > log/10/stdout1475 2> log/10/stderr1475 1475: 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 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/10/valgrind1475 ../src/curl -q --output log/10/curl1475.out --include --trace-ascii log/10/trace1475 --trace-time http://127.0.0.1:32889/1475 -C - -f > log/10/stdout1475 2> log/10/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 17:51:11.091950 ====> Client connect 17:51:11.091989 accept_connection 3 returned 4 17:51:11.092009 accept_connection 3 returned 0 17:51:11.092025 Read 93 bytes 17:51:11.092034 Process 93 bytes request 17:51:11.092049 Got request: GET /verifiedserver HTTP/1.1 17:51:11.092058 Are-we-friendly question received 17:51:11.092088 Wrote request (93 bytes) input to log/10/server.input 17:51:11.092109 Identifying ourselves as friends 17:51:11.092173 Response sent (56 bytes) and written to log/10/server.response 17:51:11.092184 special request received, no persistency 17:51:11.092194 ====> Client disconnect 0 exit_signal_handler: called 17:51:13.366251 signalled to die 17:51:13.366436 ========> IPv4 sws (port 32889 pid: 74973) exits with signal (15) 17:51:13.366453 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32889... * Established connection to 127.0.0.1 (127.0.0.1 port 32889) from 127.0.0.1 port 43030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32889 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:32889 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74973 === 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: 74973 === End of file server.response === Start of file valgrind1475 ==159782== ==159782== Process terminating with default action of signal 4 (SIGILL) ==159782== Illegal opcode at address 0x4014520 ==159782== at 0x4014520: getparameter (tool_getparam.c:2862) ==159782== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159782== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159782== by 0x4003728: main (tool_main.c:186) === End of file valgrind1475 startnew: ./server/servers socksd --pidfile log/6/server/socks2_server.pid --reqfile log/6/socksd-request.log --logfile log/6/socks2_server.log --unix-socket /startdir/src/build-curl/tests/log/6/server/socks-uds --backend 127.0.0.1 --config log/6/server.cmd RUCMD (33792): ../libtool --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/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:36641/1485 > log/12/stdout1485 2> log/12/stderr1485 CMD (33792): ../libtool --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/valgrind1468 ../src/curl -q --output log/4/curl1468.out --include --trace-ascii log/4/trace1468 --trace-time http://this.is.a.host.name:34411/1468 --proxy socks5h://localhost/startdir/src/build-curl/tests/log/4/server/socks-uds > log/4/stdout1468 2> log/4/stderr1468 N: SOCKS2 server is now running PID 159401 * pid socks5unix => 159401 159401 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/6/valgrind1467 ../src/curl -q --output log/6/curl1467.out --include --trace-ascii log/6/trace1467 --trace-time --socks5 localhost/startdir/src/build-curl/tests/log/6/server/socks-uds http://127.0.0.1:36645/1467 > log/6/stdout1467 2> log/6/stderr1467 1467: 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 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/6/valgrind1467 ../src/curl -q --output log/6/curl1467.out --include --trace-ascii log/6/trace1467 --trace-time --socks5 localhost/startdir/src/build-curl/tests/log/6/server/socks-uds http://127.0.0.1:36645/1467 > log/6/stdout1467 2> log/6/stderr1467 === End of file commands.log === Start of file http_server.log 17:51:10.555858 ====> Client connect 17:51:10.555893 accept_connection 3 returned 4 17:51:10.555909 accept_connection 3 returned 0 17:51:10.556047 Read 93 bytes 17:51:10.556059 Process 93 bytes request 17:51:10.556073 Got request: GET /verifiedserver HTTP/1.1 17:51:10.556082 Are-we-friendly question received 17:51:10.556110 Wrote request (93 bytes) input to log/6/server.input 17:51:10.556127 Identifying ourselves as friends 17:51:10.556186 Response sent (57 bytes) and written to log/6/server.response 17:51:10.556194 special request received, no persistency 17:51:10.556202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36645... * Established connection to 127.0.0.1 (127.0.0.1 port 36645) from 127.0.0.1 port 46158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36645 > User-Agent: curl/8.18.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:36645 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150721 === 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: 18 WE ROOLZ: 150721 === End of file server.response === Start of file socks2_server.log 17:51:10.566852 Running unix version 17:51:10.566935 Listening on Unix socket /startdir/src/build-curl/tests/log/6/server/socks-uds 17:51:10.566980 Wrote pid 159401 to log/6/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1467 ==159992== ==159992== Process terminating with default action of signal 4 (SIGILL) ==159992== Illegal opcode at address 0x4014520 ==159992== at 0x4014520: getparameter (tool_getparam.c:2862) ==159992== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159992== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159992== by 0x4003728: main (tool_main.c:186) === End of file valgrind1467 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/12/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:36641/1485 > log/12/stdout1485 2> log/12/stderr1485 1485: 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 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/12/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:36641/1485 > log/12/stdout1485 2> log/12/stderr1485 === End of file commands.log === Start of file http_server.log 17:51:12.229602 ====> Client connect 17:51:12.229666 accept_connection 3 returned 4 17:51:12.229685 accept_connection 3 returned 0 17:51:12.229701 Read 93 bytes 17:51:12.229709 Process 93 bytes request 17:51:12.229722 Got request: GET /verifiedserver HTTP/1.1 17:51:12.229730 Are-we-friendly question received 17:51:12.229753 Wrote request (93 bytes) input to log/12/server.input 17:51:12.229767 Identifying ourselves as friends 17:51:12.229847 Response sent (56 bytes) and written to log/12/server.response 17:51:12.229855 special request received, no persistency 17:51:12.229863 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 40642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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 ROOLZ: 74920 === End of file server.response === Start of file stderr1485 URL: http://127.0.0.1:36641/1485 === End of file stderr1485 === Start of file valgrind1485 ==160412== ==160412== Process terminating with default action of signal 4 (SIGILL) ==160412== Illegal opcode at address 0x402A10F ==160412== at 0x402A10F: UnknownInlinedFun (string_fortified.h:59) ==160412== by 0x402A10F: test_lib1485.lto_priv.0 (lib1485.c:94) ==160412== by 0x40034B5: main (first.c:279) === End of file valgrind1485 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 159454 * pid socks5unix => 159454 159454 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/4/valgrind1468 ../src/curl -q --output log/4/curl1468.out --include --trace-ascii log/4/trace1468 --trace-time http://this.is.a.host.name:34411/1468 --proxy socks5h://localhost/startdir/src/build-curl/tests/log/4/server/socks-uds > log/4/stdout1468 2> log/4/stderr1468 1468: 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 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/4/valgrind1468 ../src/curl -q --output log/4/curl1468.out --include --trace-ascii log/4/trace1468 --trace-time http://this.is.a.host.name:34411/1468 --proxy socks5h://localhost/startdir/src/build-curl/tests/log/4/server/socks-uds > log/4/stdout1468 2> log/4/stderr1468 === End of file commands.log === Start of file http_server.log 17:51:10.609414 ====> Client connect 17:51:10.609456 accept_connection 3 returned 4 17:51:10.609505 accept_connection 3 returned 0 17:51:10.609525 Read 93 bytes 17:51:10.609536 Process 93 bytes request 17:51:10.609551 Got request: GET /verifiedserver HTTP/1.1 17:51:10.609561 Are-we-friendly question received 17:51:10.609595 Wrote request (93 bytes) input to log/4/server.input 17:51:10.609616 Identifying ourselves as friends 17:51:10.609683 Response sent (56 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/13/valgrind1484 ../src/curl -q --output log/13/curl1484.out --include --trace-ascii log/13/trace1484 --trace-time -I http://127.0.0.1:43845/1484 --http1.1 > log/13/stdout1484 2> log/13/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/22/valgrind1476 ../src/curl -q --output log/22/curl1476.out --include --trace-ascii log/22/trace1476 --trace-time -x http://127.0.0.1:42933/1476 http://curl.co.UK -c log/22/cookies1476.txt > log/22/stdout1476 2> log/22/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/15/valgrind1481 ../src/curl -q --output log/15/curl1481.out --include --trace-ascii log/15/trace1481 --trace-time http://moo/ --libcurl log/15/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:41057 > log/15/stdout1481 2> log/15/stderr1481 s) and written to log/4/server.response 17:51:10.609695 special request received, no persistency 17:51:10.609704 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 41768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file socks2_server.log 17:51:10.620531 Running unix version 17:51:10.620598 Listening on Unix socket /startdir/src/build-curl/tests/log/4/server/socks-uds 17:51:10.620634 Wrote pid 159454 to log/4/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1468 ==160009== ==160009== Process terminating with default action of signal 4 (SIGILL) ==160009== Illegal opcode at address 0x4014520 ==160009== at 0x4014520: getparameter (tool_getparam.c:2862) ==160009== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160009== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160009== by 0x4003728: main (tool_main.c:186) === End of file valgrind1468 startnew: /startdir/src/curl/tests/dictserver.py --port 33303 --pidfile "log/19/server/dict_server.pid" --logfile "log/19/dict_server.log" --srcdir "/startdir/src/curl/tests" --host 127.0.0.1 startnew: child process has died, server might start up RUN: failed to start the DICT server test 1450 SKIPPED: failed starting DICT server 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/13/valgrind1484 ../src/curl -q --output log/13/curl1484.out --include --trace-ascii log/13/trace1484 --trace-time -I http://127.0.0.1:43845/1484 --http1.1 > log/13/stdout1484 2> log/13/stderr1484 1484: 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 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/13/valgrind1484 ../src/curl -q --output log/13/curl1484.out --include --trace-ascii log/13/trace1484 --trace-time -I http://127.0.0.1:43845/1484 --http1.1 > log/13/stdout1484 2> log/13/stderr1484 === End of file commands.log === Start of file http_server.log 17:51:13.184109 ====> Client connect 17:51:13.184142 accept_connection 3 returned 4 17:51:13.184159 accept_connection 3 returned 0 17:51:13.184173 Read 93 bytes 17:51:13.184183 Process 93 bytes request 17:51:13.184196 Got request: GET /verifiedserver HTTP/1.1 17:51:13.184205 Are-we-friendly question received 17:51:13.184229 Wrote request (93 bytes) input to log/13/server.input 17:51:13.184245 Identifying ourselves as friends 17:51:13.184303 Response sent (56 bytes) and written to log/13/server.response 17:51:13.184312 special request received, no persistency 17:51:13.184321 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 47686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1484 ==160308== ==160308== Process terminating with default action of signal 4 (SIGILL) ==160308== Illegal opcode at address 0x4014520 ==160308== at 0x4014520: getparameter (tool_getparam.c:2862) ==160308== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160308== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160308== by 0x4003728: main (tool_main.c:186) === End of file valgrind1484 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/22/valgrind1476 ../src/curl -q --output log/22/curl1476.out --include --trace-ascii log/22/trace1476 --trace-time -x http://127.0.0.1:42933/1476 http://curl.co.UK -c log/22/cookies1476.txt > log/22/stdout1476 2> log/22/stderr1476 1476: 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 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/22/valgrind1476 ../src/curl -q --output log/22/curl1476.out --include --trace-ascii log/22/trace1476 --trace-time -x http://127.0.0.1:42933/1476 http://curl.co.UK -c log/22/cookies1476.txt > log/22/stdout1476 2> log/22/stderr1476 === End of file commands.log === Start of file http_server.log 17:51:11.301248 ====> Client connect 17:51:11.301290 accept_connection 3 returned 4 17:51:11.301310 accept_connection 3 returned 0 17:51:11.301460 Read 93 bytes 17:51:11.301476 Process 93 bytes request 17:51:11.301489 Got request: GET /verifiedserver HTTP/1.1 17:51:11.301499 Are-we-friendly question received 17:51:11.301531 Wrote request (93 bytes) input to log/22/server.input 17:51:11.301551 Identifying ourselves as friends 17:51:11.301636 Response sent (56 bytes) and written to log/22/server.response 17:51:11.301648 special request received, no persistency 17:51:11.301657 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 39674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind1476 ==159907== ==159907== Process terminating with default action of signal 4 (SIGILL) ==159907== Illegal opcode at address 0x4014520 ==159907== at 0x4014520: getparameter (tool_getparam.c:2862) ==159907== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==159907== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==159907== by 0x4003728: main (tool_main.c:186) === End of file valgrind1476 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/15/valgrind1481 ../src/curl -q --output log/15/curl1481.out --include --trace-ascii 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/2/valgrind1480 ../src/curl -q --output log/2/curl1480.out --include --trace-ascii log/2/trace1480 --trace-time http://127.0.0.1:38779/1480 > log/2/stdout1480 2> log/2/stderr1480 CMD (33792): ../libtool --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/valgrind1483 ../src/curl -q --output log/9/curl1483.out --include --trace-ascii log/9/trace1483 --trace-time http://127.0.0.1:37413/1483 -D log/9/heads1483 > log/9/stdout1483 2> log/9/stderr1483 5/trace1481 --trace-time http://moo/ --libcurl log/15/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:41057 > log/15/stdout1481 2> log/15/stderr1481 1481: 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 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/15/valgrind1481 ../src/curl -q --output log/15/curl1481.out --include --trace-ascii log/15/trace1481 --trace-time http://moo/ --libcurl log/15/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:41057 > log/15/stdout1481 2> log/15/stderr1481 === End of file commands.log === Start of file http_server.log 17:51:12.119571 ====> Client connect 17:51:12.119618 accept_connection 3 returned 4 17:51:12.119637 accept_connection 3 returned 0 17:51:12.119655 Read 93 bytes 17:51:12.119665 Process 93 bytes request 17:51:12.119680 Got request: GET /verifiedserver HTTP/1.1 17:51:12.119689 Are-we-friendly question received 17:51:12.119720 Wrote request (93 bytes) input to log/15/server.input 17:51:12.119739 Identifying ourselves as friends 17:51:12.119821 Response sent (56 bytes) and written to log/15/server.response 17:51:12.119833 special request received, no persistency 17:51:12.119842 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 45176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1481 ==160241== ==160241== Process terminating with default action of signal 4 (SIGILL) ==160241== Illegal opcode at address 0x4014520 ==160241== at 0x4014520: getparameter (tool_getparam.c:2862) ==160241== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160241== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160241== by 0x4003728: main (tool_main.c:186) === End of file valgrind1481 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/2/valgrind1480 ../src/curl -q --output log/2/curl1480.out --include --trace-ascii log/2/trace1480 --trace-time http://127.0.0.1:38779/1480 > log/2/stdout1480 2> log/2/stderr1480 1480: 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 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/2/valgrind1480 ../src/curl -q --output log/2/curl1480.out --include --trace-ascii log/2/trace1480 --trace-time http://127.0.0.1:38779/1480 > log/2/stdout1480 2> log/2/stderr1480 === End of file commands.log === Start of file http_server.log 17:51:12.142924 ====> Client connect 17:51:12.142966 accept_connection 3 returned 4 17:51:12.142985 accept_connection 3 returned 0 17:51:12.143000 Read 93 bytes 17:51:12.143010 Process 93 bytes request 17:51:12.143023 Got request: GET /verifiedserver HTTP/1.1 17:51:12.143031 Are-we-friendly question received 17:51:12.143055 Wrote request (93 bytes) input to log/2/server.input 17:51:12.143072 Identifying ourselves as friends 17:51:12.143142 Response sent (56 bytes) and written to log/2/server.response 17:51:12.143151 special request received, no persistency 17:51:12.143160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 39916 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind1480 ==160261== ==160261== Process terminating with default action of signal 4 (SIGILL) ==160261== Illegal opcode at address 0x4014520 ==160261== at 0x4014520: getparameter (tool_getparam.c:2862) ==160261== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160261== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160261== by 0x4003728: main (tool_main.c:186) === End of file valgrind1480 test 1483...[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/9/valgrind1483 ../src/curl -q --output log/9/curl1483.out --include --trace-ascii log/9/trace1483 --trace-time http://127.0.0.1:37413/1483 -D log/9/heads1483 > log/9/stdout1483 2> log/9/stderr1483 1483: 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 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/9/valgrind1483 ../src/curl -q --output log/9/curl1483.out --include --trace-ascii log/9/trace1483 --trace-time http://127.0.0.1:37413/1483 -D log/9/heads1483 > log/9/stdout1483 2> log/9/stderr1483 === End of file commands.log === Start of file http_server.log 17:51:12.148328 ====> Client connect 17:51:12.148359 accept_connection 3 returned 4 17:51:12.148375 accept_connection 3 returned 0 17:51:12.148389 Read 93 bytes 17:51:12.148398 Process 93 bytes request 17:51:12.148411 Got request: GET /verifiedserver HTTP/1.1 17:51:12.148420 Are-we-friendly question received 17:51:12.148444 Wrote request (93 bytes) input to log/9/server.input 17:51:12.148461 Identifying ourselves as friends 17:51:12.148514 Response sent (56 bytes) and written to log/9/server.response 17:51:12.148524 special request received, no persistency 17:51:12.148533 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 50208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 17 WE ROOLZ: 74974 === End of file server.response === Start of file valgrind1483 ==160266== ==160266== Process terminating with default action of signal 4 (SIGILL) ==160266==CMD (33792): ../libtool --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:39173/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/20/valgrind1482 ../src/curl -q --output log/20/curl1482.out --include --trace-ascii log/20/trace1482 --trace-time http://127.0.0.1:46725/1482 -D log/20/heads1482 > log/20/stdout1482 2> log/20/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/24/valgrind1489 ../src/curl -q --output log/24/curl1489.out --trace-ascii log/24/trace1489 --trace-time http://127.0.0.1:39649/1489 -D % -s > log/24/stdout1489 2> log/24/stderr1489 Illegal opcode at address 0x4014520 ==160266== at 0x4014520: getparameter (tool_getparam.c:2862) ==160266== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160266== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160266== by 0x4003728: main (tool_main.c:186) === End of file valgrind1483 startnew: /startdir/src/curl/tests/smbserver.py --port 37555 --pidfile "log/16/server/smb_server.pid" --logfile "log/16/smb_server.log" --srcdir "/startdir/src/curl/tests" --host 127.0.0.1 startnew: child process has died, server might start up RUN: failed to start the SMB server test 1451 SKIPPED: failed starting SMB server startnew: /startdir/src/curl/tests/negtelnetserver.py --port 34751 --pidfile "log/1/server/telnet_server.pid" --logfile "log/1/telnet_server.log" --srcdir "/startdir/src/curl/tests" startnew: child process has died, server might start up RUN: failed to start the TELNET server test 1452 SKIPPED: failed starting neg TELNET server 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:39173/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:39173/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 17:51:13.446895 ====> Client connect 17:51:13.446944 accept_connection 3 returned 4 17:51:13.446961 accept_connection 3 returned 0 17:51:13.459904 Read 93 bytes 17:51:13.459933 Process 93 bytes request 17:51:13.459945 Got request: GET /verifiedserver HTTP/1.1 17:51:13.459954 Are-we-friendly question received 17:51:13.460003 Wrote request (93 bytes) input to log/23/server.input 17:51:13.460024 Identifying ourselves as friends 17:51:13.460082 Response sent (56 bytes) and written to log/23/server.response 17:51:13.460091 special request received, no persistency 17:51:13.460099 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 43414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1487 ==160572== ==160572== Process terminating with default action of signal 4 (SIGILL) ==160572== Illegal opcode at address 0x4014520 ==160572== at 0x4014520: getparameter (tool_getparam.c:2862) ==160572== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160572== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160572== by 0x4003728: main (tool_main.c:186) === End of file valgrind1487 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/20/valgrind1482 ../src/curl -q --output log/20/curl1482.out --include --trace-ascii log/20/trace1482 --trace-time http://127.0.0.1:46725/1482 -D log/20/heads1482 > log/20/stdout1482 2> log/20/stderr1482 1482: 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 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/20/valgrind1482 ../src/curl -q --output log/20/curl1482.out --include --trace-ascii log/20/trace1482 --trace-time http://127.0.0.1:46725/1482 -D log/20/heads1482 > log/20/stdout1482 2> log/20/stderr1482 === End of file commands.log === Start of file http_server.log 17:51:12.135331 ====> Client connect 17:51:12.135367 accept_connection 3 returned 4 17:51:12.135385 accept_connection 3 returned 0 17:51:12.135400 Read 93 bytes 17:51:12.135409 Process 93 bytes request 17:51:12.135423 Got request: GET /verifiedserver HTTP/1.1 17:51:12.135432 Are-we-friendly question received 17:51:12.135458 Wrote request (93 bytes) input to log/20/server.input 17:51:12.135475 Identifying ourselves as friends 17:51:12.135533 Response sent (56 bytes) and written to log/20/server.response 17:51:12.135543 special request received, no persistency 17:51:12.135551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 57914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1482 ==160272== ==160272== Process terminating with default action of signal 4 (SIGILL) ==160272== Illegal opcode at address 0x4014520 ==160272== at 0x4014520: getparameter (tool_getparam.c:2862) ==160272== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160272== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160272== by 0x4003728: main (tool_main.c:186) === End of file valgrind1482 CMD (33792): ../libtool --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/valgrind1495 ../src/curl -q --output log/17/curl1495.out --include --trace-ascii log/17/trace1495 --trace-time http://127.0.0.1:44593/1495 -D log/17/heads1495 > log/17/stdout1495 2> log/17/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/11/valgrind1496 ../src/curl -q --output log/11/curl1496.out --include --trace-ascii log/11/trace1496 --trace-time http://127.0.0.1:46439/1496 -D log/11/heads1496 > log/11/stdout1496 2> log/11/stderr1496 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/24/valgrind1489 ../src/curl -q --output log/24/curl1489.out --trace-ascii log/24/trace1489 --trace-time http://127.0.0.1:39649/1489 -D % -s > log/24/stdout1489 2> log/24/stderr1489 1489: stderr FAILED: --- log/24/check-expected 2026-01-28 17:51:14.849888709 +0000 +++ log/24/check-generated 2026-01-28 17:51:14.849888709 +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/24/ 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/24/valgrind1489 ../src/curl -q --output log/24/curl1489.out --trace-ascii log/24/trace1489 --trace-time http://127.0.0.1:39649/1489 -D % -s > log/24/stdout1489 2> log/24/stderr1489 === End of file commands.log === Start of file http_server.log 17:51:12.619637 ====> Client connect 17:51:12.619674 accept_connection 3 returned 4 17:51:12.619691 accept_connection 3 returned 0 17:51:12.619705 Read 93 bytes 17:51:12.619715 Process 93 bytes request 17:51:12.619729 Got request: GET /verifiedserver HTTP/1.1 17:51:12.619738 Are-we-friendly question received 17:51:12.619766 Wrote request (93 bytes) input to log/24/server.input 17:51:12.619783 Identifying ourselves as friends 17:51:12.619841 Response sent (56 bytes) and written to log/24/server.response 17:51:12.619851 special request received, no persistency 17:51:12.619860 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 39742 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1489 ==160655== ==160655== Process terminating with default action of signal 4 (SIGILL) ==160655== Illegal opcode at address 0x4014520 ==160655== at 0x4014520: getparameter (tool_getparam.c:2862) ==160655== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160655== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160655== by 0x4003728: main (tool_main.c:186) === End of file valgrind1489 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/17/valgrind1495 ../src/curl -q --output log/17/curl1495.out --include --trace-ascii log/17/trace1495 --trace-time http://127.0.0.1:44593/1495 -D log/17/heads1495 > log/17/stdout1495 2> log/17/stderr1495 1495: 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 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/17/valgrind1495 ../src/curl -q --output log/17/curl1495.out --include --trace-ascii log/17/trace1495 --trace-time http://127.0.0.1:44593/1495 -D log/17/heads1495 > log/17/stdout1495 2> log/17/stderr1495 === End of file commands.log === Start of file http_server.log 17:51:13.109574 ====> Client connect 17:51:13.109610 accept_connection 3 returned 4 17:51:13.109628 accept_connection 3 returned 0 17:51:13.109642 Read 93 bytes 17:51:13.109652 Process 93 bytes request 17:51:13.109666 Got request: GET /verifiedserver HTTP/1.1 17:51:13.109675 Are-we-friendly question received 17:51:13.109699 Wrote request (93 bytes) input to log/17/server.input 17:51:13.109715 Identifying ourselves as friends 17:51:13.109781 Response sent (56 bytes) and written to log/17/server.response 17:51:13.109791 special request received, no persistency 17:51:13.109799 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 36486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.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:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1495 ==160966== ==160966== Process terminating with default action of signal 4 (SIGILL) ==160966== Illegal opcode at address 0x4014520 ==160966== at 0x4014520: getparameter (tool_getparam.c:2862) ==160966== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160966== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160966== by 0x4003728: main (tool_main.c:186) === End of file valgrind1495 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/11/valgrind1496 ../src/curl -q --output log/11/curl1496.out --include --trace-ascii log/11/trace1496 --trace-time http://127.0.0.1:46439/1496 -D log/11/heads1496 > log/11/stdout1496 2> log/11/stderr1496 1496: 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 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/11/valgrind1496 ../src/curl -q --output log/11/curl1496.out --include --trace-ascii log/11/trace1496 --trace-time http://127.0.0.1:46439/1496 -D log/11/heads1496 > log/11/stdout1496 2> log/11/stderr1496 === End of file commands.log === Start of file http_server.log 17:51:13.173947 ====> Client connect 17:51:13.173985 accept_connection 3 returned 4 17:51:13.174003 accept_connection 3 returned 0 17:51:13.174018 Read 93 bytes 17:51:13.174029 Process 93 bytes request 17:51:13.174042 Got request: GET /verifiedserver HTTP/1.1 17:51:13.174050 Are-we-friendly question received 17:51:13.174085 Wrote request (93 bytes) input to log/11/server.input 17:51:13.174103 Identifying ourselves as friends 17:51:13.174185 Response sent (56 bytes) anCMD (33792): ../libtool --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/valgrind1492 ../src/curl -q --trace-ascii log/14/trace1492 --trace-time http://127.0.0.1:37569/junk1492 -J -O --show-headers --output-dir log/14 > log/14/stdout1492 2> log/14/stderr1492 CMD (33792): ../libtool --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/valgrind1494 ../src/curl -q --output log/18/curl1494.out --include --trace-ascii log/18/trace1494 --trace-time http://127.0.0.1:34067/1494 -D log/18/heads1494 > log/18/stdout1494 2> log/18/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/7/valgrind1490 ../src/curl -q --output log/7/curl1490.out --trace-ascii log/7/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/7/result1490.txt -T log/7/upload1490.txt > log/7/stdout1490 2> log/7/stderr1490 d written to log/11/server.response 17:51:13.174197 special request received, no persistency 17:51:13.174206 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 47126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind1496 ==161047== ==161047== Process terminating with default action of signal 4 (SIGILL) ==161047== Illegal opcode at address 0x4014520 ==161047== at 0x4014520: getparameter (tool_getparam.c:2862) ==161047== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==161047== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==161047== by 0x4003728: main (tool_main.c:186) === End of file valgrind1496 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/14/valgrind1492 ../src/curl -q --trace-ascii log/14/trace1492 --trace-time http://127.0.0.1:37569/junk1492 -J -O --show-headers --output-dir log/14 > log/14/stdout1492 2> log/14/stderr1492 1492: 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 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/14/valgrind1492 ../src/curl -q --trace-ascii log/14/trace1492 --trace-time http://127.0.0.1:37569/junk1492 -J -O --show-headers --output-dir log/14 > log/14/stdout1492 2> log/14/stderr1492 === End of file commands.log === Start of file http_server.log 17:51:13.832939 ====> Client connect 17:51:13.833001 accept_connection 3 returned 4 17:51:13.833023 accept_connection 3 returned 0 17:51:13.839723 Read 93 bytes 17:51:13.839751 Process 93 bytes request 17:51:13.839767 Got request: GET /verifiedserver HTTP/1.1 17:51:13.839777 Are-we-friendly question received 17:51:13.839837 Wrote request (93 bytes) input to log/14/server.input 17:51:13.839861 Identifying ourselves as friends 17:51:13.839930 Response sent (56 bytes) and written to log/14/server.response 17:51:13.839942 special request received, no persistency 17:51:13.839951 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 39718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1492 ==160804== ==160804== Process terminating with default action of signal 4 (SIGILL) ==160804== Illegal opcode at address 0x4014520 ==160804== at 0x4014520: getparameter (tool_getparam.c:2862) ==160804== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160804== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160804== by 0x4003728: main (tool_main.c:186) === End of file valgrind1492 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/18/valgrind1494 ../src/curl -q --output log/18/curl1494.out --include --trace-ascii log/18/trace1494 --trace-time http://127.0.0.1:34067/1494 -D log/18/heads1494 > log/18/stdout1494 2> log/18/stderr1494 1494: 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 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/18/valgrind1494 ../src/curl -q --output log/18/curl1494.out --include --trace-ascii log/18/trace1494 --trace-time http://127.0.0.1:34067/1494 -D log/18/heads1494 > log/18/stdout1494 2> log/18/stderr1494 === End of file commands.log === Start of file http_server.log 17:51:13.102985 ====> Client connect 17:51:13.103030 accept_connection 3 returned 4 17:51:13.103048 accept_connection 3 returned 0 17:51:13.103063 Read 93 bytes 17:51:13.103072 Process 93 bytes request 17:51:13.103086 Got request: GET /verifiedserver HTTP/1.1 17:51:13.103096 Are-we-friendly question received 17:51:13.103125 Wrote request (93 bytes) input to log/18/server.input 17:51:13.103143 Identifying ourselves as friends 17:51:13.103225 Response sent (56 bytes) and written to log/18/server.response 17:51:13.103239 special request received, no persistency 17:51:13.103248 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind1494 ==160964== ==160964== Process terminating with default action of signal 4 (SIGILL) ==160964== Illegal opcode at address 0x4014520 ==160964== at 0x4014520: getparameter (tool_getparam.c:2862) ==160964== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160964== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160964== by 0x4003728: main (tool_main.c:186) === End of file valgrind1494 CMD (33792): ../libtool --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/valgrind1491 ../src/curl -q --include --trace-ascii log/21/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test1491.txt -o log/21/test1491.txt --skip-existing > log/21/stdout1491 2> log/21/stderr1491 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/7/valgrind1490 ../src/curl -q --output log/7/curl1490.out --trace-ascii log/7/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/7/result1490.txt -T log/7/upload1490.txt > log/7/stdout1490 2> log/7/stderr1490 1490: output (log/7/result1490.txt) FAILED: --- log/7/check-expected 2026-01-28 17:51:15.499888709 +0000 +++ log/7/check-generated 2026-01-28 17:51:15.499888709 +0000 @@ -1,5 +1 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] +already existing[LF] == Contents of files in the log/7/ 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/7/valgrind1490 ../src/curl -q --output log/7/curl1490.out --trace-ascii log/7/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/7/result1490.txt -T log/7/upload1490.txt > log/7/stdout1490 2> log/7/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 ==160684== ==160684== Process terminating with default action of signal 4 (SIGILL) ==160684== Illegal opcode at address 0x4014520 ==160684== at 0x4014520: getparameter (tool_getparam.c:2862) ==160684== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160684== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160684== by 0x4003728: main (tool_main.c:186) === End of file valgrind1490 CMD (33792): ../libtool --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/valgrind1498 ../src/curl -q --output log/5/curl1498.out --include --trace-ascii log/5/trace1498 --trace-time http://127.0.0.1:46875/bzz/1498 -T . log/5/stdout1498 2> log/5/stderr1498 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/21/valgrind1491 ../src/curl -q --include --trace-ascii log/21/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test1491.txt -o log/21/test1491.txt --skip-existing > log/21/stdout1491 2> log/21/stderr1491 1491: stderr FAILED: --- log/21/check-expected 2026-01-28 17:51:15.596555376 +0000 +++ log/21/check-generated 2026-01-28 17:51:15.596555376 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/21/test1491.txt" exists locally[CR][LF] == Contents of files in the log/21/ directory after test 1491 === Start of file check-expected Note: skips transfer, "log/21/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/21/valgrind1491 ../src/curl -q --include --trace-ascii log/21/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test1491.txt -o log/21/test1491.txt --skip-existing > log/21/stdout1491 2> log/21/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 ==160688== ==160688== Process terminating with default action of signal 4 (SIGILL) ==160688== Illegal opcode at address 0x4014520 ==160688== at 0x4014520: getparameter (tool_getparam.c:2862) ==160688== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160688== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160688== by 0x4003728: main (tool_main.c:186) === End of file valgrind1491 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/5/valgrind1498 ../src/curl -q --output log/5/curl1498.out --include --trace-ascii log/5/trace1498 --trace-time http://127.0.0.1:46875/bzz/1498 -T . log/5/stdout1498 2> log/5/stderr1498 1498: 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 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/5/valgrind1498 ../src/curl -q --output log/5/curl1498.out --include --trace-ascii log/5/trace1498 --trace-time http://127.0.0.1:46875/bzz/1498 -T . log/5/stdout1498 2> log/5/stderr1498 === End of file commands.log === Start of file http_server.log 17:51:13.492917 ====> Client connect 17:51:13.492972 accept_connection 3 returned 4 17:51:13.492995 accept_connection 3 returned 0 17:51:13.493198 Read 93 bytes 17:51:13.493215 Process 93 bytes request 17:51:13.493231 Got request: GET /verifiedserver HTTP/1.1 17:51:13.493241 Are-we-friendly question received 17:51:13.493273 Wrote request (93 bytes) input to log/5/server.input 17:51:13.493291 Identifying ourselves as friends 17:51:13.493350 Response sent (56 bytes) and written to log/5/server.response 17:51:13.493360 special request received, no persistency 17:51:13.493369 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 55386 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file stdin-for-1498 hejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhCMD (33792): ../libtool --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/valgrind1493 ../src/curl -q --output log/8/curl1493.out --include --trace-ascii log/8/trace1493 --trace-time http://127.0.0.1:42045/1493 -D log/8/heads1493 > log/8/stdout1493 2> log/8/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/6/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:36645/1500 > log/6/stdout1500 2> log/6/stderr1500 ejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhej === End of file stdin-for-1498 === Start of file valgrind1498 ==161254== ==161254== Process terminating with default action of signal 4 (SIGILL) ==161254== Illegal opcode at address 0x4014520 ==161254== at 0x4014520: getparameter (tool_getparam.c:2862) ==161254== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==161254== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==161254== by 0x4003728: main (tool_main.c:186) === End of file valgrind1498 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/8/valgrind1493 ../src/curl -q --output log/8/curl1493.out --include --trace-ascii log/8/trace1493 --trace-time http://127.0.0.1:42045/1493 -D log/8/heads1493 > log/8/stdout1493 2> log/8/stderr1493 1493: 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 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/8/valgrind1493 ../src/curl -q --output log/8/curl1493.out --include --trace-ascii log/8/trace1493 --trace-time http://127.0.0.1:42045/1493 -D log/8/heads1493 > log/8/stdout1493 2> log/8/stderr1493 === End of file commands.log === Start of file http_server.log 17:51:13.025112 ====> Client connect 17:51:13.025150 accept_connection 3 returned 4 17:51:13.025168 accept_connection 3 returned 0 17:51:13.025183 Read 93 bytes 17:51:13.025193 Process 93 bytes request 17:51:13.025206 Got request: GET /verifiedserver HTTP/1.1 17:51:13.025215 Are-we-friendly question received 17:51:13.025243 Wrote request (93 bytes) input to log/8/server.input 17:51:13.025262 Identifying ourselves as friends 17:51:13.025324 Response sent (56 bytes) and written to log/8/server.response 17:51:13.025335 special request received, no persistency 17:51:13.025345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 59978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file valgrind1493 ==160899== ==160899== Process terminating with default action of signal 4 (SIGILL) ==160899== Illegal opcode at address 0x4014520 ==160899== at 0x4014520: getparameter (tool_getparam.c:2862) ==160899== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==160899== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==160899== by 0x4003728: main (tool_main.c:186) === End of file valgrind1493 CMD (33792): ../libtool --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/valgrind1497 ../src/curl -q --output log/3/curl1497.out --include --trace-ascii log/3/trace1497 --trace-time http://127.0.0.1:45927/1497 --retry 3 -o /dev/null > log/3/stdout1497 2> log/3/stderr1497 CMD (33792): ../libtool --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/valgrind1502 ./libtest/libtests lib1502 http://google.com:34411/1502 34411 127.0.0.1 > log/4/stdout1502 2> log/4/stderr1502 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/6/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:36645/1500 > log/6/stdout1500 2> log/6/stderr1500 1500: data FAILED: --- log/6/check-expected 2026-01-28 17:51:15.833222042 +0000 +++ log/6/check-generated 2026-01-28 17:51:15.833222042 +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/6/ 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/6/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:36645/1500 > log/6/stdout1500 2> log/6/stderr1500 === End of file commands.log === Start of file http_server.log 17:51:13.559570 ====> Client connect 17:51:13.559612 accept_connection 3 returned 4 17:51:13.559627 accept_connection 3 returned 0 17:51:13.559640 Read 93 bytes 17:51:13.559649 Process 93 bytes request 17:51:13.559661 Got request: GET /verifiedserver HTTP/1.1 17:51:13.559669 Are-we-friendly question received 17:51:13.559692 Wrote request (93 bytes) input to log/6/server.input 17:51:13.559708 Identifying ourselves as friends 17:51:13.559764 Response sent (57 bytes) and written to log/6/server.response 17:51:13.559771 special request received, no persistency 17:51:13.559779 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36645... * Established connection to 127.0.0.1 (127.0.0.1 port 36645) from 127.0.0.1 port 46162 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36645 > User-Agent: curl/8.18.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:36645 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150721 === 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: 18 WE ROOLZ: 150721 === End of file server.response === Start of file stderr1500 URL: http://127.0.0.1:36645/1500 === End of file stderr1500 === Start of file valgrind1500 ==161292== ==161292== Process terminating with default action of signal 4 (SIGILL) ==161292== Illegal opcode at address 0x51A0F00 ==161292== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==161292== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==161292== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==161292== by 0x40294A0: UnknownInlinedFun (lib1500.c:39) ==161292== by 0x40294A0: test_lib1500.lto_priv.0 (lib1500.c:26) ==161292== by 0x40034B5: main (first.c:279) ==161292== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==161292== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161292== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==161292== by 0x40294A0: UnknownInlinedFun (lib1500.c:39) ==161292== by 0x40294A0: test_lib1500.lto_priv.0 (lib1500.c:26) ==161292== by 0x40034B5: main (first.c:279) ==161292== === End of file valgrind1500 test 1497...[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/3/valgrind1497 ../src/curl -q --output log/3/curl1497.out --include --trace-ascii log/3/trace1497 --trace-time http://127.0.0.1:45927/1497 --retry 3 -o /dev/null > log/3/stdout1497 2> log/3/stderr1497 1497: 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 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/3/valgrind1497 ../src/curl -q --output log/3/curl1497.out --include --trace-ascii log/3/trace1497 --trace-time http://127.0.0.1:45927/1497 --retry 3 -o /dev/null > log/3/stdout1497 2> log/3/stderr1497 === End of file commands.log === Start of file http_server.log 17:51:13.205920 ====> Client connect 17:51:13.206059 accept_connection 3 returned 4 17:51:13.206079 accept_connection 3 returned 0 17:51:13.206095 Read 93 bytes 17:51:13.206105 Process 93 bytes request 17:51:13.206120 Got request: GET /verifiedserver HTTP/1.1 17:51:13.206130 Are-we-friendly question received 17:51:13.206203 Wrote request (93 bytes) input to log/3/server.input 17:51:13.206222 Identifying ourselves as friends 17:51:13.206281 Response sent (56 bytes) and written to log/3/server.response 17:51:13.206290 special request received, no persistency 17:51:13.206298 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 47238 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file valgrind1497 ==161086== ==161086== Process terminating with default action of signal 4 (SIGILL) ==161086== Illegal opcode at address 0x4014520 ==161086== at 0x4014520: getparameter (tool_getparam.c:2862) ==161086== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==161086== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==161086== by 0x4003728: main (tool_main.c:186) === End of file valgrind1497 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/4/valgrind1502 ./libtest/libtests lib1502 http://google.com:34411/1502 34411 127.0.0.1 > log/4/stdout1502 2> log/4/stderr1502 1502: 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 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/4/valgrind1502 ./libtest/libtests lib1502 http://google.com:34411/1502 34411 127.0.0.1 > log/4/stdout1502 2> log/4/stderr1502 === End of file commands.log === Start of file http_server.log 17:51:13.892033 ====> Client connect 17:51:13.892071 accept_connection 3 returned 4 17:51:13.892089 accept_connection 3 returned 0 17:51:13.892104 Read 93 bytes 17:51:13.892113 Process 93 bytes request 17:51:13.892127 Got request: GET /verifiedserver HTTP/1.1 17:51:13.892136 Are-we-friendly question received 17:51:13.892163 Wrote request (93 bytes) input to log/4/server.input 17:51:13.892180 Identifying ourselves as friends 17:51:13.CMD (33792): ../libtool --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/valgrind1505 ./libtest/libtests lib1502 http://google.com:42933/1505 42933 127.0.0.1 > log/22/stdout1505 2> log/22/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/13/valgrind1504 ./libtest/libtests lib1502 http://google.com:43845/1504 43845 127.0.0.1 > log/13/stdout1504 2> log/13/stderr1504 892241 Response sent (56 bytes) and written to log/4/server.response 17:51:13.892252 special request received, no persistency 17:51:13.892261 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 41784 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === End of file http_verify.out === Start of file server.cmd Testnum 1502 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75148 === End of file server.response === Start of file stderr1502 URL: http://google.com:34411/1502 === End of file stderr1502 === Start of file valgrind1502 ==161416== ==161416== Process terminating with default action of signal 4 (SIGILL) ==161416== Illegal opcode at address 0x51D97AF ==161416== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==161416== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==161416== by 0x51D97AF: Curl_open (url.c:502) ==161416== by 0x515120F: curl_easy_init (easy.c:365) ==161416== by 0x40607C1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161416== by 0x40034B5: main (first.c:279) ==161416== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 570 of 789 ==161416== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==161416== by 0x51C4CE9: UnknownInlinedFun (slist.c:62) ==161416== by 0x51C4CE9: curl_slist_append (slist.c:92) ==161416== by 0x40607AF: test_lib1502.part.0.lto_priv.0 (lib1502.c:56) ==161416== by 0x40034B5: main (first.c:279) ==161416== ==161416== 5,512 bytes in 1 blocks are definitely lost in loss record 778 of 789 ==161416== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161416== by 0x51D96BD: Curl_open (url.c:479) ==161416== by 0x515120F: curl_easy_init (easy.c:365) ==161416== by 0x40607C1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161416== by 0x40034B5: main (first.c:279) ==161416== === End of file valgrind1502 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/22/valgrind1505 ./libtest/libtests lib1502 http://google.com:42933/1505 42933 127.0.0.1 > log/22/stdout1505 2> log/22/stderr1505 1505: 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 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/22/valgrind1505 ./libtest/libtests lib1502 http://google.com:42933/1505 42933 127.0.0.1 > log/22/stdout1505 2> log/22/stderr1505 === End of file commands.log === Start of file http_server.log 17:51:14.035758 ====> Client connect 17:51:14.035801 accept_connection 3 returned 4 17:51:14.035819 accept_connection 3 returned 0 17:51:14.035834 Read 93 bytes 17:51:14.035844 Process 93 bytes request 17:51:14.035859 Got request: GET /verifiedserver HTTP/1.1 17:51:14.035868 Are-we-friendly question received 17:51:14.035899 Wrote request (93 bytes) input to log/22/server.input 17:51:14.035919 Identifying ourselves as friends 17:51:14.035992 Response sent (56 bytes) and written to log/22/server.response 17:51:14.036004 special request received, no persistency 17:51:14.036015 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 39682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file stderr1505 URL: http://google.com:42933/1505 === End of file stderr1505 === Start of file valgrind1505 ==161544== ==161544== Process terminating with default action of signal 4 (SIGILL) ==161544== Illegal opcode at address 0x51D97AF ==161544== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==161544== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==161544== by 0x51D97AF: Curl_open (url.c:502) ==161544== by 0x515120F: curl_easy_init (easy.c:365) ==161544== by 0x40607C1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161544== by 0x40034B5: main (first.c:279) ==161544== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 570 of 789 ==161544== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==161544== by 0x51C4CE9: UnknownInlinedFun (slist.c:62) ==161544== by 0x51C4CE9: curl_slist_append (slist.c:92) ==161544== by 0x40607AF: test_lib1502.part.0.lto_priv.0 (lib1502.c:56) ==161544== by 0x40034B5: main (first.c:279) ==161544== ==161544== 5,512 bytes in 1 blocks are definitely lost in loss record 778 of 789 ==161544== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161544== by 0x51D96BD: Curl_open (url.c:479) ==161544== by 0x515120F: curl_easy_init (easy.c:365) ==161544== by 0x40607C1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161544== by 0x40034B5: main (first.c:279) ==161544== === End of file valgrind1505 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/13/valgrind1504 ./libtest/libtests lib1502 http://google.com:43845/1504 43845 127.0.0.1 > log/13/stdout1504 2> log/13/stderr1504 1504: 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 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/13/valgrind1504 ./libtest/libtests lib1502 http://google.com:43845/1504 43845 127.0.0.1 > log/13/stdout1504 2> log/13/stderr1504 === End of file commands.log === Start of file http_server.log 17:51:14.988494 ====> Client connect 17:51:14.988531 accept_connection 3 returned 4 17:51:14.988549 accept_connection 3 returned 0 17:51:14.988564 Read 93 bytes 17:51:14.988573 Process 93 bytes request 17:51:14.988586 Got request: GET /verifiedserver HTTP/1.1 17:51:14.988595 Are-we-friendly question received 17:51:14.988620 Wrote request (93 bytes) input to log/13/server.input 17:51:14.988636 Identifying ourselves as friends 17:51:14.988693 Response sent (56 bytes) and written to log/13/server.response 17:51:14.988704 special request received, no persistency 17:51:14.988713 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 47696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 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/19/valgrind1503 ./libtest/libtests lib1502 http://google.com:36987/1503 36987 127.0.0.1 > log/19/stdout1503 2> log/19/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/12/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:38035/1501/ > log/12/stdout1501 2> log/12/stderr1501 * kill pid for ftp-ctrl => 81049 RUN: Process with pid 81047 signalled to die RUN: Process with pid 81047 gracefully died o host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file stderr1504 URL: http://google.com:43845/1504 === End of file stderr1504 === Start of file valgrind1504 ==161486== ==161486== Process terminating with default action of signal 4 (SIGILL) ==161486== Illegal opcode at address 0x51D97AF ==161486== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==161486== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==161486== by 0x51D97AF: Curl_open (url.c:502) ==161486== by 0x515120F: curl_easy_init (easy.c:365) ==161486== by 0x40607C1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161486== by 0x40034B5: main (first.c:279) ==161486== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 570 of 789 ==161486== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==161486== by 0x51C4CE9: UnknownInlinedFun (slist.c:62) ==161486== by 0x51C4CE9: curl_slist_append (slist.c:92) ==161486== by 0x40607AF: test_lib1502.part.0.lto_priv.0 (lib1502.c:56) ==161486== by 0x40034B5: main (first.c:279) ==161486== ==161486== 5,512 bytes in 1 blocks are definitely lost in loss record 778 of 789 ==161486== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161486== by 0x51D96BD: Curl_open (url.c:479) ==161486== by 0x515120F: curl_easy_init (easy.c:365) ==161486== by 0x40607C1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161486== by 0x40034B5: main (first.c:279) ==161486== === End of file valgrind1504 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/19/valgrind1503 ./libtest/libtests lib1502 http://google.com:36987/1503 36987 127.0.0.1 > log/19/stdout1503 2> log/19/stderr1503 1503: 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 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/19/valgrind1503 ./libtest/libtests lib1502 http://google.com:36987/1503 36987 127.0.0.1 > log/19/stdout1503 2> log/19/stderr1503 === End of file commands.log === Start of file http_server.log 17:51:13.925245 ====> Client connect 17:51:13.925285 accept_connection 3 returned 4 17:51:13.925303 accept_connection 3 returned 0 17:51:13.925317 Read 93 bytes 17:51:13.925327 Process 93 bytes request 17:51:13.925340 Got request: GET /verifiedserver HTTP/1.1 17:51:13.925349 Are-we-friendly question received 17:51:13.925379 Wrote request (93 bytes) input to log/19/server.input 17:51:13.925397 Identifying ourselves as friends 17:51:13.925459 Response sent (56 bytes) and written to log/19/server.response 17:51:13.925469 special request received, no persistency 17:51:13.925478 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 58318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file stderr1503 URL: http://google.com:36987/1503 === End of file stderr1503 === Start of file valgrind1503 ==161431== ==161431== Process terminating with default action of signal 4 (SIGILL) ==161431== Illegal opcode at address 0x51D97AF ==161431== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==161431== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==161431== by 0x51D97AF: Curl_open (url.c:502) ==161431== by 0x515120F: curl_easy_init (easy.c:365) ==161431== by 0x40607C1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161431== by 0x40034B5: main (first.c:279) ==161431== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 570 of 789 ==161431== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==161431== by 0x51C4CE9: UnknownInlinedFun (slist.c:62) ==161431== by 0x51C4CE9: curl_slist_append (slist.c:92) ==161431== by 0x40607AF: test_lib1502.part.0.lto_priv.0 (lib1502.c:56) ==161431== by 0x40034B5: main (first.c:279) ==161431== ==161431== 5,512 bytes in 1 blocks are definitely lost in loss record 778 of 789 ==161431== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161431== by 0x51D96BD: Curl_open (url.c:479) ==161431== by 0x515120F: curl_easy_init (easy.c:365) ==161431== by 0x40607C1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161431== by 0x40034B5: main (first.c:279) ==161431== === End of file valgrind1503 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/12/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:38035/1501/ > log/12/stdout1501 2> log/12/stderr1501 1501: 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 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/12/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:38035/1501/ > log/12/stdout1501 2> log/12/stderr1501 === End of file commands.log === Start of file ftp_server.log 17:51:14.036819 ====> Client connect 17:51:14.037001 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:14.040593 < "USER anonymous" 17:51:14.040646 > "331 We are happy you popped in![CR][LF]" 17:51:14.040829 < "PASS ftp@example.com" 17:51:14.040859 > "230 Welcome you silly person[CR][LF]" 17:51:14.041023 < "PWD" 17:51:14.041057 > "257 "/" is current directory[CR][LF]" 17:51:14.041230 < "EPSV" 17:51:14.041260 ====> Passive DATA channel requested by client 17:51:14.041275 DATA sockfilt for passive data channel starting... 17:51:14.050030 DATA sockfilt for passive data channel started (pid 161401) 17:51:14.050299 DATA sockfilt for passive data channel listens on port 46291 17:51:14.050358 > "229 Entering Passive Mode (|||46291|)[CR][LF]" 17:51:14.050378 Client has been notified that DATA conn will be accepted on port 46291 17:51:14.050682 Client connects to port 46291 17:51:14.050712 ====> Client established passive DATA connection on port 46291 17:51:14.050811 < "TYPE I" 17:51:14.050845 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:14.051011 < "SIZE verifiedserver" 17:51:14.051053 > "213 17[CR][LF]" 17:51:14.051203 < "RETR verifiedserver" 17:51:14.051240 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:14.051328 =====> Closing passive DATA connection... 17:51:14.051345 Server disconnects passive DATA connection 17:51:14.051565 Server disconnected passive DATA connection 17:51:14.051598 DATA sockfilt for passive data channel quits (pid 161401) 17:51:14.051870 DATA sockfilt for 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/15/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 41057 > log/15/stdout1506 2> log/15/stderr1506 CMD (33792): ../libtool --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/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:39173/1511 > log/23/stdout1511 2> log/23/stderr1511 ive data channel quit (pid 161401) 17:51:14.051897 =====> Closed passive DATA connection 17:51:14.051926 > "226 File transfer complete[CR][LF]" 17:51:14.100327 < "QUIT" 17:51:14.100391 > "221 bye bye baby[CR][LF]" 17:51:14.101878 MAIN sockfilt said DISC 17:51:14.101935 ====> Client disconnected 17:51:14.102033 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:13.882857 ====> Client connect 17:51:13.883193 Received DATA (on stdin) 17:51:13.883208 > 146 bytes data, server => client 17:51:13.883221 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:13.883231 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:13.883241 '220 \___|\___/|_| \_\_____|\r\n' 17:51:13.886556 < 16 bytes data, client => server 17:51:13.886580 'USER anonymous\r\n' 17:51:13.886832 Received DATA (on stdin) 17:51:13.886845 > 33 bytes data, server => client 17:51:13.886856 '331 We are happy you popped in!\r\n' 17:51:13.886911 < 22 bytes data, client => server 17:51:13.886924 'PASS ftp@example.com\r\n' 17:51:13.887037 Received DATA (on stdin) 17:51:13.887050 > 30 bytes data, server => client 17:51:13.887060 '230 Welcome you silly person\r\n' 17:51:13.887111 < 5 bytes data, client => server 17:51:13.887123 'PWD\r\n' 17:51:13.887236 Received DATA (on stdin) 17:51:13.887248 > 30 bytes data, server => client 17:51:13.887258 '257 "/" is current directory\r\n' 17:51:13.887319 < 6 bytes data, client => server 17:51:13.887331 'EPSV\r\n' 17:51:13.896566 Received DATA (on stdin) 17:51:13.896585 > 39 bytes data, server => client 17:51:13.896596 '229 Entering Passive Mode (|||46291|)\r\n' 17:51:13.896779 < 8 bytes data, client => server 17:51:13.896794 'TYPE I\r\n' 17:51:13.897024 Received DATA (on stdin) 17:51:13.897036 > 33 bytes data, server => client 17:51:13.897046 '200 I modify TYPE as you wanted\r\n' 17:51:13.897100 < 21 bytes data, client => server 17:51:13.897112 'SIZE verifiedserver\r\n' 17:51:13.897229 Received DATA (on stdin) 17:51:13.897240 > 8 bytes data, server => client 17:51:13.897250 '213 17\r\n' 17:51:13.897299 < 21 bytes data, client => server 17:51:13.897309 'RETR verifiedserver\r\n' 17:51:13.897523 Received DATA (on stdin) 17:51:13.897534 > 29 bytes data, server => client 17:51:13.897544 '150 Binary junk (17 bytes).\r\n' 17:51:13.898104 Received DATA (on stdin) 17:51:13.898116 > 28 bytes data, server => client 17:51:13.898126 '226 File transfer complete\r\n' 17:51:13.946294 < 6 bytes data, client => server 17:51:13.946334 'QUIT\r\n' 17:51:13.946578 Received DATA (on stdin) 17:51:13.946593 > 18 bytes data, server => client 17:51:13.946604 '221 bye bye baby\r\n' 17:51:13.947979 ====> Client disconnect 17:51:13.948225 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:14.891027 Running IPv4 version 17:51:14.891147 Listening on port 46291 17:51:14.891197 Wrote pid 161401 to log/12/server/ftp_sockdata.pid 17:51:14.895341 Received PING (on stdin) 17:51:14.896358 Received PORT (on stdin) 17:51:14.896813 ====> Client connect 17:51:14.897569 Received DATA (on stdin) 17:51:14.897581 > 17 bytes data, server => client 17:51:14.897591 'WE ROOLZ: 81047\r\n' 17:51:14.897613 Received DISC (on stdin) 17:51:14.897623 ====> Client forcibly disconnected 17:51:14.897785 Received QUIT (on stdin) 17:51:14.897796 quits 17:51:14.897874 ============> 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 stderr1501 URL: ftp://127.0.0.1:38035/1501/ === End of file stderr1501 === Start of file valgrind1501 ==161447== ==161447== Process terminating with default action of signal 4 (SIGILL) ==161447== Illegal opcode at address 0x51D97AF ==161447== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==161447== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==161447== by 0x51D97AF: Curl_open (url.c:502) ==161447== by 0x515120F: curl_easy_init (easy.c:365) ==161447== by 0x402BE79: test_lib1501.lto_priv.0 (lib1501.c:42) ==161447== by 0x40034B5: main (first.c:279) ==161447== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==161447== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161447== by 0x51D96BD: Curl_open (url.c:479) ==161447== by 0x515120F: curl_easy_init (easy.c:365) ==161447== by 0x402BE79: test_lib1501.lto_priv.0 (lib1501.c:42) ==161447== by 0x40034B5: main (first.c:279) ==161447== === End of file valgrind1501 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/15/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 41057 > log/15/stdout1506 2> log/15/stderr1506 1506: 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 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/15/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 41057 > log/15/stdout1506 2> log/15/stderr1506 === End of file commands.log === Start of file http_server.log 17:51:14.136229 ====> Client connect 17:51:14.136266 accept_connection 3 returned 4 17:51:14.136283 accept_connection 3 returned 0 17:51:14.136297 Read 93 bytes 17:51:14.136307 Process 93 bytes request 17:51:14.136321 Got request: GET /verifiedserver HTTP/1.1 17:51:14.136330 Are-we-friendly question received 17:51:14.136354 Wrote request (93 bytes) input to log/15/server.input 17:51:14.136368 Identifying ourselves as friends 17:51:14.136433 Response sent (56 bytes) and written to log/15/server.response 17:51:14.136444 special request received, no persistency 17:51:14.136452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 45184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file stderr1506 URL: - === End of file stderr1506 === Start of file valgrind1506 ==161682== ==161682== Process terminating with default action of signal 4 (SIGILL) ==161682== Illegal opcode at address 0x51A0F00 ==161682== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==161682== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==161682== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==161682== by 0x402D23B: test_lib1506.lto_priv.0 (lib1506.c:58) ==161682== by 0x40034B5: main (first.c:279) ==161682== 728 bytes in 1 blocks are definitely lost in loss record 716 of 790 ==161682== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161682== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==161682== by 0x402D23B: test_lib1506.lto_priv.0 (lib1506.c:58) ==161682== by 0x40034B5: main (first.c:279) ==161682== === End of file valgrind1506 CMD (33792): ../libtool --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/valgrind1508 ./libtest/libtests lib1508 - > log/9/stdout1508 2> log/9/stderr1508 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/23/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:39173/1511 > log/23/stdout1511 2> log/23/stderr1511 1511: data FAILED: --- log/23/check-expected 2026-01-28 17:51:16.779888708 +0000 +++ log/23/check-generated 2026-01-28 17:51:16.779888708 +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/23/ 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/23/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:39173/1511 > log/23/stdout1511 2> log/23/stderr1511 === End of file commands.log === Start of file http_server.log 17:51:15.379207 ====> Client connect 17:51:15.379259 accept_connection 3 returned 4 17:51:15.379281 accept_connection 3 returned 0 17:51:15.379300 Read 93 bytes 17:51:15.379311 Process 93 bytes request 17:51:15.379325 Got request: GET /verifiedserver HTTP/1.1 17:51:15.379335 Are-we-friendly question received 17:51:15.379365 Wrote request (93 bytes) input to log/23/server.input 17:51:15.379384 Identifying ourselves as friends 17:51:15.379467 Response sent (56 bytes) and written to log/23/server.response 17:51:15.379514 special request received, no persistency 17:51:15.379542 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 43416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file stderr1511 URL: http://127.0.0.1:39173/1511 === End of file stderr1511 === Start of file valgrind1511 ==161944== ==161944== Process terminating with default action of signal 4 (SIGILL) ==161944== Illegal opcode at address 0x51D97AF ==161944== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==161944== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==161944== by 0x51D97AF: Curl_open (url.c:502) ==161944== by 0x515120F: curl_easy_init (easy.c:365) ==161944== by 0x4030C39: UnknownInlinedFun (lib1511.c:34) ==161944== by 0x4030C39: test_lib1511.lto_priv.0 (lib1511.c:26) ==161944== by 0x40034B5: main (first.c:279) ==161944== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==161944== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161944== by 0x51D96BD: Curl_open (url.c:479) ==161944== by 0x515120F: curl_easy_init (easy.c:365) ==161944== by 0x4030C39: UnknownInlinedFun (lib1511.c:34) ==161944== by 0x4030C39: test_lib1511.lto_priv.0 (lib1511.c:26) ==161944== by 0x40034B5: main (first.c:279) ==161944== === End of file valgrind1511 CMD (33792): ../libtool --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/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 39589 > log/1/stdout1510 2> log/1/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/16/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:40899/1509 127.0.0.1:34577 > log/16/stdout1509 2> log/16/stderr1509 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/9/valgrind1508 ./libtest/libtests lib1508 - > log/9/stdout1508 2> log/9/stderr1508 1508: output (log/9/stdout1508) FAILED: --- log/9/check-expected 2026-01-28 17:51:16.913222041 +0000 +++ log/9/check-generated 2026-01-28 17:51:16.913222041 +0000 @@ -1 +0,0 @@ -We are done[LF] == Contents of files in the log/9/ 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/9/valgrind1508 ./libtest/libtests lib1508 - > log/9/stdout1508 2> log/9/stderr1508 === End of file commands.log === Start of file server.cmd Testnum 1508 === End of file server.cmd === Start of file stderr1508 URL: - === End of file stderr1508 === Start of file valgrind1508 ==161724== ==161724== Process terminating with default action of signal 4 (SIGILL) ==161724== Illegal opcode at address 0x51A0F00 ==161724== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==161724== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==161724== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==161724== by 0x402CF63: UnknownInlinedFun (lib1508.c:35) ==161724== by 0x402CF63: test_lib1508.lto_priv.0 (lib1508.c:26) ==161724== by 0x40034B5: main (first.c:279) ==161724== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==161724== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161724== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==161724== by 0x402CF63: UnknownInlinedFun (lib1508.c:35) ==161724== by 0x402CF63: test_lib1508.lto_priv.0 (lib1508.c:26) ==161724== by 0x40034B5: main (first.c:279) ==161724== === End of file valgrind1508 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/1/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 39589 > log/1/stdout1510 2> log/1/stderr1510 1510: 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 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/1/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 39589 > log/1/stdout1510 2> log/1/stderr1510 === End of file commands.log === Start of file http_server.log 17:51:14.321590 ====> Client connect 17:51:14.321622 accept_connection 3 returned 4 17:51:14.321638 accept_connection 3 returned 0 17:51:14.326360 Read 93 bytes 17:51:14.326383 Process 93 bytes request 17:51:14.326397 Got request: GET /verifiedserver HTTP/1.1 17:51:14.326406 Are-we-friendly question received 17:51:14.326453 Wrote request (93 bytes) input to log/1/server.input 17:51:14.326473 Identifying ourselves as friends 17:51:14.326536 Response sent (56 bytes) and written to log/1/server.response 17:51:14.326547 special request received, no persistency 17:51:14.326557 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 39156 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file stderr1510 URL: - === End of file stderr1510 === Start of file valgrind1510 ==161883== ==161883== Process terminating with default action of signal 4 (SIGILL) ==161883== Illegal opcode at address 0x51D97AF ==161883== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==161883== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==161883== by 0x51D97AF: Curl_open (url.c:502) ==161883== by 0x515120F: curl_easy_init (easy.c:365) ==161883== by 0x402E25E: test_lib1510.lto_priv.0 (lib1510.c:59) ==161883== by 0x40034B5: main (first.c:279) ==161883== 5,512 bytes in 1 blocks are definitely lost in loss record 779 of 790 ==161883== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161883== by 0x51D96BD: Curl_open (url.c:479) ==161883== by 0x515120F: curl_easy_init (easy.c:365) ==161883== by 0x402E25E: test_lib1510.lto_priv.0 (lib1510.c:59) ==161883== by 0x40034B5: main (first.c:279) ==161883== === End of file valgrind1510 test 1509...[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/16/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:40899/1509 127.0.0.1:34577 > log/16/stdout1509 2> log/16/stderr1509 1509: 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 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/16/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:40899/1509 127.0.0.1:34577 > log/16/stdout1509 2> log/16/stderr1509 === End of file commands.log === Start of file http2_server.log 17:51:14.382418 ====> Client connect 17:51:14.382463 accept_connection 3 returned 4 17:51:14.382484 accept_connection 3 returned 0 17:51:14.382501 Read 93 bytes 17:51:14.382517 Process 93 bytes request 17:51:14.382538 Got request: GET /verifiedserver HTTP/1.1 17:51:14.382549 Are-we-friendly question received 17:51:14.382583 Wrote request (93 bytes) input to log/16/proxy.input 17:51:14.382608 Identifying ourselves as friends 17:51:14.382693 Response sent (56 bytes) and written to log/16/proxy.response 17:51:14.382708 special request received, no persistency 17:51:14.382716 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:34577... * Established connection to 127.0.0.1 (127.0.0.1 port 34577) from 127.0.0.1 port 43452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34577 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34577 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 92469 === End of file http2_verify.out === Start of file http_server.log 17:51:14.304626 ====> Client connect 17:51:14.304667 accept_connection 3 returned 4 17:51:14.304683 accept_connection 3 returned 0 17:51:14.304698 Read 93 bytes 17:51:14.304707 Process 93 bytes request 17:51:14.304721 Got request: GET /verifiedserver HTTP/1.1 17:51:14.304729 Are-we-friendly question received 17:51:14.304755 Wrote request (93 bytes) input to log/16/server.input 17:51:14.304770 Identifying ourselves as friends 17:51:14.307479 Response sent (56 bytes) and written to log/16/server.response 17:51:14.307496 special request received, no persistency 17:51:14.307504 ====> Client disconnect 0 === End of file http_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/valgrind1499 ../src/curl -q --output log/10/curl1499.out --include --trace-ascii log/10/trace1499 --trace-time http://127.0.0.1:44137/1499 http://127.0.0.1:44137/1499 -D log/10/heads1499 > log/10/stdout1499 2> log/10/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/2/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:43413/1507 log/2/stdout1507 2> log/2/stderr1507 r.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 38222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 92469 === 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: 74819 === End of file server.response === Start of file stderr1509 URL: http://the.old.moo.1509:40899/1509 === End of file stderr1509 === Start of file test1509.txt foo bar bar foo moo === End of file test1509.txt === Start of file valgrind1509 ==161955== ==161955== Process terminating with default action of signal 4 (SIGILL) ==161955== Illegal opcode at address 0x51D97AF ==161955== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==161955== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==161955== by 0x51D97AF: Curl_open (url.c:502) ==161955== by 0x515120F: curl_easy_init (easy.c:365) ==161955== by 0x40308D9: UnknownInlinedFun (lib1509.c:53) ==161955== by 0x40308D9: test_lib1509.lto_priv.0 (lib1509.c:44) ==161955== by 0x40034B5: main (first.c:279) ==161955== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==161955== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161955== by 0x51D96BD: Curl_open (url.c:479) ==161955== by 0x515120F: curl_easy_init (easy.c:365) ==161955== by 0x40308D9: UnknownInlinedFun (lib1509.c:53) ==161955== by 0x40308D9: test_lib1509.lto_priv.0 (lib1509.c:44) ==161955== by 0x40034B5: main (first.c:279) ==161955== === End of file valgrind1509 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 161230 port 44137 * pid http => 161230 161230 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/10/valgrind1499 ../src/curl -q --output log/10/curl1499.out --include --trace-ascii log/10/trace1499 --trace-time http://127.0.0.1:44137/1499 http://127.0.0.1:44137/1499 -D log/10/heads1499 > log/10/stdout1499 2> log/10/stderr1499 1499: 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 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/10/valgrind1499 ../src/curl -q --output log/10/curl1499.out --include --trace-ascii log/10/trace1499 --trace-time http://127.0.0.1:44137/1499 http://127.0.0.1:44137/1499 -D log/10/heads1499 > log/10/stdout1499 2> log/10/stderr1499 === End of file commands.log === Start of file http_server.log 17:51:13.508688 Running HTTP IPv4 version on port 44137 17:51:13.508806 Wrote pid 161230 to log/10/server/http_server.pid 17:51:13.508839 Wrote port 44137 to log/10/server/http_server.port === End of file http_server.log === Start of file server.cmd writedelay: 10 Testnum 1499 === End of file server.cmd === Start of file valgrind1499 ==162051== ==162051== Process terminating with default action of signal 4 (SIGILL) ==162051== Illegal opcode at address 0x4014520 ==162051== at 0x4014520: getparameter (tool_getparam.c:2862) ==162051== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==162051== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==162051== by 0x4003728: main (tool_main.c:186) === End of file valgrind1499 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/2/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:43413/1507 log/2/stdout1507 2> log/2/stderr1507 1507: 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 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/2/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:43413/1507 log/2/stdout1507 2> log/2/stderr1507 === End of file commands.log === Start of file server.cmd Testnum 1507 === End of file server.cmd === Start of file smtp_server.log 17:51:14.306829 ====> Client connect 17:51:14.306990 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:14.320196 < "EHLO verifiedserver" 17:51:14.320271 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:14.320543 < "HELP" 17:51:14.320579 > "214 WE ROOLZ: 126352[CR][LF]" 17:51:14.320597 return proof we are we 17:51:14.320879 < "QUIT" 17:51:14.320912 > "221 curl ESMTP server signing off[CR][LF]" 17:51:14.322584 MAIN sockfilt said DISC 17:51:14.322620 ====> Client disconnected 17:51:14.322693 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:14.152867 ====> Client connect 17:51:14.159511 Received DATA (on stdin) 17:51:14.159562 > 146 bytes data, server => client 17:51:14.159576 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:14.159587 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:14.159596 '220 \___|\___/|_| \_\_____|\r\n' 17:51:14.163001 < 21 bytes data, client => server 17:51:14.163050 'EHLO verifiedserver\r\n' 17:51:14.166462 Received DATA (on stdin) 17:51:14.166484 > 53 bytes data, server => client 17:51:14.166495 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:51:14.166616 < 6 bytes data, client => server 17:51:14.166632 'HELP\r\n' 17:51:14.166775 Received DATA (on stdin) 17:51:14.166789 > 22 bytes data, server => client 17:51:14.166800 '214 WE ROOLZ: 126352\r\n' 17:51:14.166927 < 6 bytes data, client => server 17:51:14.166945 'QUIT\r\n' 17:51:14.167091 Received DATA (on stdin) 17:51:14.167104 > 35 bytes data, server => client 17:51:14.167115 '221 curl ESMTP server signing off\r\n' 17:51:14.168241 ====> Client disconnect 17:51:14.168881 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1507 URL: smtp://127.0.0.1:43413/1507 === End of file stderr1507 === Start of file stdin-for-1507 From: different To: another body === End of file stdin-for-1507 === Start of file valgrind1507 ==161760== ==161760== Process terminating with default action of signal 4 (SIGILL) ==161760== Illegal opcode at address 0x51D97AF ==161760== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==161760== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==161760== by 0x51D97AF: Curl_open (url.c:502) ==161760== by 0x515120F: curl_easy_init (easy.c:365) ==161760== by 0x402DB8B: test_lib1507.lto_priv.0 (lib1507.c:48) ==161760== by 0x40034B5: main (first.c:279) ==161760== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==CMD (33792): ../libtool --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/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:46725/1513 > log/20/stdout1513 2> log/20/stderr1513 161760== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161760== by 0x51D96BD: Curl_open (url.c:479) ==161760== by 0x515120F: curl_easy_init (easy.c:365) ==161760== by 0x402DB8B: test_lib1507.lto_priv.0 (lib1507.c:48) ==161760== by 0x40034B5: main (first.c:279) ==161760== === End of file valgrind1507 CMD (33792): ../libtool --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/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:39649/1514 > log/24/stdout1514 2> log/24/stderr1514 CMD (33792): ../libtool --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/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 44593 > log/17/stdout1515 2> log/17/stderr1515 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/20/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:46725/1513 > log/20/stdout1513 2> log/20/stderr1513 1513: stdout FAILED: --- log/20/check-expected 2026-01-28 17:51:17.113222042 +0000 +++ log/20/check-generated 2026-01-28 17:51:17.113222042 +0000 @@ -1 +0,0 @@ -PROGRESSFUNCTION called[LF] == Contents of files in the log/20/ 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/20/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:46725/1513 > log/20/stdout1513 2> log/20/stderr1513 === End of file commands.log === Start of file http_server.log 17:51:14.582910 ====> Client connect 17:51:14.582954 accept_connection 3 returned 4 17:51:14.582972 accept_connection 3 returned 0 17:51:14.582987 Read 93 bytes 17:51:14.582996 Process 93 bytes request 17:51:14.583010 Got request: GET /verifiedserver HTTP/1.1 17:51:14.583018 Are-we-friendly question received 17:51:14.583042 Wrote request (93 bytes) input to log/20/server.input 17:51:14.583058 Identifying ourselves as friends 17:51:14.583135 Response sent (56 bytes) and written to log/20/server.response 17:51:14.583144 special request received, no persistency 17:51:14.583152 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 57924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 17 WE ROOLZ: 74815 === End of file server.response === Start of file stderr1513 URL: http://127.0.0.1:46725/1513 === End of file stderr1513 === Start of file valgrind1513 ==162099== ==162099== Process terminating with default action of signal 4 (SIGILL) ==162099== Illegal opcode at address 0x51D97AF ==162099== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==162099== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==162099== by 0x51D97AF: Curl_open (url.c:502) ==162099== by 0x515120F: curl_easy_init (easy.c:365) ==162099== by 0x402EA0C: UnknownInlinedFun (lib1513.c:55) ==162099== by 0x402EA0C: test_lib1513.lto_priv.0 (lib1513.c:48) ==162099== by 0x40034B5: main (first.c:279) ==162099== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==162099== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162099== by 0x51D96BD: Curl_open (url.c:479) ==162099== by 0x515120F: curl_easy_init (easy.c:365) ==162099== by 0x402EA0C: UnknownInlinedFun (lib1513.c:55) ==162099== by 0x402EA0C: test_lib1513.lto_priv.0 (lib1513.c:48) ==162099== by 0x40034B5: main (first.c:279) ==162099== === End of file valgrind1513 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/24/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:39649/1514 > log/24/stdout1514 2> log/24/stderr1514 1514: 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 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/24/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:39649/1514 > log/24/stdout1514 2> log/24/stderr1514 === End of file commands.log === Start of file http_server.log 17:51:14.788612 ====> Client connect 17:51:14.788654 accept_connection 3 returned 4 17:51:14.788670 accept_connection 3 returned 0 17:51:14.788685 Read 93 bytes 17:51:14.788694 Process 93 bytes request 17:51:14.788707 Got request: GET /verifiedserver HTTP/1.1 17:51:14.788715 Are-we-friendly question received 17:51:14.788740 Wrote request (93 bytes) input to log/24/server.input 17:51:14.788755 Identifying ourselves as friends 17:51:14.788813 Response sent (56 bytes) and written to log/24/server.response 17:51:14.788823 special request received, no persistency 17:51:14.788830 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 39756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file stderr1514 URL: http://127.0.0.1:39649/1514 === End of file stderr1514 === Start of file valgrind1514 ==162214== ==162214== Process terminating with default action of signal 4 (SIGILL) ==162214== Illegal opcode at address 0x51D97AF ==162214== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==162214== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==162214== by 0x51D97AF: Curl_open (url.c:502) ==162214== by 0x515120F: curl_easy_init (easy.c:365) ==162214== by 0x402EC8C: test_lib1514.lto_priv.0 (lib1514.c:64) ==162214== by 0x40034B5: main (first.c:279) ==162214== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==162214== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162214== by 0x51D96BD: Curl_open (url.c:479) ==162214== by 0x515120F: curl_easy_init (easy.c:365) ==162214== by 0x402EC8C: test_lib1514.lto_priv.0 (lib1514.c:64) ==162214== by 0x40034B5: main (first.c:279) ==162214== === 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/21/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:37253/1520 log/21/stdout1520 2> log/21/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/11/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 46439 > log/11/stdout1516 2> log/11/stderr1516 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/17/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 44593 > log/17/stdout1515 2> log/17/stderr1515 1515: data FAILED: --- log/17/check-expected 2026-01-28 17:51:17.289888708 +0000 +++ log/17/check-generated 2026-01-28 17:51:17.289888708 +0000 @@ -1,2 +0,0 @@ -hello[LF] -hello[LF] == Contents of files in the log/17/ 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/17/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 44593 > log/17/stdout1515 2> log/17/stderr1515 === End of file commands.log === Start of file http_server.log 17:51:15.117439 ====> Client connect 17:51:15.117474 accept_connection 3 returned 4 17:51:15.117492 accept_connection 3 returned 0 17:51:15.117507 Read 93 bytes 17:51:15.117517 Process 93 bytes request 17:51:15.117531 Got request: GET /verifiedserver HTTP/1.1 17:51:15.117540 Are-we-friendly question received 17:51:15.117565 Wrote request (93 bytes) input to log/17/server.input 17:51:15.117581 Identifying ourselves as friends 17:51:15.117637 Response sent (56 bytes) and written to log/17/server.response 17:51:15.117647 special request received, no persistency 17:51:15.117656 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 36500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file stderr1515 URL: path/1515 === End of file stderr1515 === Start of file valgrind1515 ==162294== ==162294== Process terminating with default action of signal 4 (SIGILL) ==162294== Illegal opcode at address 0x51A0F00 ==162294== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==162294== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==162294== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==162294== by 0x4031721: test_lib1515.lto_priv.0 (lib1515.c:121) ==162294== by 0x40034B5: main (first.c:279) ==162294== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==162294== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162294== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==162294== by 0x4031721: test_lib1515.lto_priv.0 (lib1515.c:121) ==162294== by 0x40034B5: main (first.c:279) ==162294== === End of file valgrind1515 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/11/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 46439 > log/11/stdout1516 2> log/11/stderr1516 libtests returned 132, when expecting 0 1516: exit FAILED == Contents of files in the log/11/ 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/11/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 46439 > log/11/stdout1516 2> log/11/stderr1516 === End of file commands.log === Start of file http_server.log 17:51:15.266236 ====> Client connect 17:51:15.266279 accept_connection 3 returned 4 17:51:15.266297 accept_connection 3 returned 0 17:51:15.266316 Read 93 bytes 17:51:15.266325 Process 93 bytes request 17:51:15.266339 Got request: GET /verifiedserver HTTP/1.1 17:51:15.266348 Are-we-friendly question received 17:51:15.266376 Wrote request (93 bytes) input to log/11/server.input 17:51:15.266395 Identifying ourselves as friends 17:51:15.266478 Response sent (56 bytes) and written to log/11/server.response 17:51:15.266489 special request received, no persistency 17:51:15.266498 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 47142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file stderr1516 URL: path/1516 === End of file stderr1516 === Start of file valgrind1516 ==162349== ==162349== Process terminating with default action of signal 4 (SIGILL) ==162349== Illegal opcode at address 0x51A0F00 ==162349== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==162349== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==162349== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==162349== by 0x4031721: test_lib1515.lto_priv.0 (lib1515.c:121) ==162349== by 0x40034B5: main (first.c:279) ==162349== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==162349== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162349== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==162349== by 0x4031721: test_lib1515.lto_priv.0 (lib1515.c:121) ==162349== by 0x40034B5: main (first.c:279) ==162349== === End of file valgrind1516 test 1520...[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/21/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:37253/1520 log/21/stdout1520 2> log/21/stderr1520 1520: 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 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/21/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:37253/1520 log/21/stdout1520 2> log/21/stderr1520 === End of file commands.log === Start of file server.cmd Testnum 1520 === End of file server.cmd === Start of file smtp_server.log 17:51:15.672051 ====> Client connect 17:51:15.672223 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:15.672534 < "EHLO verifiedserver" 17:51:15.672587 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:15.672758 < "HELP" 17:51:15.672792 > "214 WE ROOLZ: 126376[CR][LF]" 17:51:15.672806 return proof we are we 17:51:15.673013 < "QUIT" 17:51:15.673038 > "221 curl ESMTP server signing off[CR][LF]" 17:51:15.674154 MAIN sockfilt said DISC 17:51:15.674183 ====> Client disconnected 17:51:15.67424CMD (33792): ../libtool --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/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:34067/1518 > log/18/stdout1518 2> log/18/stderr1518 9 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:15.518065 ====> Client connect 17:51:15.518417 Received DATA (on stdin) 17:51:15.518433 > 146 bytes data, server => client 17:51:15.518443 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:15.518452 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:15.518465 '220 \___|\___/|_| \_\_____|\r\n' 17:51:15.518545 < 21 bytes data, client => server 17:51:15.518556 'EHLO verifiedserver\r\n' 17:51:15.518766 Received DATA (on stdin) 17:51:15.518777 > 53 bytes data, server => client 17:51:15.518787 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:51:15.518840 < 6 bytes data, client => server 17:51:15.518849 'HELP\r\n' 17:51:15.518978 Received DATA (on stdin) 17:51:15.518987 > 22 bytes data, server => client 17:51:15.518996 '214 WE ROOLZ: 126376\r\n' 17:51:15.519088 < 6 bytes data, client => server 17:51:15.519099 'QUIT\r\n' 17:51:15.519211 Received DATA (on stdin) 17:51:15.519220 > 35 bytes data, server => client 17:51:15.519229 '221 curl ESMTP server signing off\r\n' 17:51:15.520282 ====> Client disconnect 17:51:15.520421 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1520 URL: smtp://127.0.0.1:37253/1520 === End of file stderr1520 === Start of file stdin-for-1520 From: different To: another . . . body === End of file stdin-for-1520 === Start of file valgrind1520 ==162610== ==162610== Process terminating with default action of signal 4 (SIGILL) ==162610== Illegal opcode at address 0x51D97AF ==162610== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==162610== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==162610== by 0x51D97AF: Curl_open (url.c:502) ==162610== by 0x515120F: curl_easy_init (easy.c:365) ==162610== by 0x402F080: test_lib1520.lto_priv.0 (lib1520.c:78) ==162610== by 0x40034B5: main (first.c:279) ==162610== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==162610== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162610== by 0x51D96BD: Curl_open (url.c:479) ==162610== by 0x515120F: curl_easy_init (easy.c:365) ==162610== by 0x402F080: test_lib1520.lto_priv.0 (lib1520.c:78) ==162610== by 0x40034B5: main (first.c:279) ==162610== === End of file valgrind1520 CMD (33792): ../libtool --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/valgrind1521 ./libtest/libtests lib1521 - > log/5/stdout1521 2> log/5/stderr1521 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/18/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:34067/1518 > log/18/stdout1518 2> log/18/stderr1518 1518: stdout FAILED: --- log/18/check-expected 2026-01-28 17:51:17.749888708 +0000 +++ log/18/check-generated 2026-01-28 17:51:17.749888708 +0000 @@ -1,5 +0,0 @@ -result 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:34067/1518[LF] -redirecturl http://1.2 .4.5/test[LF] == Contents of files in the log/18/ directory after test 1518 === Start of file check-expected result 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:34067/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/18/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:34067/1518 > log/18/stdout1518 2> log/18/stderr1518 === End of file commands.log === Start of file http_server.log 17:51:15.405223 ====> Client connect 17:51:15.405257 accept_connection 3 returned 4 17:51:15.405272 accept_connection 3 returned 0 17:51:15.405285 Read 93 bytes 17:51:15.405294 Process 93 bytes request 17:51:15.405308 Got request: GET /verifiedserver HTTP/1.1 17:51:15.405316 Are-we-friendly question received 17:51:15.405341 Wrote request (93 bytes) input to log/18/server.input 17:51:15.405357 Identifying ourselves as friends 17:51:15.405410 Response sent (56 bytes) and written to log/18/server.response 17:51:15.405419 special request received, no persistency 17:51:15.405427 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 36452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file stderr1518 URL: http://127.0.0.1:34067/1518 === End of file stderr1518 === Start of file valgrind1518 ==162444== ==162444== Process terminating with default action of signal 4 (SIGILL) ==162444== Illegal opcode at address 0x51D97AF ==162444== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==162444== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==162444== by 0x51D97AF: Curl_open (url.c:502) ==162444== by 0x515120F: curl_easy_init (easy.c:365) ==162444== by 0x4032458: test_lib1518.lto_priv.0 (lib1518.c:47) ==162444== by 0x40034B5: main (first.c:279) ==162444== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==162444== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162444== by 0x51D96BD: Curl_open (url.c:479) ==162444== by 0x515120F: curl_easy_init (easy.c:365) ==162444== by 0x4032458: test_lib1518.lto_priv.0 (lib1518.c:47) ==162444== by 0x40034B5: main (first.c:279) ==162444== === End of file valgrind1518 CMD (33792): ../libtool --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/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:37569/1517 > log/14/stdout1517 2> log/14/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/7/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:35671/1519 > log/7/stdout1519 2> log/7/stderr1519 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/5/valgrind1521 ./libtest/libtests lib1521 - > log/5/stdout1521 2> log/5/stderr1521 1521: stdout FAILED: --- log/5/check-expected 2026-01-28 17:51:17.909888707 +0000 +++ log/5/check-generated 2026-01-28 17:51:17.909888707 +0000 @@ -1 +0,0 @@ -ok[LF] == Contents of files in the log/5/ 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/5/valgrind1521 ./libtest/libtests lib1521 - > log/5/stdout1521 2> log/5/stderr1521 === End of file commands.log === Start of file server.cmd Testnum 1521 === End of file server.cmd === Start of file stderr1521 URL: - === End of file stderr1521 === Start of file valgrind1521 ==162497== ==162497== Process terminating with default action of signal 4 (SIGILL) ==162497== Illegal opcode at address 0x51D97AF ==162497== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==162497== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==162497== by 0x51D97AF: Curl_open (url.c:502) ==162497== by 0x515120F: curl_easy_init (easy.c:365) ==162497== by 0x40498FA: test_lib1521.lto_priv.0 (lib1521.c:239) ==162497== by 0x40034B5: main (first.c:279) ==162497== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==162497== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162497== by 0x51D96BD: Curl_open (url.c:479) ==162497== by 0x515120F: curl_easy_init (easy.c:365) ==162497== by 0x40498FA: test_lib1521.lto_priv.0 (lib1521.c:239) ==162497== by 0x40034B5: main (first.c:279) ==162497== === End of file valgrind1521 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/14/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:37569/1517 > log/14/stdout1517 2> log/14/stderr1517 1517: 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 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/14/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:37569/1517 > log/14/stdout1517 2> log/14/stderr1517 === End of file commands.log === Start of file http_server.log 17:51:16.359033 ====> Client connect 17:51:16.359071 accept_connection 3 returned 4 17:51:16.359089 accept_connection 3 returned 0 17:51:16.359105 Read 93 bytes 17:51:16.359115 Process 93 bytes request 17:51:16.359128 Got request: GET /verifiedserver HTTP/1.1 17:51:16.359141 Are-we-friendly question received 17:51:16.359170 Wrote request (93 bytes) input to log/14/server.input 17:51:16.359189 Identifying ourselves as friends 17:51:16.359263 Response sent (56 bytes) and written to log/14/server.response 17:51:16.359275 special request received, no persistency 17:51:16.359284 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 39734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file stderr1517 URL: http://127.0.0.1:37569/1517 === End of file stderr1517 === Start of file valgrind1517 ==162435== ==162435== Process terminating with default action of signal 4 (SIGILL) ==162435== Illegal opcode at address 0x51D97AF ==162435== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==162435== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==162435== by 0x51D97AF: Curl_open (url.c:502) ==162435== by 0x515120F: curl_easy_init (easy.c:365) ==162435== by 0x402EEEA: test_lib1517.lto_priv.0 (lib1517.c:70) ==162435== by 0x40034B5: main (first.c:279) ==162435== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==162435== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162435== by 0x51D96BD: Curl_open (url.c:479) ==162435== by 0x515120F: curl_easy_init (easy.c:365) ==162435== by 0x402EEEA: test_lib1517.lto_priv.0 (lib1517.c:70) ==162435== by 0x40034B5: main (first.c:279) ==162435== === End of file valgrind1517 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/14/stdout1544 2> log/14/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/8/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:42045/1522 > log/8/stdout1522 2> log/8/stderr1522 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/7/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:35671/1519 > log/7/stdout1519 2> log/7/stderr1519 1519: stdout FAILED: --- log/7/check-expected 2026-01-28 17:51:17.966555374 +0000 +++ log/7/check-generated 2026-01-28 17:51:17.966555374 +0000 @@ -1,5 +0,0 @@ -result 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:35671/1519[LF] -redirecturl http://127.0.0.1:35671/h%20ttp://1.2.4.5/test[LF] == Contents of files in the log/7/ directory after test 1519 === Start of file check-expected result 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:35671/1519[LF] redirecturl http://127.0.0.1:35671/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/7/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:35671/1519 > log/7/stdout1519 2> log/7/stderr1519 === End of file commands.log === Start of file http_server.log 17:51:15.463351 ====> Client connect 17:51:15.463394 accept_connection 3 returned 4 17:51:15.463411 accept_connection 3 returned 0 17:51:15.463426 Read 93 bytes 17:51:15.463436 Process 93 bytes request 17:51:15.463451 Got request: GET /verifiedserver HTTP/1.1 17:51:15.463459 Are-we-friendly question received 17:51:15.463483 Wrote request (93 bytes) input to log/7/server.input 17:51:15.463499 Identifying ourselves as friends 17:51:15.463558 Response sent (56 bytes) and written to log/7/server.response 17:51:15.463567 special request received, no persistency 17:51:15.463574 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 47802 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file stderr1519 URL: http://127.0.0.1:35671/1519 === End of file stderr1519 === Start of file valgrind1519 ==162544== ==162544== Process terminating with default action of signal 4 (SIGILL) ==162544== Illegal opcode at address 0x51D97AF ==162544== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==162544== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==162544== by 0x51D97AF: Curl_open (url.c:502) ==162544== by 0x515120F: curl_easy_init (easy.c:365) ==162544== by 0x4032458: test_lib1518.lto_priv.0 (lib1518.c:47) ==162544== by 0x40034B5: main (first.c:279) ==162544== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==162544== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162544== by 0x51D96BD: Curl_open (url.c:479) ==162544== by 0x515120F: curl_easy_init (easy.c:365) ==162544== by 0x4032458: test_lib1518.lto_priv.0 (lib1518.c:47) ==162544== by 0x40034B5: main (first.c:279) ==162544== === End of file valgrind1519 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/14/stdout1544 2> log/14/stderr1544 valgrind SKIPPED -------e--- OK (1473 out of 1760, remaining: 00:28, took 0.086s, duration: 02: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/3/valgrind1524 ../src/curl -q --output log/3/curl1524.out --include --trace-ascii log/3/trace1524 --trace-time http://127.0.0.1:45927/blah/1524 -L -T log/3/upload1524.txt > log/3/stdout1524 2> log/3/stderr1524 CMD (33792): ../libtool --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/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:36645/1523 > log/6/stdout1523 2> log/6/stderr1523 RUN: Process with pid 150721 signalled to die RUN: Process with pid 150721 gracefully died 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/8/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:42045/1522 > log/8/stdout1522 2> log/8/stderr1522 1522: stdout FAILED: --- log/8/check-expected 2026-01-28 17:51:18.229888708 +0000 +++ log/8/check-generated 2026-01-28 17:51:18.229888708 +0000 @@ -1,3 +0,0 @@ --foo-[LF] -uploadSize = 40960[LF] -!!!!!!!!!! PASS[LF] == Contents of files in the log/8/ 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/8/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:42045/1522 > log/8/stdout1522 2> log/8/stderr1522 === End of file commands.log === Start of file http_server.log 17:51:15.556245 ====> Client connect 17:51:15.556296 accept_connection 3 returned 4 17:51:15.556315 accept_connection 3 returned 0 17:51:15.569511 Read 93 bytes 17:51:15.569556 Process 93 bytes request 17:51:15.569569 Got request: GET /verifiedserver HTTP/1.1 17:51:15.569578 Are-we-friendly question received 17:51:15.569617 Wrote request (93 bytes) input to log/8/server.input 17:51:15.569638 Identifying ourselves as friends 17:51:15.569731 Response sent (56 bytes) and written to log/8/server.response 17:51:15.569742 special request received, no persistency 17:51:15.569751 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 59990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file stderr1522 URL: http://127.0.0.1:42045/1522 === End of file stderr1522 === Start of file valgrind1522 ==162664== ==162664== Process terminating with default action of signal 4 (SIGILL) ==162664== Illegal opcode at address 0x51D97AF ==162664== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==162664== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==162664== by 0x51D97AF: Curl_open (url.c:502) ==162664== by 0x515120F: curl_easy_init (easy.c:365) ==162664== by 0x4032766: test_lib1522.lto_priv.0 (lib1522.c:54) ==162664== by 0x40034B5: main (first.c:279) ==162664== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==162664== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162664== by 0x51D96BD: Curl_open (url.c:479) ==162664== by 0x515120F: curl_easy_init (easy.c:365) ==162664== by 0x4032766: test_lib1522.lto_priv.0 (lib1522.c:54) ==162664== by 0x40034B5: main (first.c:279) ==162664== === End of file valgrind1522 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/3/valgrind1524 ../src/curl -q --output log/3/curl1524.out --include --trace-ascii log/3/trace1524 --trace-time http://127.0.0.1:45927/blah/1524 -L -T log/3/upload1524.txt > log/3/stdout1524 2> log/3/stderr1524 1524: 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 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/3/valgrind1524 ../src/curl -q --output log/3/curl1524.out --include --trace-ascii log/3/trace1524 --trace-time http://127.0.0.1:45927/blah/1524 -L -T log/3/upload1524.txt > log/3/stdout1524 2> log/3/stderr1524 === End of file commands.log === Start of file http_server.log 17:51:15.956759 ====> Client connect 17:51:15.956799 accept_connection 3 returned 4 17:51:15.965254 accept_connection 3 returned 0 17:51:15.965291 Read 93 bytes 17:51:15.965304 Process 93 bytes request 17:51:15.965317 Got request: GET /verifiedserver HTTP/1.1 17:51:15.965326 Are-we-friendly question received 17:51:15.969590 Wrote request (93 bytes) input to log/3/server.input 17:51:15.969625 Identifying ourselves as friends 17:51:15.969722 Response sent (56 bytes) and written to log/3/server.response 17:51:15.969732 special request received, no persistency 17:51:15.969741 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 47252 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file upload1524.txt moo === End of file upload1524.txt === Start of file valgrind1524 ==162879== ==162879== Process terminating with default action of signal 4 (SIGILL) ==162879== Illegal opcode at address 0x4014520 ==162879== at 0x4014520: getparameter (tool_getparam.c:2862) ==162879== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==162879== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==162879== by 0x4003728: main (tool_main.c:186) === End of file valgrind1524 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/6/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:36645/1523 > log/6/stdout1523 2> log/6/stderr1523 libtests returned 132, when expecting 0 1523: exit FAILED == Contents of files in the log/6/ 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/6/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:36645/1523 > log/6/stdout1523 2> log/6/stderr1523 === End of file commands.log === Start of file http_server.log 17:51:15.786252 ====> Client connect 17:51:15.786302 accept_connection 3 returned 4 17:51:15.786322 accept_connection 3 returned 0 17:51:15.786340 Read 93 bytes 17:51:15.786351 Process 93 bytes request 17:51:15.786364 Got request: GET /verifiedserver HTTP/1.1 17:51:15.786374 Are-we-friendly question received 17:51:15.786405 Wrote request (93 bytes) input to log/6/server.input 17:51:15.786424 Identifying ourselves as friends 17:51:15.786526 Response sent (57 bytes) and written to log/6/server.response 17:51:15.786539 special request received, no persistency 17:51:15.786549 ====> Client disconnect 0 exit_signal_handler: called 17:51:18.136164 signalled to die 17:51:18.136298 ========> IPv4 sws (port 36645 pid: 150721) exits with signal (15) 17:51:18.136312 ========> sws quits === 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/19/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:36987/1528 127.0.0.1:42555 > log/19/stdout1528 2> log/19/stderr1528 Trying 127.0.0.1:36645... * Established connection to 127.0.0.1 (127.0.0.1 port 36645) from 127.0.0.1 port 46172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36645 > User-Agent: curl/8.18.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:36645 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150721 === 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: 18 WE ROOLZ: 150721 === End of file server.response === Start of file stderr1523 URL: http://127.0.0.1:36645/1523 === End of file stderr1523 === Start of file valgrind1523 ==162801== ==162801== Process terminating with default action of signal 4 (SIGILL) ==162801== Illegal opcode at address 0x51D97AF ==162801== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==162801== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==162801== by 0x51D97AF: Curl_open (url.c:502) ==162801== by 0x515120F: curl_easy_init (easy.c:365) ==162801== by 0x402F234: test_lib1523.lto_priv.0 (lib1523.c:60) ==162801== by 0x40034B5: main (first.c:279) ==162801== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==162801== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162801== by 0x51D96BD: Curl_open (url.c:479) ==162801== by 0x515120F: curl_easy_init (easy.c:365) ==162801== by 0x402F234: test_lib1523.lto_priv.0 (lib1523.c:60) ==162801== by 0x40034B5: main (first.c:279) ==162801== === End of file valgrind1523 CMD (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/valgrind1538 ./libtest/libtests lib1538 - > log/24/stdout1538 2> log/24/stderr1538 CMD (33792): ../libtool --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/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:39173/1531 > log/23/stdout1531 2> log/23/stderr1531 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/19/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:36987/1528 127.0.0.1:42555 > log/19/stdout1528 2> log/19/stderr1528 1528: data FAILED: --- log/19/check-expected 2026-01-28 17:51:18.886555374 +0000 +++ log/19/check-generated 2026-01-28 17:51:18.886555374 +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/19/ 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/19/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:36987/1528 127.0.0.1:42555 > log/19/stdout1528 2> log/19/stderr1528 === End of file commands.log === Start of file http2_server.log 17:51:16.551960 ====> Client connect 17:51:16.552004 accept_connection 3 returned 4 17:51:16.552022 accept_connection 3 returned 0 17:51:16.552039 Read 93 bytes 17:51:16.552049 Process 93 bytes request 17:51:16.552070 Got request: GET /verifiedserver HTTP/1.1 17:51:16.552079 Are-we-friendly question received 17:51:16.552115 Wrote request (93 bytes) input to log/19/proxy.input 17:51:16.552139 Identifying ourselves as friends 17:51:16.552229 Response sent (57 bytes) and written to log/19/proxy.response 17:51:16.552247 special request received, no persistency 17:51:16.552257 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:42555... * Established connection to 127.0.0.1 (127.0.0.1 port 42555) from 127.0.0.1 port 34424 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42555 > User-Agent: curl/8.18.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:42555 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 150499 === End of file http2_verify.out === Start of file http_server.log 17:51:16.472915 ====> Client connect 17:51:16.472963 accept_connection 3 returned 4 17:51:16.472985 accept_connection 3 returned 0 17:51:16.473004 Read 93 bytes 17:51:16.473014 Process 93 bytes request 17:51:16.473029 Got request: GET /verifiedserver HTTP/1.1 17:51:16.473039 Are-we-friendly question received 17:51:16.473071 Wrote request (93 bytes) input to log/19/server.input 17:51:16.473091 Identifying ourselves as friends 17:51:16.473183 Response sent (56 bytes) and written to log/19/server.response 17:51:16.473196 special request received, no persistency 17:51:16.473206 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 58330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150499 === 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: 74816 === End of file server.response === Start of file stderr1528 URL: http://the.old.moo:36987/1528 === End of file stderr1528 === Start of file valgrind1528 ==163064== ==163064== Process terminating with default action of signal 4 (SIGILL) ==163064== Illegal opcode at address 0x51D97AF ==163064== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163064== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163064== by 0x51D97AF: Curl_open (url.c:502) ==163064== by 0x515120F: curl_easy_init (easy.c:365) ==163064== by 0x402FB8E: test_lib1528.lto_priv.0 (lib1528.c:39) ==163064== by 0x40034B5: main (first.c:279) ==163064== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163064== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163064== by 0x51D96BD: Curl_open (url.c:479) ==163064== by 0x515120F: curl_easy_init (easy.c:365) ==163064== by 0x402FB8E: test_lib1528.lto_priv.0 (lib1528.c:39) ==163064== by 0x40034B5: main (first.c:279) ==163064== === End of file valgrind1528 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/24/valgrind1538 ./libtest/libtests lib1538 - > log/24/stdout1538 2> log/24/stderr1538 s------e-v- OK (1467 out of 1760, remaining: 00:29, took 1.659s, duration: 02:27) 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/23/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:39173/1531 > log/23/stdout1531 2> log/23/stderr1531 1531: 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 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/23/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:39173/1531 > log/23/stdout1531 2> log/23/stderr1531 === End of file commands.log === Start of file http_server.log 17:51:17.699568 ====> Client connect 17:51:17.699610 accept_connection 3 returned 4 17:51:17.699628 accept_connection 3 returned 0 17:51:17.699642 Read 93 bytes 17:51:17.699652 Process 93 bytes request 17:51:17.699667 Got request: GET /verifiedserver HTTP/1.1 17:51:17.699675 Are-we-friendly question received 17:51:17.699706 Wrote request (93 bytes) input to log/23/server.input 17:51:17.699724 Identifying ourselves as friends 17:51:17.699795 Response sent (56 bytes) and written to log/23/server.response 17:51:17.699807 special request received, no persistency 17:51:17.699815 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 43428 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file stderr1531 URL: 127.0.0.1:39173/1531 === End of file stderr1531 === Start of file valgrind1531 ==163181== ==163181== Process terminating with default action of signal 4CMD (33792): ../libtool --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/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:43845/1527 127.0.0.1:45419 > log/13/stdout1527 2> log/13/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/10/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:44137/1535 > log/10/stdout1535 2> log/10/stderr1535 (SIGILL) ==163181== Illegal opcode at address 0x51D97AF ==163181== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163181== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163181== by 0x51D97AF: Curl_open (url.c:502) ==163181== by 0x515120F: curl_easy_init (easy.c:365) ==163181== by 0x40600B5: test_lib1531.part.0.lto_priv.0 (lib1531.c:43) ==163181== by 0x40034B5: main (first.c:279) ==163181== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163181== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163181== by 0x51D96BD: Curl_open (url.c:479) ==163181== by 0x515120F: curl_easy_init (easy.c:365) ==163181== by 0x40600B5: test_lib1531.part.0.lto_priv.0 (lib1531.c:43) ==163181== by 0x40034B5: main (first.c:279) ==163181== === End of file valgrind1531 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/13/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:43845/1527 127.0.0.1:45419 > log/13/stdout1527 2> log/13/stderr1527 1527: 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 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/13/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:43845/1527 127.0.0.1:45419 > log/13/stdout1527 2> log/13/stderr1527 === End of file commands.log === Start of file http2_server.log 17:51:16.535191 ====> Client connect 17:51:16.535226 accept_connection 3 returned 4 17:51:16.535244 accept_connection 3 returned 0 17:51:16.535260 Read 93 bytes 17:51:16.535274 Process 93 bytes request 17:51:16.535295 Got request: GET /verifiedserver HTTP/1.1 17:51:16.535305 Are-we-friendly question received 17:51:16.535336 Wrote request (93 bytes) input to log/13/proxy.input 17:51:16.535359 Identifying ourselves as friends 17:51:16.535430 Response sent (57 bytes) and written to log/13/proxy.response 17:51:16.535444 special request received, no persistency 17:51:16.535453 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45419... * Established connection to 127.0.0.1 (127.0.0.1 port 45419) from 127.0.0.1 port 40112 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45419 > User-Agent: curl/8.18.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:45419 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 114245 === End of file http2_verify.out === Start of file http_server.log 17:51:17.452909 ====> Client connect 17:51:17.452953 accept_connection 3 returned 4 17:51:17.452971 accept_connection 3 returned 0 17:51:17.452988 Read 93 bytes 17:51:17.452998 Process 93 bytes request 17:51:17.453012 Got request: GET /verifiedserver HTTP/1.1 17:51:17.453022 Are-we-friendly question received 17:51:17.453048 Wrote request (93 bytes) input to log/13/server.input 17:51:17.453065 Identifying ourselves as friends 17:51:17.453136 Response sent (56 bytes) and written to log/13/server.response 17:51:17.453146 special request received, no persistency 17:51:17.453155 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 47702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 114245 === End of file proxy.response === 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: 74871 === End of file server.response === Start of file stderr1527 URL: http://the.old.moo.1527:43845/1527 === End of file stderr1527 === Start of file valgrind1527 ==163076== ==163076== Process terminating with default action of signal 4 (SIGILL) ==163076== Illegal opcode at address 0x51D97AF ==163076== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163076== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163076== by 0x51D97AF: Curl_open (url.c:502) ==163076== by 0x515120F: curl_easy_init (easy.c:365) ==163076== by 0x402F8F0: test_lib1527.lto_priv.0 (lib1527.c:57) ==163076== by 0x40034B5: main (first.c:279) ==163076== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163076== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163076== by 0x51D96BD: Curl_open (url.c:479) ==163076== by 0x515120F: curl_easy_init (easy.c:365) ==163076== by 0x402F8F0: test_lib1527.lto_priv.0 (lib1527.c:57) ==163076== by 0x40034B5: main (first.c:279) ==163076== === End of file valgrind1527 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/10/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:44137/1535 > log/10/stdout1535 2> log/10/stderr1535 1535: 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 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/10/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:44137/1535 > log/10/stdout1535 2> log/10/stderr1535 === End of file commands.log === Start of file http_server.log 17:51:16.973875 ====> Client connect 17:51:16.973912 accept_connection 3 returned 4 17:51:16.973929 accept_connection 3 returned 0 17:51:16.973943 Read 93 bytes 17:51:16.973958 Process 93 bytes request 17:51:16.973982 Got request: GET /verifiedserver HTTP/1.1 17:51:16.973991 Are-we-friendly question received 17:51:16.974019 Wrote request (93 bytes) input to log/10/server.input 17:51:16.974043 Identifying ourselves as friends 17:51:16.974113 Response sent (57 bytes) and written to log/10/server.response 17:51:16.974130 special request received, no persistency 17:51:16.974140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Established connection to 127.0.0.1 (127.0.0.1 port 44137) from 127.0.0.1 port 47152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.18.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:44137 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161230 === 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: 18 WE ROOLZ: 161230 === End of file server.response === Start of file stderr1535 URL: http://127.0.0.1:44137/1535 === End of file stderr1535 === Start of file valgrind1535 ==163420== ==163420== Process terminating with default action of signal 4 (SIGILL) ==163420== Illegal opcode at address 0x51D97AF ==163420== at 0x51D97AF: UnknownInlinedFun (string_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/16/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:40899/1534 > log/16/stdout1534 2> log/16/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/2/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:38779/1536 > log/2/stdout1536 2> log/2/stderr1536 CMD (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/20/valgrind1537 ./libtest/libtests lib1537 - > log/20/stdout1537 2> log/20/stderr1537 CMD (33792): ../libtool --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/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:44593/1539 > log/17/stdout1539 2> log/17/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/22/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:42933/1526 127.0.0.1:46609 > log/22/stdout1526 2> log/22/stderr1526 rtified.h:59) ==163420== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163420== by 0x51D97AF: Curl_open (url.c:502) ==163420== by 0x515120F: curl_easy_init (easy.c:365) ==163420== by 0x40336BB: UnknownInlinedFun (lib1535.c:36) ==163420== by 0x40336BB: test_lib1535.lto_priv.0 (lib1535.c:28) ==163420== by 0x40034B5: main (first.c:279) ==163420== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163420== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163420== by 0x51D96BD: Curl_open (url.c:479) ==163420== by 0x515120F: curl_easy_init (easy.c:365) ==163420== by 0x40336BB: UnknownInlinedFun (lib1535.c:36) ==163420== by 0x40336BB: test_lib1535.lto_priv.0 (lib1535.c:28) ==163420== by 0x40034B5: main (first.c:279) ==163420== === 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/16/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:40899/1534 > log/16/stdout1534 2> log/16/stderr1534 1534: 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 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/16/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:40899/1534 > log/16/stdout1534 2> log/16/stderr1534 === End of file commands.log === Start of file http_server.log 17:51:16.952912 ====> Client connect 17:51:16.952974 accept_connection 3 returned 4 17:51:16.952993 accept_connection 3 returned 0 17:51:16.953009 Read 93 bytes 17:51:16.953020 Process 93 bytes request 17:51:16.953036 Got request: GET /verifiedserver HTTP/1.1 17:51:16.953046 Are-we-friendly question received 17:51:16.953077 Wrote request (93 bytes) input to log/16/server.input 17:51:16.953095 Identifying ourselves as friends 17:51:16.953184 Response sent (56 bytes) and written to log/16/server.response 17:51:16.953195 special request received, no persistency 17:51:16.953207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 38224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file stderr1534 URL: http://127.0.0.1:40899/1534 === End of file stderr1534 === Start of file valgrind1534 ==163397== ==163397== Process terminating with default action of signal 4 (SIGILL) ==163397== Illegal opcode at address 0x51D97AF ==163397== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163397== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163397== by 0x51D97AF: Curl_open (url.c:502) ==163397== by 0x515120F: curl_easy_init (easy.c:365) ==163397== by 0x403329B: UnknownInlinedFun (lib1534.c:36) ==163397== by 0x403329B: test_lib1534.lto_priv.0 (lib1534.c:28) ==163397== by 0x40034B5: main (first.c:279) ==163397== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163397== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163397== by 0x51D96BD: Curl_open (url.c:479) ==163397== by 0x515120F: curl_easy_init (easy.c:365) ==163397== by 0x403329B: UnknownInlinedFun (lib1534.c:36) ==163397== by 0x403329B: test_lib1534.lto_priv.0 (lib1534.c:28) ==163397== by 0x40034B5: main (first.c:279) ==163397== === End of file valgrind1534 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/2/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:38779/1536 > log/2/stdout1536 2> log/2/stderr1536 1536: 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 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/2/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:38779/1536 > log/2/stdout1536 2> log/2/stderr1536 === End of file commands.log === Start of file http_server.log 17:51:17.032280 ====> Client connect 17:51:17.032317 accept_connection 3 returned 4 17:51:17.032334 accept_connection 3 returned 0 17:51:17.032349 Read 93 bytes 17:51:17.032362 Process 93 bytes request 17:51:17.032374 Got request: GET /verifiedserver HTTP/1.1 17:51:17.032383 Are-we-friendly question received 17:51:17.032407 Wrote request (93 bytes) input to log/2/server.input 17:51:17.032423 Identifying ourselves as friends 17:51:17.032480 Response sent (56 bytes) and written to log/2/server.response 17:51:17.032489 special request received, no persistency 17:51:17.032497 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 39928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file stderr1536 URL: http://127.0.0.1:38779/1536 === End of file stderr1536 === Start of file valgrind1536 ==163492== ==163492== Process terminating with default action of signal 4 (SIGILL) ==163492== Illegal opcode at address 0x51D97AF ==163492== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163492== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163492== by 0x51D97AF: Curl_open (url.c:502) ==163492== by 0x515120F: curl_easy_init (easy.c:365) ==163492== by 0x4033A7D: UnknownInlinedFun (lib1536.c:36) ==163492== by 0x4033A7D: test_lib1536.lto_priv.0 (lib1536.c:28) ==163492== by 0x40034B5: main (first.c:279) ==163492== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163492== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163492== by 0x51D96BD: Curl_open (url.c:479) ==163492== by 0x515120F: curl_easy_init (easy.c:365) ==163492== by 0x4033A7D: UnknownInlinedFun (lib1536.c:36) ==163492== by 0x4033A7D: test_lib1536.lto_priv.0 (lib1536.c:28) ==163492== by 0x40034B5: main (first.c:279) ==163492== === End of file valgrind1536 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 s------e-v- OK (1466 out of 1760, remaining: 00:29, took 2.232s, duration: 02:27) test 1539...[HTTP 1.0 POST with read callback and unknown data size] ../libtool --mode=execute /usr/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/15/valgrind1530 ./libtest/libtests lib1530 - > log/15/stdout1530 2> log/15/stderr1530 in/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:44593/1539 > log/17/stdout1539 2> log/17/stderr1539 libtests returned 132, when expecting 25 1539: exit FAILED == Contents of files in the log/17/ 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/17/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:44593/1539 > log/17/stdout1539 2> log/17/stderr1539 === End of file commands.log === Start of file http_server.log 17:51:17.234710 ====> Client connect 17:51:17.234761 accept_connection 3 returned 4 17:51:17.234784 accept_connection 3 returned 0 17:51:17.234801 Read 93 bytes 17:51:17.234812 Process 93 bytes request 17:51:17.234826 Got request: GET /verifiedserver HTTP/1.1 17:51:17.234836 Are-we-friendly question received 17:51:17.234865 Wrote request (93 bytes) input to log/17/server.input 17:51:17.234885 Identifying ourselves as friends 17:51:17.234972 Response sent (56 bytes) and written to log/17/server.response 17:51:17.234985 special request received, no persistency 17:51:17.234994 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 36514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file stderr1539 URL: http://127.0.0.1:44593/1539 === End of file stderr1539 === Start of file valgrind1539 ==163687== ==163687== Process terminating with default action of signal 4 (SIGILL) ==163687== Illegal opcode at address 0x51D97AF ==163687== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163687== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163687== by 0x51D97AF: Curl_open (url.c:502) ==163687== by 0x515120F: curl_easy_init (easy.c:365) ==163687== by 0x402EC8C: test_lib1514.lto_priv.0 (lib1514.c:64) ==163687== by 0x40034B5: main (first.c:279) ==163687== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163687== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163687== by 0x51D96BD: Curl_open (url.c:479) ==163687== by 0x515120F: curl_easy_init (easy.c:365) ==163687== by 0x402EC8C: test_lib1514.lto_priv.0 (lib1514.c:64) ==163687== by 0x40034B5: main (first.c:279) ==163687== === End of file valgrind1539 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/22/server/http2_server.pid" --logfile "log/22/http2_server.log" --logdir "log/22" --portfile log/22/server/http2_server.port --config log/22/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 162975 port 46609 * pid http-proxy => 162975 162975 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/22/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:42933/1526 127.0.0.1:46609 > log/22/stdout1526 2> log/22/stderr1526 1526: 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 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/22/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:42933/1526 127.0.0.1:46609 > log/22/stdout1526 2> log/22/stderr1526 === End of file commands.log === Start of file http2_server.log 17:51:16.347552 Run as proxy, CONNECT to host 127.0.0.1 17:51:16.347681 Running HTTP IPv4 version on port 46609 17:51:16.347732 Wrote pid 162975 to log/22/server/http2_server.pid 17:51:16.347768 Wrote port 46609 to log/22/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:51:16.315757 ====> Client connect 17:51:16.315791 accept_connection 3 returned 4 17:51:16.315807 accept_connection 3 returned 0 17:51:16.315821 Read 93 bytes 17:51:16.315831 Process 93 bytes request 17:51:16.315844 Got request: GET /verifiedserver HTTP/1.1 17:51:16.315854 Are-we-friendly question received 17:51:16.315880 Wrote request (93 bytes) input to log/22/server.input 17:51:16.315896 Identifying ourselves as friends 17:51:16.315952 Response sent (56 bytes) and written to log/22/server.response 17:51:16.315962 special request received, no persistency 17:51:16.315971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 39694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === End of file http_verify.out === 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: 74813 === End of file server.response === Start of file stderr1526 URL: http://the.old.moo.1526:42933/1526 === End of file stderr1526 === Start of file valgrind1526 ==163737== ==163737== Process terminating with default action of signal 4 (SIGILL) ==163737== Illegal opcode at address 0x51D97AF ==163737== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163737== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163737== by 0x51D97AF: Curl_open (url.c:502) ==163737== by 0x515120F: curl_easy_init (easy.c:365) ==163737== by 0x402F64E: test_lib1526.lto_priv.0 (lib1526.c:57) ==163737== by 0x40034B5: main (first.c:279) ==163737== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163737== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163737== by 0x51D96BD: Curl_open (url.c:479) ==163737== by 0x515120F: curl_easy_init (easy.c:365) ==163737== by 0x402F64E: test_lib1526.lto_priv.0 (lib1526.c:57) ==163737== by 0x40034B5: main (first.c:279) ==163737== === End of file valgrind1526 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/15/valgrind1530 ./libtest/libtests lib1530 - > log/15/stdout1530 2> log/15/stderr1530 libtests returned 132, when expecting 7 1530: exit FAILED == Contents of files in the log/15/ 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/15/valgrind1530 ./libtest/libtests lib1530 - > log/15/stdout1530 2> log/15/stderr1530 === End of file commands.log === Start of file server.cmd Testnum 1530 === End of file server.cmd === Start of file stderr1530 URL: - === End of file stderr1530 === Start CMD (33792): ../libtool --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/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:39589/1533 > log/1/stdout1533 2> log/1/stderr1533 CMD (33792): ../libtool --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:37413/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/5/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:46875/ /with/ space/ /file" > log/5/stdout1543 2> log/5/stderr1543 of file valgrind1530 ==163092== ==163092== Process terminating with default action of signal 4 (SIGILL) ==163092== Illegal opcode at address 0x51D97AF ==163092== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163092== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163092== by 0x51D97AF: Curl_open (url.c:502) ==163092== by 0x515120F: curl_easy_init (easy.c:365) ==163092== by 0x402FF05: test_lib1530.lto_priv.0 (lib1530.c:48) ==163092== by 0x40034B5: main (first.c:279) ==163092== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163092== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163092== by 0x51D96BD: Curl_open (url.c:479) ==163092== by 0x515120F: curl_easy_init (easy.c:365) ==163092== by 0x402FF05: test_lib1530.lto_priv.0 (lib1530.c:48) ==163092== by 0x40034B5: main (first.c:279) ==163092== === End of file valgrind1530 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/1/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:39589/1533 > log/1/stdout1533 2> log/1/stderr1533 1533: 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 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/1/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:39589/1533 > log/1/stdout1533 2> log/1/stderr1533 === End of file commands.log === Start of file http_server.log 17:51:16.862881 ====> Client connect 17:51:16.862918 accept_connection 3 returned 4 17:51:16.862934 accept_connection 3 returned 0 17:51:16.862947 Read 93 bytes 17:51:16.862957 Process 93 bytes request 17:51:16.862970 Got request: GET /verifiedserver HTTP/1.1 17:51:16.862978 Are-we-friendly question received 17:51:16.863001 Wrote request (93 bytes) input to log/1/server.input 17:51:16.863020 Identifying ourselves as friends 17:51:16.863078 Response sent (56 bytes) and written to log/1/server.response 17:51:16.863087 special request received, no persistency 17:51:16.863095 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 39158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file stderr1533 URL: http://127.0.0.1:39589/1533 === End of file stderr1533 === Start of file valgrind1533 ==163319== ==163319== Process terminating with default action of signal 4 (SIGILL) ==163319== Illegal opcode at address 0x51D97AF ==163319== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163319== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163319== by 0x51D97AF: Curl_open (url.c:502) ==163319== by 0x515120F: curl_easy_init (easy.c:365) ==163319== by 0x4030FB7: test_lib1533.lto_priv.0 (lib1533.c:133) ==163319== by 0x40034B5: main (first.c:279) ==163319== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163319== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163319== by 0x51D96BD: Curl_open (url.c:479) ==163319== by 0x515120F: curl_easy_init (easy.c:365) ==163319== by 0x4030FB7: test_lib1533.lto_priv.0 (lib1533.c:133) ==163319== by 0x40034B5: main (first.c:279) ==163319== === End of file valgrind1533 CMD (33792): ../libtool --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/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:34411/1525 127.0.0.1:42141 > log/4/stdout1525 2> log/4/stderr1525 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/5/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:46875/ /with/ space/ /file" > log/5/stdout1543 2> log/5/stderr1543 1543: stdout FAILED: --- log/5/check-expected 2026-01-28 17:51:19.709888706 +0000 +++ log/5/check-generated 2026-01-28 17:51:19.709888706 +0000 @@ -1,5 +0,0 @@ -result 0[LF] -status 200[LF] -redirects 1[LF] -effectiveurl http://127.0.0.1:46875/%20/with/%20space/15430002[LF] -redirecturl blank[LF] == Contents of files in the log/5/ directory after test 1543 === Start of file check-expected result 0[LF] status 200[LF] redirects 1[LF] effectiveurl http://127.0.0.1:46875/%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/5/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:46875/ /with/ space/ /file" > log/5/stdout1543 2> log/5/stderr1543 === End of file commands.log === Start of file http_server.log 17:51:17.859569 ====> Client connect 17:51:17.859613 accept_connection 3 returned 4 17:51:17.859631 accept_connection 3 returned 0 17:51:17.859647 Read 93 bytes 17:51:17.859657 Process 93 bytes request 17:51:17.859671 Got request: GET /verifiedserver HTTP/1.1 17:51:17.859680 Are-we-friendly question received 17:51:17.859706 Wrote request (93 bytes) input to log/5/server.input 17:51:17.859722 Identifying ourselves as friends 17:51:17.859789 Response sent (56 bytes) and written to log/5/server.response 17:51:17.859799 special request received, no persistency 17:51:17.859808 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 57442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file stderr1543 URL: http://127.0.0.1:46875/ /with/ space/ /file === End of file stderr1543 === Start of file valgrind1543 ==164146== ==164146== Process terminating with default action of signal 4 (SIGILL) ==164146== Illegal opcode at address 0x51D97AF ==164146== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164146== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164146== by 0x51D97AF: Curl_open (url.c:502) ==164146== by 0x515120F: curl_easy_init (easy.c:365) ==164146== by 0x4032458: test_lib1518.lto_priv.0 (lib1518.c:47) ==164146== by 0x40034B5: main (first.c:279) ==164146== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==164146== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164146== by 0x51D96BD: Curl_open (url.c:479) ==164146== by 0x515120F: curl_easy_init (easy.c:365) ==164146== by 0x4032458: test_lib1518.lto_priv.0 (lib1518.c:47) ==164146== by 0x40034B5: main (first.c:279) ==164146== === End of file valgrind1543 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:37413/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:37413/1532 > log/9/stdout1532 2> log/9/stderr1532 === End of file commands.log === Start of file http_server.log 17:51:16.863605 ====> Client connect 17:51:16.863639 accept_connection 3 returned 4 17:51:16.863654 accept_connection 3 returned 0 17:51:16.863667 Read 93 bytes 17:51:16.863677 Process 93 bytes request 17:51:16.863689 Got request: GET /verifiedserver HTTP/1.1 17:51:16.863698 Are-we-friendly question received 17:51:16.863724 Wrote request (93 bytes) input to log/9/server.input 17:51:16.863739 Identifying ourselves as friends 17:51:16.863794 Response sent (56 bytes) and written to log/9/server.response 17:51:16.863804 special request received, no persistency 17:51:16.863812 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 50224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file stderr1532 URL: http://127.0.0.1:37413/1532 === End of file stderr1532 === Start of file valgrind1532 ==163307== ==163307== Process terminating with default action of signal 4 (SIGILL) ==163307== Illegal opcode at address 0x51D97AF ==163307== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163307== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163307== by 0x51D97AF: Curl_open (url.c:502) ==163307== by 0x515120F: curl_easy_init (easy.c:365) ==163307== by 0x4032ED9: UnknownInlinedFun (lib1532.c:36) ==163307== by 0x4032ED9: test_lib1532.lto_priv.0 (lib1532.c:28) ==163307== by 0x40034B5: main (first.c:279) ==163307== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163307== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163307== by 0x51D96BD: Curl_open (url.c:479) ==163307== by 0x515120F: curl_easy_init (easy.c:365) ==163307== by 0x4032ED9: UnknownInlinedFun (lib1532.c:36) ==163307== by 0x4032ED9: test_lib1532.lto_priv.0 (lib1532.c:28) ==163307== by 0x40034B5: main (first.c:279) ==163307== === End of file valgrind1532 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 162974 port 42141 * pid http-proxy => 162974 162974 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/4/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:34411/1525 127.0.0.1:42141 > log/4/stdout1525 2> log/4/stderr1525 1525: 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 1525 === Start of file commands.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/11/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:46439/1541 > log/11/stdout1541 2> log/11/stderr1541 CMD (33792): ../libtool --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/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:41669/1540 > log/21/stdout1540 2> log/21/stderr1540 libtool --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/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:34411/1525 127.0.0.1:42141 > log/4/stdout1525 2> log/4/stderr1525 === End of file commands.log === Start of file http2_server.log 17:51:16.331256 Run as proxy, CONNECT to host 127.0.0.1 17:51:16.331387 Running HTTP IPv4 version on port 42141 17:51:16.331428 Wrote pid 162974 to log/4/server/http2_server.pid 17:51:16.331594 Wrote port 42141 to log/4/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:51:16.305145 ====> Client connect 17:51:16.305180 accept_connection 3 returned 4 17:51:16.305195 accept_connection 3 returned 0 17:51:16.305208 Read 93 bytes 17:51:16.305217 Process 93 bytes request 17:51:16.305228 Got request: GET /verifiedserver HTTP/1.1 17:51:16.305237 Are-we-friendly question received 17:51:16.305262 Wrote request (93 bytes) input to log/4/server.input 17:51:16.305278 Identifying ourselves as friends 17:51:16.305334 Response sent (56 bytes) and written to log/4/server.response 17:51:16.305344 special request received, no persistency 17:51:16.305352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 41798 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file stderr1525 URL: http://the.old.moo.1525:34411/1525 === End of file stderr1525 === Start of file valgrind1525 ==163749== ==163749== Process terminating with default action of signal 4 (SIGILL) ==163749== Illegal opcode at address 0x51D97AF ==163749== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163749== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163749== by 0x51D97AF: Curl_open (url.c:502) ==163749== by 0x515120F: curl_easy_init (easy.c:365) ==163749== by 0x402F3EC: test_lib1525.lto_priv.0 (lib1525.c:58) ==163749== by 0x40034B5: main (first.c:279) ==163749== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163749== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163749== by 0x51D96BD: Curl_open (url.c:479) ==163749== by 0x515120F: curl_easy_init (easy.c:365) ==163749== by 0x402F3EC: test_lib1525.lto_priv.0 (lib1525.c:58) ==163749== by 0x40034B5: main (first.c:279) ==163749== === End of file valgrind1525 test 1541...[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/11/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:46439/1541 > log/11/stdout1541 2> log/11/stderr1541 1541: 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 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/11/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:46439/1541 > log/11/stdout1541 2> log/11/stderr1541 === End of file commands.log === Start of file http_server.log 17:51:17.432674 ====> Client connect 17:51:17.432713 accept_connection 3 returned 4 17:51:17.432730 accept_connection 3 returned 0 17:51:17.432745 Read 93 bytes 17:51:17.432754 Process 93 bytes request 17:51:17.432769 Got request: GET /verifiedserver HTTP/1.1 17:51:17.432778 Are-we-friendly question received 17:51:17.432805 Wrote request (93 bytes) input to log/11/server.input 17:51:17.432835 Identifying ourselves as friends 17:51:17.432900 Response sent (56 bytes) and written to log/11/server.response 17:51:17.432911 special request received, no persistency 17:51:17.432919 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 47156 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file stderr1541 URL: http://127.0.0.1:46439/1541 === End of file stderr1541 === Start of file valgrind1541 ==163858== ==163858== Process terminating with default action of signal 4 (SIGILL) ==163858== Illegal opcode at address 0x51D97AF ==163858== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163858== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163858== by 0x51D97AF: Curl_open (url.c:502) ==163858== by 0x515120F: curl_easy_init (easy.c:365) ==163858== by 0x4034672: test_lib1541.lto_priv.0 (lib1541.c:119) ==163858== by 0x40034B5: main (first.c:279) ==163858== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163858== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163858== by 0x51D96BD: Curl_open (url.c:479) ==163858== by 0x515120F: curl_easy_init (easy.c:365) ==163858== by 0x4034672: test_lib1541.lto_priv.0 (lib1541.c:119) ==163858== by 0x40034B5: main (first.c:279) ==163858== === End of file valgrind1541 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/21/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:41669/1540 > log/21/stdout1540 2> log/21/stderr1540 1540: 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 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/21/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:41669/1540 > log/21/stdout1540 2> log/21/stderr1540 === End of file commands.log === Start of file http_server.log 17:51:17.402901 ====> Client connect 17:51:17.403065 accept_connection 3 returned 4 17:51:17.403084 accept_connection 3 returned 0 17:51:17.403100 Read 93 bytes 17:51:17.403110 Process 93 bytes request 17:51:17.403123 Got request: GET /verifiedserver HTTP/1.1 17:51:17.403132 Are-we-friendly question received 17:51:17.403158 Wrote request (93 bytes) input to log/21/server.input 17:51:17.403174 Identifying ourselves as friends 17:51:17.403247 Response sent (56 bytes) and written to log/21/server.response 17:51:17.403256 special request received, no persistency 17:51:17.403263 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 41530 * using HTTP/1.x > GET /verifiedserCMD (33792): ../libtool --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/valgrind1546 ../src/curl -q --output log/14/curl1546.out --include --trace-ascii log/14/trace1546 --trace-time http://127.0.0.1:37569/1546 --tr-encoding > log/14/stdout1546 2> log/14/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/18/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:34067/1542 > log/18/stdout1542 2> log/18/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/12/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:36641/1529" 127.0.0.1:46459 > log/12/stdout1529 2> log/12/stderr1529 ver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stderr1540 URL: http://127.0.0.1:41669/1540 === End of file stderr1540 === Start of file valgrind1540 ==163827== ==163827== Process terminating with default action of signal 4 (SIGILL) ==163827== Illegal opcode at address 0x51D97AF ==163827== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==163827== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==163827== by 0x51D97AF: Curl_open (url.c:502) ==163827== by 0x515120F: curl_easy_init (easy.c:365) ==163827== by 0x40329D5: test_lib1540.lto_priv.0 (lib1540.c:95) ==163827== by 0x40034B5: main (first.c:279) ==163827== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==163827== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==163827== by 0x51D96BD: Curl_open (url.c:479) ==163827== by 0x515120F: curl_easy_init (easy.c:365) ==163827== by 0x40329D5: test_lib1540.lto_priv.0 (lib1540.c:95) ==163827== by 0x40034B5: main (first.c:279) ==163827== === End of file valgrind1540 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/14/valgrind1546 ../src/curl -q --output log/14/curl1546.out --include --trace-ascii log/14/trace1546 --trace-time http://127.0.0.1:37569/1546 --tr-encoding > log/14/stdout1546 2> log/14/stderr1546 1546: 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 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/14/valgrind1546 ../src/curl -q --output log/14/curl1546.out --include --trace-ascii log/14/trace1546 --trace-time http://127.0.0.1:37569/1546 --tr-encoding > log/14/stdout1546 2> log/14/stderr1546 === End of file commands.log === Start of file http_server.log 17:51:18.950244 ====> Client connect 17:51:18.950277 accept_connection 3 returned 4 17:51:18.950294 accept_connection 3 returned 0 17:51:18.950309 Read 93 bytes 17:51:18.950318 Process 93 bytes request 17:51:18.950334 Got request: GET /verifiedserver HTTP/1.1 17:51:18.950343 Are-we-friendly question received 17:51:18.950367 Wrote request (93 bytes) input to log/14/server.input 17:51:18.950384 Identifying ourselves as friends 17:51:18.950439 Response sent (56 bytes) and written to log/14/server.response 17:51:18.950449 special request received, no persistency 17:51:18.950457 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 40082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind1546 ==164205== ==164205== Process terminating with default action of signal 4 (SIGILL) ==164205== Illegal opcode at address 0x4014520 ==164205== at 0x4014520: getparameter (tool_getparam.c:2862) ==164205== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==164205== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==164205== by 0x4003728: main (tool_main.c:186) === End of file valgrind1546 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/18/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:34067/1542 > log/18/stdout1542 2> log/18/stderr1542 1542: 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 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/18/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:34067/1542 > log/18/stdout1542 2> log/18/stderr1542 === End of file commands.log === Start of file http_server.log 17:51:17.671791 ====> Client connect 17:51:17.671829 accept_connection 3 returned 4 17:51:17.671847 accept_connection 3 returned 0 17:51:17.671862 Read 93 bytes 17:51:17.671871 Process 93 bytes request 17:51:17.671886 Got request: GET /verifiedserver HTTP/1.1 17:51:17.671895 Are-we-friendly question received 17:51:17.671922 Wrote request (93 bytes) input to log/18/server.input 17:51:17.671939 Identifying ourselves as friends 17:51:17.671998 Response sent (56 bytes) and written to log/18/server.response 17:51:17.672009 special request received, no persistency 17:51:17.672018 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 41358 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file stderr1542 URL: http://127.0.0.1:34067/1542 === End of file stderr1542 === Start of file valgrind1542 ==164019== ==164019== Process terminating with default action of signal 4 (SIGILL) ==164019== Illegal opcode at address 0x51D97AF ==164019== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164019== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164019== by 0x51D97AF: Curl_open (url.c:502) ==164019== by 0x515120F: curl_easy_init (easy.c:365) ==164019== by 0x403001B: UnknownInlinedFun (lib1542.c:44) ==164019== by 0x403001B: test_lib1542.lto_priv.0 (lib1542.c:37) ==164019== by 0x40034B5: main (first.c:279) ==164019== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==164019== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164019== by 0x51D96BD: Curl_open (url.c:479) ==164019== by 0x515120F: curl_easy_init (easy.c:365) ==164019== by 0x403001B: UnknownInlinedFun (lib1542.c:44) ==164019== by 0x403001B: test_lib1542.lto_priv.0 (lib1542.c:37) ==164019== by 0x40034B5: main (first.c:279) ==164019== === End of file valgrind1542 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/12/server/http2_server.pid" --logfile "log/12/http2_server.log" --logdir "log/12" --portfile log/12/server/httpCMD (33792): ../libtool --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/valgrind1548 ../src/curl -q --output log/3/curl1548.out --include --trace-ascii log/3/trace1548 --trace-time -m 1 telnet://127.0.0.1:45927 log/3/stdout1548 2> log/3/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/8/valgrind1547 ../src/curl -q --output log/8/curl1547.out --include --trace-ascii log/8/trace1547 --trace-time ftp://127.0.0.1:42799/test-1547/ -P 127.0.0.1 --ftp-pasv > log/8/stdout1547 2> log/8/stderr1547 2_server.port --config log/12/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 163075 port 46459 * pid http-proxy => 163075 163075 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/12/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:36641/1529" 127.0.0.1:46459 > log/12/stdout1529 2> log/12/stderr1529 libtests returned 132, when expecting 3 1529: exit FAILED == Contents of files in the log/12/ 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/12/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:36641/1529" 127.0.0.1:46459 > log/12/stdout1529 2> log/12/stderr1529 === End of file commands.log === Start of file http2_server.log 17:51:16.641997 Run as proxy, CONNECT to host 127.0.0.1 17:51:16.642119 Running HTTP IPv4 version on port 46459 17:51:16.642163 Wrote pid 163075 to log/12/server/http2_server.pid 17:51:16.642195 Wrote port 46459 to log/12/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:51:16.598139 ====> Client connect 17:51:16.598182 accept_connection 3 returned 4 17:51:16.598214 accept_connection 3 returned 0 17:51:16.598315 Read 93 bytes 17:51:16.598330 Process 93 bytes request 17:51:16.598344 Got request: GET /verifiedserver HTTP/1.1 17:51:16.598354 Are-we-friendly question received 17:51:16.598392 Wrote request (93 bytes) input to log/12/server.input 17:51:16.598411 Identifying ourselves as friends 17:51:16.598466 Response sent (56 bytes) and written to log/12/server.response 17:51:16.598475 special request received, no persistency 17:51:16.598484 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 40656 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file stderr1529 URL: http://the.old.moo:36641/1529 === End of file stderr1529 === Start of file valgrind1529 ==164001== ==164001== Process terminating with default action of signal 4 (SIGILL) ==164001== Illegal opcode at address 0x51D97AF ==164001== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164001== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164001== by 0x51D97AF: Curl_open (url.c:502) ==164001== by 0x515120F: curl_easy_init (easy.c:365) ==164001== by 0x402FD95: test_lib1529.lto_priv.0 (lib1529.c:39) ==164001== by 0x40034B5: main (first.c:279) ==164001== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==164001== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164001== by 0x51D96BD: Curl_open (url.c:479) ==164001== by 0x515120F: curl_easy_init (easy.c:365) ==164001== by 0x402FD95: test_lib1529.lto_priv.0 (lib1529.c:39) ==164001== by 0x40034B5: main (first.c:279) ==164001== === End of file valgrind1529 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/3/valgrind1548 ../src/curl -q --output log/3/curl1548.out --include --trace-ascii log/3/trace1548 --trace-time -m 1 telnet://127.0.0.1:45927 log/3/stdout1548 2> log/3/stderr1548 curl returned 132, when expecting 28 1548: exit FAILED == Contents of files in the log/3/ 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/3/valgrind1548 ../src/curl -q --output log/3/curl1548.out --include --trace-ascii log/3/trace1548 --trace-time -m 1 telnet://127.0.0.1:45927 log/3/stdout1548 2> log/3/stderr1548 === End of file commands.log === Start of file http_server.log 17:51:18.176246 ====> Client connect 17:51:18.176425 accept_connection 3 returned 4 17:51:18.176449 accept_connection 3 returned 0 17:51:18.176465 Read 93 bytes 17:51:18.176475 Process 93 bytes request 17:51:18.176489 Got request: GET /verifiedserver HTTP/1.1 17:51:18.176499 Are-we-friendly question received 17:51:18.176533 Wrote request (93 bytes) input to log/3/server.input 17:51:18.176557 Identifying ourselves as friends 17:51:18.176635 Response sent (56 bytes) and written to log/3/server.response 17:51:18.176648 special request received, no persistency 17:51:18.176657 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 60526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === 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 ==164348== ==164348== Process terminating with default action of signal 4 (SIGILL) ==164348== Illegal opcode at address 0x4014520 ==164348== at 0x4014520: getparameter (tool_getparam.c:2862) ==164348== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==164348== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==164348== by 0x4003728: main (tool_main.c:186) === End of file valgrind1548 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/8/valgrind1547 ../src/curl -q --output log/8/curl1547.out --include --trace-ascii log/8/trace1547 --trace-time ftp://127.0.0.1:42799/test-1547/ -P 127.0.0.1 --ftp-pasv > log/8/stdout1547 2> log/8/stderr1547 1547: 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 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/8/valgrind1547 ../src/curl -q --output log/8/curl1547.out --include --trace-ascii log/8/trace1547 --trace-time ftp://127.0.0.1:42799/test-1547/ -P 127.0.0.1 --ftp-pasv > log/8/stdout1547 2> log/8/stderr1547 === End of file commands.log === Start of file ftp_server.log 17:51:18.342321 ====> Client connect 17:51:18.342479 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:18.342777 < "USER anonymous" 17:51:18.342816 > "331 We are happy you popped in![CR][LF]" 17:51:18.342975 < "PASS ftp@example.comCMD (33792): ../libtool --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/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:35671/1545 > log/7/stdout1545 2> log/7/stderr1545 " 17:51:18.343001 > "230 Welcome you silly person[CR][LF]" 17:51:18.343137 < "PWD" 17:51:18.343165 > "257 "/" is current directory[CR][LF]" 17:51:18.343312 < "EPSV" 17:51:18.343514 ====> Passive DATA channel requested by client 17:51:18.343537 DATA sockfilt for passive data channel starting... 17:51:18.345983 DATA sockfilt for passive data channel started (pid 164346) 17:51:18.346108 DATA sockfilt for passive data channel listens on port 38511 17:51:18.346163 > "229 Entering Passive Mode (|||38511|)[CR][LF]" 17:51:18.346187 Client has been notified that DATA conn will be accepted on port 38511 17:51:18.346471 Client connects to port 38511 17:51:18.346508 ====> Client established passive DATA connection on port 38511 17:51:18.346604 < "TYPE I" 17:51:18.346646 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:18.346826 < "SIZE verifiedserver" 17:51:18.346860 > "213 17[CR][LF]" 17:51:18.347001 < "RETR verifiedserver" 17:51:18.347036 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:18.347141 =====> Closing passive DATA connection... 17:51:18.347156 Server disconnects passive DATA connection 17:51:18.347384 Server disconnected passive DATA connection 17:51:18.347409 DATA sockfilt for passive data channel quits (pid 164346) 17:51:18.347669 DATA sockfilt for passive data channel quit (pid 164346) 17:51:18.347692 =====> Closed passive DATA connection 17:51:18.347721 > "226 File transfer complete[CR][LF]" 17:51:18.406920 < "QUIT" 17:51:18.406979 > "221 bye bye baby[CR][LF]" 17:51:18.408349 MAIN sockfilt said DISC 17:51:18.408388 ====> Client disconnected 17:51:18.408476 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:19.188370 ====> Client connect 17:51:19.188667 Received DATA (on stdin) 17:51:19.188681 > 146 bytes data, server => client 17:51:19.188691 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:19.188701 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:19.188710 '220 \___|\___/|_| \_\_____|\r\n' 17:51:19.188810 < 16 bytes data, client => server 17:51:19.188822 'USER anonymous\r\n' 17:51:19.188993 Received DATA (on stdin) 17:51:19.189005 > 33 bytes data, server => client 17:51:19.189014 '331 We are happy you popped in!\r\n' 17:51:19.189063 < 22 bytes data, client => server 17:51:19.189073 'PASS ftp@example.com\r\n' 17:51:19.189176 Received DATA (on stdin) 17:51:19.189185 > 30 bytes data, server => client 17:51:19.189195 '230 Welcome you silly person\r\n' 17:51:19.189238 < 5 bytes data, client => server 17:51:19.189247 'PWD\r\n' 17:51:19.189338 Received DATA (on stdin) 17:51:19.189347 > 30 bytes data, server => client 17:51:19.189357 '257 "/" is current directory\r\n' 17:51:19.189410 < 6 bytes data, client => server 17:51:19.189420 'EPSV\r\n' 17:51:19.192374 Received DATA (on stdin) 17:51:19.192389 > 39 bytes data, server => client 17:51:19.192400 '229 Entering Passive Mode (|||38511|)\r\n' 17:51:19.192552 < 8 bytes data, client => server 17:51:19.192571 'TYPE I\r\n' 17:51:19.192840 Received DATA (on stdin) 17:51:19.192853 > 33 bytes data, server => client 17:51:19.192863 '200 I modify TYPE as you wanted\r\n' 17:51:19.192918 < 21 bytes data, client => server 17:51:19.192928 'SIZE verifiedserver\r\n' 17:51:19.193035 Received DATA (on stdin) 17:51:19.193044 > 8 bytes data, server => client 17:51:19.193053 '213 17\r\n' 17:51:19.193100 < 21 bytes data, client => server 17:51:19.193110 'RETR verifiedserver\r\n' 17:51:19.193333 Received DATA (on stdin) 17:51:19.193342 > 29 bytes data, server => client 17:51:19.193352 '150 Binary junk (17 bytes).\r\n' 17:51:19.193897 Received DATA (on stdin) 17:51:19.193908 > 28 bytes data, server => client 17:51:19.193918 '226 File transfer complete\r\n' 17:51:19.252863 < 6 bytes data, client => server 17:51:19.252918 'QUIT\r\n' 17:51:19.253160 Received DATA (on stdin) 17:51:19.253172 > 18 bytes data, server => client 17:51:19.253182 '221 bye bye baby\r\n' 17:51:19.254469 ====> Client disconnect 17:51:19.254651 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:18.191802 Running IPv4 version 17:51:18.191874 Listening on port 38511 17:51:18.191919 Wrote pid 164346 to log/8/server/ftp_sockdata.pid 17:51:18.192092 Received PING (on stdin) 17:51:18.192191 Received PORT (on stdin) 17:51:18.192598 ====> Client connect 17:51:18.193404 Received DATA (on stdin) 17:51:18.193416 > 17 bytes data, server => client 17:51:18.193425 'WE ROOLZ: 81155\r\n' 17:51:18.193450 Received DISC (on stdin) 17:51:18.193461 ====> Client forcibly disconnected 17:51:18.193592 Received QUIT (on stdin) 17:51:18.193601 quits 17:51:18.193661 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1547 === End of file server.cmd === Start of file valgrind1547 ==164374== ==164374== Process terminating with default action of signal 4 (SIGILL) ==164374== Illegal opcode at address 0x4014520 ==164374== at 0x4014520: getparameter (tool_getparam.c:2862) ==164374== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==164374== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==164374== by 0x4003728: main (tool_main.c:186) === End of file valgrind1547 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/7/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:35671/1545 > log/7/stdout1545 2> log/7/stderr1545 libtests returned 132, when expecting 0 1545: exit FAILED == Contents of files in the log/7/ 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/7/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:35671/1545 > log/7/stdout1545 2> log/7/stderr1545 === End of file commands.log === Start of file http_server.log 17:51:17.916236 ====> Client connect 17:51:17.916281 accept_connection 3 returned 4 17:51:17.916300 accept_connection 3 returned 0 17:51:17.916317 Read 93 bytes 17:51:17.916326 Process 93 bytes request 17:51:17.916341 Got request: GET /verifiedserver HTTP/1.1 17:51:17.916349 Are-we-friendly question received 17:51:17.916374 Wrote request (93 bytes) input to log/7/server.input 17:51:17.916392 Identifying ourselves as friends 17:51:17.916470 Response sent (56 bytes) and written to log/7/server.response 17:51:17.916480 special request received, no persistency 17:51:17.916489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 37550 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file stderr1545 URL: http://127.0.0.1:35671/1545 === End of file stderr1545 === Start of file valgrind1545 ==164178== ==164178== Process terminating with default action of signal 4 (SIGILL) ==164178== Illegal opcode at address 0x51D97AF ==164178== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164178== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164178== by 0x51D97AF: Curl_open (url.c:502) ==164178== by 0x515120F: curl_easy_init (easy.c:365) ==164178== by 0x4034D09: test_lib1545.lto_priv.0 (lib1545.c:35) ==164178== by 0x40034B5: main (first.c:279) ==164178== 5,512 bytes in 1 blocks 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/19/valgrind1550 ./libtest/libtests lib1550 - > log/19/stdout1550 2> log/19/stderr1550 CMD (33792): ../libtool --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/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:41613/1552/;MAILINDEX=1' > log/23/stdout1552 2> log/23/stderr1552 CMD (33792): ../libtool --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/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:44137/1554 > log/10/stdout1554 2> log/10/stderr1554 definitely lost in loss record 776 of 787 ==164178== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164178== by 0x51D96BD: Curl_open (url.c:479) ==164178== by 0x515120F: curl_easy_init (easy.c:365) ==164178== by 0x4034D09: test_lib1545.lto_priv.0 (lib1545.c:35) ==164178== by 0x40034B5: main (first.c:279) ==164178== === End of file valgrind1545 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/19/valgrind1550 ./libtest/libtests lib1550 - > log/19/stdout1550 2> log/19/stderr1550 libtests returned 132, when expecting 0 1550: exit FAILED == Contents of files in the log/19/ 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/19/valgrind1550 ./libtest/libtests lib1550 - > log/19/stdout1550 2> log/19/stderr1550 === End of file commands.log === Start of file server.cmd Testnum 1550 === End of file server.cmd === Start of file stderr1550 URL: - === End of file stderr1550 === Start of file valgrind1550 ==164484== ==164484== Process terminating with default action of signal 4 (SIGILL) ==164484== Illegal opcode at address 0x51A0F00 ==164484== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==164484== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==164484== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==164484== by 0x402CA21: UnknownInlinedFun (lib1550.c:38) ==164484== by 0x402CA21: test_lib1550.lto_priv.0 (lib1550.c:28) ==164484== by 0x40034B5: main (first.c:279) ==164484== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==164484== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164484== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==164484== by 0x402CA21: UnknownInlinedFun (lib1550.c:38) ==164484== by 0x402CA21: test_lib1550.lto_priv.0 (lib1550.c:28) ==164484== by 0x40034B5: main (first.c:279) ==164484== === End of file valgrind1550 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/23/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:41613/1552/;MAILINDEX=1' > log/23/stdout1552 2> log/23/stderr1552 libtests returned 132, when expecting 0 1552: exit FAILED == Contents of files in the log/23/ 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/23/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:41613/1552/;MAILINDEX=1' > log/23/stdout1552 2> log/23/stderr1552 === End of file commands.log === Start of file imap_server.log 17:51:19.088085 ====> Client connect 17:51:19.088264 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:51:19.093538 < "A001 CAPABILITY" 17:51:19.093592 > "A001 BAD Command[CR][LF]" 17:51:19.093793 < "A002 LIST "verifiedserver" *" 17:51:19.093822 LIST_imap got "verifiedserver" * 17:51:19.093852 > "* LIST () "/" "WE ROOLZ: 119876"[CR][LF]" 17:51:19.093875 > "A002 OK LIST Completed[CR][LF]" 17:51:19.093890 return proof we are we 17:51:19.147040 < "A003 LOGOUT" 17:51:19.147114 > "* BYE curl IMAP server signing off[CR][LF]" 17:51:19.147145 > "A003 OK LOGOUT completed[CR][LF]" 17:51:19.148485 MAIN sockfilt said DISC 17:51:19.148525 ====> Client disconnected 17:51:19.148621 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:51:18.934112 ====> Client connect 17:51:18.934461 Received DATA (on stdin) 17:51:18.934478 > 164 bytes data, server => client 17:51:18.934491 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:51:18.934502 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:51:18.934512 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:51:18.939509 < 17 bytes data, client => server 17:51:18.939538 'A001 CAPABILITY\r\n' 17:51:18.939772 Received DATA (on stdin) 17:51:18.939784 > 18 bytes data, server => client 17:51:18.939794 'A001 BAD Command\r\n' 17:51:18.939874 < 30 bytes data, client => server 17:51:18.939887 'A002 LIST "verifiedserver" *\r\n' 17:51:18.940066 Received DATA (on stdin) 17:51:18.940078 > 34 bytes data, server => client 17:51:18.940088 '* LIST () "/" "WE ROOLZ: 119876"\r\n' 17:51:18.940106 Received DATA (on stdin) 17:51:18.940116 > 24 bytes data, server => client 17:51:18.940125 'A002 OK LIST Completed\r\n' 17:51:18.992988 < 13 bytes data, client => server 17:51:18.993030 'A003 LOGOUT\r\n' 17:51:18.993328 Received DATA (on stdin) 17:51:18.993343 > 36 bytes data, server => client 17:51:18.993354 '* BYE curl IMAP server signing off\r\n' 17:51:18.993381 Received DATA (on stdin) 17:51:18.993393 > 26 bytes data, server => client 17:51:18.993404 'A003 OK LOGOUT completed\r\n' 17:51:18.994603 ====> Client disconnect 17:51:18.994810 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 stderr1552 URL: imap://127.0.0.1:41613/1552/;MAILINDEX=1 === End of file stderr1552 === Start of file valgrind1552 ==164602== ==164602== Process terminating with default action of signal 4 (SIGILL) ==164602== Illegal opcode at address 0x51A0F00 ==164602== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==164602== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==164602== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==164602== by 0x4034F03: UnknownInlinedFun (lib1552.c:40) ==164602== by 0x4034F03: test_lib1552.lto_priv.0 (lib1552.c:26) ==164602== by 0x40034B5: main (first.c:279) ==164602== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==164602== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164602== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==164602== by 0x4034F03: UnknownInlinedFun (lib1552.c:40) ==164602== by 0x4034F03: test_lib1552.lto_priv.0 (lib1552.c:26) ==164602== by 0x40034B5: main (first.c:279) ==164602== === End of file valgrind1552 CMD (33792): ../libtool --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/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/17/data1558 > log/17/stdout1558 2> log/17/stderr1558 CMD (33792): ../libtool --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/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:44265/1553 > log/13/stdout1553 2> log/13/stderr1553 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/10/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:44137/1554 > log/10/stdout1554 2> log/10/stderr1554 1554: data FAILED: --- log/10/check-expected 2026-01-28 17:51:21.359888705 +0000 +++ log/10/check-generated 2026-01-28 17:51:21.359888705 +0000 @@ -1,49 +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] --] 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 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] --] 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 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] --] 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 CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] == Contents of files in the log/10/ 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] -] 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 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] -] 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 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] -] 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 CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[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/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:44137/1554 > log/10/stdout1554 2> log/10/stderr1554 === End of file commands.log === Start of file http_server.log 17:51:19.142884 ====> Client connect 17:51:19.142923 accept_connection 3 returned 4 17:51:19.142941 accept_connection 3 returned 0 17:51:19.142958 Read 93 bytes 17:51:19.142967 Process 93 bytes request 17:51:19.142981 Got request: GET /verifiedserver HTTP/1.1 17:51:19.142990 Are-we-friendly question received 17:51:19.143016 Wrote request (93 bytes) input to log/10/server.input 17:51:19.143032 Identifying ourselves as friends 17:51:19.143115 Response sent (57 bytes) and written to log/10/server.response 17:51:19.143125 special request received, no persistency 17:51:19.143134 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Established connection to 127.0.0.1 (127.0.0.1 port 44137) from 127.0.0.1 port 56626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.18.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:44137 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161230 === 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: 161230 === End of file server.response === Start of file stderr1554 URL: http://127.0.0.1:44137/1554 === End of file stderr1554 === Start of file valgrind1554 ==164716== ==164716== Process terminating with default action of signal 4 (SIGILL) ==164716== Illegal opcode at address 0x51D97AF ==164716== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164716== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164716== by 0x51D97AF: Curl_open (url.c:502) ==164716== by 0x515120F: curl_easy_init (easy.c:365) ==164716== by 0x51459A1: curl_share_init (curl_share.c:41) ==164716== by 0x4035E73: UnknownInlinedFun (lib1554.c:65) ==164716== by 0x4035E73: test_lib1554.lto_priv.0 (lib1554.c:57) ==164716== by 0x40034B5: main (first.c:279) ==164716== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==164716== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164716== by 0x51D96BD: Curl_open (url.c:479) ==164716== by 0x515120F: curl_easy_init (easy.c:365) ==164716== by 0x51459A1: curl_share_init (curl_share.c:41) ==164716== by 0x4035E73: UnknownInlinedFun (lib1554.c:65) ==164716== by 0x4035E73: test_lib1554.lto_priv.0 (lib1554.c:57) ==164716== by 0x40034B5: main (first.c:279) ==164716== === End of file valgrind1554 test 1553...[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/13/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:44265/1553 > log/13/stdout1553 2> log/13/stderr1553 libtests returned 132, when expecting 0 1553: exit FAILED == Contents of files in the log/13/ 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/13/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:44265/1553 > log/13/stdout1553 2> log/13/stderr1553 === End of file commands.log === Start of file imap_server.log 17:51:19.213487 ====> Client connect 17:51:19.213682 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:51:19.217012 < "A001 CAPABILITY" 17:51:19.217075 > "A001 BAD Command[CR][LF]" 17:51:19.217293 < "A002 LIST "verifiedserver" *" 17:51:19.217326 LIST_imap got "verifiedserver" * 17:51:19.217355 > "* LIST () "/" "WE ROOLZ: 119592"[CR][LF]" 17:51:19.217375 > "A002 OK LIST Completed[CR][LF]" 17:51:19.217390 return proof we are we 17:51:19.271504 < "A003 LOGOUT" 17:51:19.271568 > "* BYE curl IMAP server signing off[CR][LF]" 17:51:19.271592 > "A003 OK LOGOUT completed[CR][LF]" 17:51:19.272795 MAIN sockfilt said DISC 17:51:19.272839 ====> Client disconnected 17:51:19.272919 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:51:19.059517 ====> Client connect 17:51:19.059891 Received DATA (on stdin) 17:51:19.059913 > 164 bytes data, server => client 17:51:19.059926 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:51:19.059938 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:51:19.059948 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:51:19.062940 < 17 bytes data, client => server 17:51:19.062974 'A001 CAPABILITY\r\n' 17:51:19.063264 Received DATA (on stdin) 17:51:19.063278 > 18 bytes data, server => client 17:51:19.063289 'A001 BAD Command\r\n' 17:51:19.063359 < 30 bytes data, client => server 17:51:19.063373 'A002 LIST "verifiedserver" *\r\n' 17:51:19.063567 Received DATA (on stdin) 17:51:19.063579 > 34 bytes data, server => client 17:51:19.063589 '* LIST () "/" "WE ROOLZ: 119592"\r\n' 17:51:19.063610 Received DATA (on stdin) 17:51:19.063620 > 24 bytes data, server => client 17:51:19.063630 'A002 OK LIST Completed\r\n' 17:51:19.117467 < 13 bytes data, client => server 17:51:19.117503 'A003 LOGOUT\r\n' 17:51:19.117773 Received DATA (on stdin) 17:51:19.117788 > 36 bytes data, server => client 17:51:19.117799 '* BYE curl IMAP server signing off\r\n' 17:51:19.117826 Received DATA (on stdin) 17:51:19.117836 > 26 bytes data, server => client 17:51:19.117846 'A003 OK LOGOUT completed\r\n' 17:51:19.118910 ====> Client disconnect 17:51:19.119096 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1553 === End of file server.cmd === Start of file stderr1553 URL: imap://non-existing-host.haxx.se:44265/1553 === End of file stderr1553 === Start of file valgrind1553 ==164704== ==164704== Process terminating with default action of signal 4 (SIGILL) ==164704== Illegal opcode at address 0x51A0F00 ==164704== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==164704== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==164704== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==164704== by 0x4035704: UnknownInlinedFun (lib1553.c:56) ==164704== by 0x4035704: test_lib1553.lto_priv.0 (lib1553.c:41) ==164704== by 0x40034B5: main (first.c:279) ==164704== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==164704== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164704== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==164704== by 0x4035704: UnknownInlinedFun (lib1553.c:56) ==164704== by 0x4035704: test_lib1553.lto_priv.0 (lib1553.c:41) ==164704== by 0x40034B5: main (first.c:279) ==164704== === End of file valgrind1553 CMD (33792): ../libtool --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:40899/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/17/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/17/data1558 > log/17/stdout1558 2> log/17/stderr1558 1558: stdout FAILED: --- log/17/check-expected 2026-01-28 17:51:21.469888705 +0000 +++ log/17/check-generated 2026-01-28 17:51:21.469888705 +0000 @@ -1,2 +0,0 @@ -hello[LF] -Protocol: 400[LF] == Contents of files in the log/17/ 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/17/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/17/data1558 > log/17/stdout1558 2> log/17/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 stderr1558 URL: file:///startdir/src/build-curl/tests/log/17/data1558 === End of file stderr1558 === Start of file valgrind1558 ==164892== ==164892== Process terminating with default action of signal 4 (SIGILL) ==164892== Illegal opcode at address 0x51D97AF ==164892== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164892== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164892== by 0x51D97AF: Curl_open (url.c:502) ==164892== by 0x515120F: curl_easy_init (easy.c:365) ==164892== by 0x4031481: test_lib1558.lto_priv.0 (lib1558.c:33) ==164892== by 0x40034B5: main (first.c:279) ==164892== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==164892== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164892== by 0x51D96BD: Curl_open (url.c:479) ==164892== by 0x515120F: curl_easy_init (easy.c:365) ==164892== by 0x4031481: test_lib1558.lto_priv.0 (lib1558.c:33) ==164892== by 0x40034B5: main (first.c:279) ==164892== === End of file valgrind1558 CMD (33792): ../libtool --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/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:33191/1549 > log/6/stdout1549 2> log/6/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:40899/1555 > log/16/stdout1555 2> log/16/stderr1555 1555: stdout FAILED: --- log/16/check-expected 2026-01-28 17:51:21.489888705 +0000 +++ log/16/check-generated 2026-01-28 17:51:21.489888705 +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:40899/1555 > log/16/stdout1555 2> log/16/stderr1555 === End of file commands.log === Start of file http_server.log 17:51:19.119595 ====> Client connect 17:51:19.119644 accept_connection 3 returned 4 17:51:19.119664 accept_connection 3 returned 0 17:51:19.119681 Read 93 bytes 17:51:19.119691 Process 93 bytes request 17:51:19.119704 Got request: GET /verifiedserver HTTP/1.1 17:51:19.119714 Are-we-friendly question received 17:51:19.119745 Wrote request (93 bytes) input to log/16/server.input 17:51:19.119764 Identifying ourselves as friends 17:51:19.119853 Response sent (56 bytes) and written to log/16/server.response 17:51:19.119866 special request received, no persistency 17:51:19.119875 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 37056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file stderr1555 URL: http://127.0.0.1:40899/1555 === End of file stderr1555 === Start of file valgrind1555 ==164702== ==164702== Process terminating with default action of signal 4 (SIGILL) ==164702== Illegal opcode at address 0x51D97AF ==164702== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164702== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164702== by 0x51D97AF: Curl_open (url.c:502) ==164702== by 0x515120F: curl_easy_init (easy.c:365) ==164702== by 0x4030406: UnknownInlinedFun (lib1555.c:60) ==164702== by 0x4030406: test_lib1555.lto_priv.0 (lib1555.c:54) ==164702== by 0x40034B5: main (first.c:279) ==164702== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==164702== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164702== by 0x51D96BD: Curl_open (url.c:479) ==164702== by 0x515120F: curl_easy_init (easy.c:365) ==164702== by 0x4030406: UnknownInlinedFun (lib1555.c:60) ==164702== by 0x4030406: test_lib1555.lto_priv.0 (lib1555.c:54) ==164702== by 0x40034B5: main (first.c:279) ==164702== === 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/24/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:39649/1551 > log/24/stdout1551 2> log/24/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/2/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:38779/1556 > log/2/stdout1556 2> log/2/stderr1556 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 164364 port 33191 * pid http => 164364 164364 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/6/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:33191/1549 > log/6/stdout1549 2> log/6/stderr1549 1549: stderr FAILED: --- log/6/check-expected 2026-01-28 17:51:21.513222039 +0000 +++ log/6/check-generated 2026-01-28 17:51:21.513222039 +0000 @@ -1,3 +1 @@ URL: http://127.0.0.1:33191/1549[CR][LF] -0 cookies[CR][LF] -Test ended with result 0[CR][LF] == Contents of files in the log/6/ directory after test 1549 === Start of file check-expected URL: http://127.0.0.1:33191/1549[CR][LF] 0 cookies[CR][LF] Test ended with result 0[CR][LF] === End of file check-expected === Start of file check-generated URL: http://127.0.0.1:33191/1549[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/6/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:33191/1549 > log/6/stdout1549 2> log/6/stderr1549 === End of file commands.log === Start of file http_server.log 17:51:18.286728 Running HTTP IPv4 version on port 33191 17:51:18.286870 Wrote pid 164364 to log/6/server/http_server.pid 17:51:18.286906 Wrote port 33191 to log/6/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 stderr1549 URL: http://127.0.0.1:33191/1549 === End of file stderr1549 === Start of file valgrind1549 ==164837== ==164837== Process terminating with default action of signal 4 (SIGILL) ==164837== Illegal opcode at address 0x51D97AF ==164837== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164837== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164837== by 0x51D97AF: Curl_open (url.c:502) ==164837== by 0x515120F: curl_easy_init (easy.c:365) ==164837== by 0x40312B7: test_lib1549.lto_priv.0 (lib1549.c:38) ==164837== by 0x40034B5: main (first.c:279) ==164837== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==164837== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164837== by 0x51D96BD: Curl_open (url.c:479) ==164837== by 0x515120F: curl_easy_init (easy.c:365) ==164837== by 0x40312B7: test_lib1549.lto_priv.0 (lib1549.c:38) ==164837== by 0x40034B5: main (first.c:279) ==164837== === End of file valgrind1549 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/24/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:39649/1551 > log/24/stdout1551 2> log/24/stderr1551 1551: 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 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/24/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:39649/1551 > log/24/stdout1551 2> log/24/stderr1551 === End of file commands.log === Start of file http_server.log 17:51:18.882909 ====> Client connect 17:51:18.882964 accept_connection 3 returned 4 17:51:18.882986 accept_connection 3 returned 0 17:51:18.883003 Read 93 bytes 17:51:18.883014 Process 93 bytes request 17:51:18.883029 Got request: GET /verifiedserver HTTP/1.1 17:51:18.883039 Are-we-friendly question received 17:51:18.883068 Wrote request (93 bytes) input to log/24/server.input 17:51:18.883087 Identifying ourselves as friends 17:51:18.883311 Response sent (56 bytes) and written to log/24/server.response 17:51:18.883325 special request received, no persistency 17:51:18.883335 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 42166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file stderr1551 URL: http://127.0.0.1:39649/1551 === End of file stderr1551 === Start of file valgrind1551 ==164561== ==164561== Process terminating with default action of signal 4 (SIGILL) ==164561== Illegal opcode at address 0x51D97AF ==164561== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164561== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164561== by 0x51D97AF: Curl_open (url.c:502) ==164561== by 0x515120F: curl_easy_init (easy.c:365) ==164561== by 0x40302EA: UnknownInlinedFun (lib1551.c:34) ==164561== by 0x40302EA: test_lib1551.lto_priv.0 (lib1551.c:28) ==164561== by 0x40034B5: main (first.c:279) ==164561== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==164561== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164561== by 0x51D96BD: Curl_open (url.c:479) ==164561== by 0x515120F: curl_easy_init (easy.c:365) ==164561== by 0x40302EA: UnknownInlinedFun (lib1551.c:34) ==164561== by 0x40302EA: test_lib1551.lto_priv.0 (lib1551.c:28) ==164561== by 0x40034B5: main (first.c:279) ==164561== === 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/4/valgrind1566 ../src/curl -q --trace-ascii log/4/trace1566 --trace-time http://127.0.0.1:34411/1566 -o log/4/output1566 --etag-compare log/4/etag1566 > log/4/stdout1566 2> log/4/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/20/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/20/stdout1557 2> log/20/stderr1557 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/2/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:38779/1556 > log/2/stdout1556 2> log/2/stderr1556 1556: stdout FAILED: --- log/2/check-expected 2026-01-28 17:51:21.636555372 +0000 +++ log/2/check-generated 2026-01-28 17:51:21.636555372 +0000 @@ -1,2 +0,0 @@ --foo-[LF] -Max = 100009[LF] == Contents of files in the log/2/ 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/2/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:38779/1556 > log/2/stdout1556 2> log/2/stderr1556 === End of file commands.log === Start of file http_server.log 17:51:19.275967 ====> Client connect 17:51:19.276011 accept_connection 3 returned 4 17:51:19.276030 accept_connection 3 returned 0 17:51:19.276047 Read 93 bytes 17:51:19.276057 Process 93 bytes request 17:51:19.276071 Got request: GET /verifiedserver HTTP/1.1 17:51:19.276080 Are-we-friendly question received 17:51:19.276107 Wrote request (93 bytes) input to log/2/server.input 17:51:19.276124 Identifying ourselves as friends 17:51:19.276219 Response sent (56 bytes) and written to log/2/server.response 17:51:19.276230 special request received, no persistency 17:51:19.276239 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 46284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file stderr1556 URL: http://127.0.0.1:38779/1556 === End of file stderr1556 === Start of file valgrind1556 ==164861== ==164861== Process terminating with default action of signal 4 (SIGILL) ==164861== Illegal opcode at address 0x51D97AF ==164861== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164861== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164861== by 0x51D97AF: Curl_open (url.c:502) ==164861== by 0x515120F: curl_easy_init (easy.c:365) ==164861== by 0x4030681: test_lib1556.lto_priv.0 (lib1556.c:52) ==164861== by 0x40034B5: main (first.c:279) ==164861== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==164861== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164861== by 0x51D96BD: Curl_open (url.c:479) ==164861== by 0x515120F: curl_easy_init (easy.c:365) ==164861== by 0x4030681: test_lib1556.lto_priv.0 (lib1556.c:52) ==164861== by 0x40034B5: main (first.c:279) ==164861== === End of file valgrind1556 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/4/valgrind1566 ../src/curl -q --trace-ascii log/4/trace1566 --trace-time http://127.0.0.1:34411/1566 -o log/4/output1566 --etag-compare log/4/etag1566 > log/4/stdout1566 2> log/4/stderr1566 1566: 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 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/4/valgrind1566 ../src/curl -q --trace-ascii log/4/trace1566 --trace-time http://127.0.0.1:34411/1566 -o log/4/output1566 --etag-compare log/4/etag1566 > log/4/stdout1566 2> log/4/stderr1566 === End of file commands.log === Start of file etag1566 "123456" === End of file etag1566 === Start of file http_server.log 17:51:19.677307 ====> Client connect 17:51:19.677337 accept_connection 3 returned 4 17:51:19.677351 accept_connection 3 returned 0 17:51:19.677363 Read 93 bytes 17:51:19.677372 Process 93 bytes request 17:51:19.677382 Got request: GET /verifiedserver HTTP/1.1 17:51:19.677391 Are-we-friendly question received 17:51:19.677415 Wrote request (93 bytes) input to log/4/server.input 17:51:19.677433 Identifying ourselves as friends 17:51:19.677486 Response sent (56 bytes) and written to log/4/server.response 17:51:19.677495 special request received, no persistency 17:51:19.677504 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 57764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind1566 ==165292== ==165292== Process terminating with default action of signal 4 (SIGILL) ==165292== Illegal opcode at address 0x4014520 ==165292== at 0x4014520: getparameter (tool_getparam.c:2862) ==165292== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==165292== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==165292== by 0x4003728: main (tool_main.c:186) === End of file valgrind1566 test 1557...[Remove easy handle in pending connections does not leave 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/20/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/20/stdout1557 2> log/20/stderr1557 libtests returned 132, when expecting 0 1557: exit FAILED == Contents of files in the log/20/ 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/20/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/20/stdout1557 2> log/20/stderr1557 === End of file commands.log === Start of file server.cmd Testnum 1557 === End of file server.cmd === Start of file stderr1557 URL: hostname.invalid === End of file stderr1557 === Start of file valgrind1557 ==164780== ==164780== Process terminating with default action of signal 4 (SIGILL) ==164780== Illegal opcode at address 0x51A0F00 ==164780== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==164780== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==164780== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==164780== by 0x402CB04: test_lib1557.lto_priv.0 (lib1557.c:36) ==164780== by 0x40034B5: main (first.c:279) ==164780== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==164780== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164780== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==164780== by 0x402CB04: CMD (33792): ../libtool --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/valgrind1564 ./libtest/libtests lib1564 - > log/15/stdout1564 2> log/15/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/5/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 46875 > log/5/stdout1568 2> log/5/stderr1568 CMD (33792): ../libtool --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/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:37113/1569;type=A" ftp://127.0.0.1:37113/1569 > log/21/stdout1569 2> log/21/stderr1569 test_lib1557.lto_priv.0 (lib1557.c:36) ==164780== by 0x40034B5: main (first.c:279) ==164780== === 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/15/valgrind1564 ./libtest/libtests lib1564 - > log/15/stdout1564 2> log/15/stderr1564 libtests returned 132, when expecting 0 1564: exit FAILED == Contents of files in the log/15/ 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/15/valgrind1564 ./libtest/libtests lib1564 - > log/15/stdout1564 2> log/15/stderr1564 === End of file commands.log === Start of file server.cmd Testnum 1564 === End of file server.cmd === Start of file stderr1564 URL: - === End of file stderr1564 === Start of file valgrind1564 ==165090== ==165090== Process terminating with default action of signal 4 (SIGILL) ==165090== Illegal opcode at address 0x51A0F00 ==165090== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==165090== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==165090== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==165090== by 0x405F3E9: test_lib1564.part.0.lto_priv.0 (lib1564.c:42) ==165090== by 0x40034B5: main (first.c:279) ==165090== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==165090== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165090== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==165090== by 0x405F3E9: test_lib1564.part.0.lto_priv.0 (lib1564.c:42) ==165090== by 0x40034B5: main (first.c:279) ==165090== === End of file valgrind1564 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/5/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 46875 > log/5/stdout1568 2> log/5/stderr1568 1568: 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 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/5/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 46875 > log/5/stdout1568 2> log/5/stderr1568 === End of file commands.log === Start of file http_server.log 17:51:19.763783 ====> Client connect 17:51:19.763818 accept_connection 3 returned 4 17:51:19.763832 accept_connection 3 returned 0 17:51:19.763845 Read 93 bytes 17:51:19.763853 Process 93 bytes request 17:51:19.763866 Got request: GET /verifiedserver HTTP/1.1 17:51:19.763874 Are-we-friendly question received 17:51:19.763897 Wrote request (93 bytes) input to log/5/server.input 17:51:19.763911 Identifying ourselves as friends 17:51:19.763962 Response sent (56 bytes) and written to log/5/server.response 17:51:19.763970 special request received, no persistency 17:51:19.763977 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 57446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file stderr1568 URL: http://127.0.0.1/1568 === End of file stderr1568 === Start of file valgrind1568 ==165376== ==165376== Process terminating with default action of signal 4 (SIGILL) ==165376== Illegal opcode at address 0x51D97AF ==165376== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==165376== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==165376== by 0x51D97AF: Curl_open (url.c:502) ==165376== by 0x515120F: curl_easy_init (easy.c:365) ==165376== by 0x403A614: test_lib1568.lto_priv.0 (lib1568.c:38) ==165376== by 0x40034B5: main (first.c:279) ==165376== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==165376== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165376== by 0x51D96BD: Curl_open (url.c:479) ==165376== by 0x515120F: curl_easy_init (easy.c:365) ==165376== by 0x403A614: test_lib1568.lto_priv.0 (lib1568.c:38) ==165376== by 0x40034B5: main (first.c:279) ==165376== === End of file valgrind1568 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/21/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:37113/1569;type=A" ftp://127.0.0.1:37113/1569 > log/21/stdout1569 2> log/21/stderr1569 1569: 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 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/21/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:37113/1569;type=A" ftp://127.0.0.1:37113/1569 > log/21/stdout1569 2> log/21/stderr1569 === End of file commands.log === Start of file ftp_server.log 17:51:20.090161 ====> Client connect 17:51:20.096740 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:20.103522 < "USER anonymous" 17:51:20.103588 > "331 We are happy you popped in![CR][LF]" 17:51:20.103829 < "PASS ftp@example.com" 17:51:20.103866 > "230 Welcome you silly person[CR][LF]" 17:51:20.104030 < "PWD" 17:51:20.104064 > "257 "/" is current directory[CR][LF]" 17:51:20.104225 < "EPSV" 17:51:20.104253 ====> Passive DATA channel requested by client 17:51:20.104267 DATA sockfilt for passive data channel starting... 17:51:20.117076 DATA sockfilt for passive data channel started (pid 165516) 17:51:20.117258 DATA sockfilt for passive data channel listens on port 42489 17:51:20.117327 > "229 Entering Passive Mode (|||42489|)[CR][LF]" 17:51:20.117349 Client has been notified that DATA conn will be accepted on port 42489 17:51:20.137084 Client connects to port 42489 17:51:20.137166 ====> Client established passive DATA connection on port 42489 17:51:20.137300 < "TYPE I" 17:51:20.137352 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:20.139841 < "SIZE verifiedserver" 17:51:20.139897 > "213 17[CR][LF]" 17:51:20.150505 < "RETR verifiedserver" 17:51:20.150592 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:20.151040 =====> Closing passive DATA connection... 17:51:20.151070 Server disconnects passive DATA connection 17:51:20.151154 Server disconnected passive DATA connection 17:51:20.151185 DATA sockfilt for passive data channel quits (pid 165516) 17:51:20.151440 DATA sockfilt for passive data channel quit (pid 165516) 17:51:20.151472 =====> Closed passive DATA connection 17:51:20.151507 > "226 File transfer complete[CR][LF]" 17:51:20.206818 < "QUIT" 17:51:20.206885 > "221 bye bye baby[CR][LF]" 17:51:20.211017 MAIN sockfilt said DISC 17:51:20.211092 ====> Client disconnected 17:51:20.211304 Awaiting input === End of file ftp_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/14/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:38643/1570;type=D" ftp://127.0.0.1:38643/1570 > log/14/stdout1570 2> log/14/stderr1570 log === Start of file ftp_sockctrl.log 17:51:19.929523 ====> Client connect 17:51:19.946280 Received DATA (on stdin) 17:51:19.946314 > 146 bytes data, server => client 17:51:19.946326 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:19.946335 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:19.946345 '220 \___|\___/|_| \_\_____|\r\n' 17:51:19.946477 < 16 bytes data, client => server 17:51:19.946489 'USER anonymous\r\n' 17:51:19.949776 Received DATA (on stdin) 17:51:19.949794 > 33 bytes data, server => client 17:51:19.949805 '331 We are happy you popped in!\r\n' 17:51:19.949894 < 22 bytes data, client => server 17:51:19.949906 'PASS ftp@example.com\r\n' 17:51:19.950044 Received DATA (on stdin) 17:51:19.950055 > 30 bytes data, server => client 17:51:19.950066 '230 Welcome you silly person\r\n' 17:51:19.950119 < 5 bytes data, client => server 17:51:19.950130 'PWD\r\n' 17:51:19.950239 Received DATA (on stdin) 17:51:19.950249 > 30 bytes data, server => client 17:51:19.950260 '257 "/" is current directory\r\n' 17:51:19.950319 < 6 bytes data, client => server 17:51:19.950330 'EPSV\r\n' 17:51:19.966188 Received DATA (on stdin) 17:51:19.966218 > 39 bytes data, server => client 17:51:19.966230 '229 Entering Passive Mode (|||42489|)\r\n' 17:51:19.969682 < 8 bytes data, client => server 17:51:19.969709 'TYPE I\r\n' 17:51:19.983515 Received DATA (on stdin) 17:51:19.983543 > 33 bytes data, server => client 17:51:19.983555 '200 I modify TYPE as you wanted\r\n' 17:51:19.983678 < 21 bytes data, client => server 17:51:19.983693 'SIZE verifiedserver\r\n' 17:51:19.986181 Received DATA (on stdin) 17:51:19.986208 > 8 bytes data, server => client 17:51:19.986220 '213 17\r\n' 17:51:19.996278 < 21 bytes data, client => server 17:51:19.996318 'RETR verifiedserver\r\n' 17:51:19.999502 Received DATA (on stdin) 17:51:19.999522 > 29 bytes data, server => client 17:51:19.999533 '150 Binary junk (17 bytes).\r\n' 17:51:19.999559 Received DATA (on stdin) 17:51:19.999570 > 28 bytes data, server => client 17:51:19.999581 '226 File transfer complete\r\n' 17:51:20.049951 < 6 bytes data, client => server 17:51:20.049992 'QUIT\r\n' 17:51:20.056195 Received DATA (on stdin) 17:51:20.056242 > 18 bytes data, server => client 17:51:20.056254 '221 bye bye baby\r\n' 17:51:20.057109 ====> Client disconnect 17:51:20.057323 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:20.963006 Running IPv4 version 17:51:20.963110 Listening on port 42489 17:51:20.963155 Wrote pid 165516 to log/21/server/ftp_sockdata.pid 17:51:20.963176 Received PING (on stdin) 17:51:20.963317 Received PORT (on stdin) 17:51:20.982848 ====> Client connect 17:51:20.997084 Received DATA (on stdin) 17:51:20.997108 > 17 bytes data, server => client 17:51:20.997120 'WE ROOLZ: 81123\r\n' 17:51:20.997256 Received DISC (on stdin) 17:51:20.997272 ====> Client forcibly disconnected 17:51:20.997371 Received QUIT (on stdin) 17:51:20.997384 quits 17:51:20.997446 ============> 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 stderr1569 URL: ftp://127.0.0.1:37113/1569;type=A === End of file stderr1569 === Start of file valgrind1569 ==165560== ==165560== Process terminating with default action of signal 4 (SIGILL) ==165560== Illegal opcode at address 0x51D97AF ==165560== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==165560== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==165560== by 0x51D97AF: Curl_open (url.c:502) ==165560== by 0x515120F: curl_easy_init (easy.c:365) ==165560== by 0x40399EC: UnknownInlinedFun (lib1569.c:32) ==165560== by 0x40399EC: test_lib1569.lto_priv.0 (lib1569.c:26) ==165560== by 0x40034B5: main (first.c:279) ==165560== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==165560== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165560== by 0x51D96BD: Curl_open (url.c:479) ==165560== by 0x515120F: curl_easy_init (easy.c:365) ==165560== by 0x40399EC: UnknownInlinedFun (lib1569.c:32) ==165560== by 0x40399EC: test_lib1569.lto_priv.0 (lib1569.c:26) ==165560== by 0x40034B5: main (first.c:279) ==165560== === End of file valgrind1569 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/14/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:38643/1570;type=D" ftp://127.0.0.1:38643/1570 > log/14/stdout1570 2> log/14/stderr1570 1570: 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 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/14/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:38643/1570;type=D" ftp://127.0.0.1:38643/1570 > log/14/stdout1570 2> log/14/stderr1570 === End of file commands.log === Start of file ftp_server.log 17:51:20.205176 ====> Client connect 17:51:20.205349 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:20.205631 < "USER anonymous" 17:51:20.205666 > "331 We are happy you popped in![CR][LF]" 17:51:20.205827 < "PASS ftp@example.com" 17:51:20.205855 > "230 Welcome you silly person[CR][LF]" 17:51:20.205998 < "PWD" 17:51:20.206024 > "257 "/" is current directory[CR][LF]" 17:51:20.206166 < "EPSV" 17:51:20.206189 ====> Passive DATA channel requested by client 17:51:20.206202 DATA sockfilt for passive data channel starting... 17:51:20.211680 DATA sockfilt for passive data channel started (pid 165556) 17:51:20.211816 DATA sockfilt for passive data channel listens on port 36341 17:51:20.211876 > "229 Entering Passive Mode (|||36341|)[CR][LF]" 17:51:20.211901 Client has been notified that DATA conn will be accepted on port 36341 17:51:20.212164 Client connects to port 36341 17:51:20.212199 ====> Client established passive DATA connection on port 36341 17:51:20.212347 < "TYPE I" 17:51:20.212391 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:20.212586 < "SIZE verifiedserver" 17:51:20.212625 > "213 17[CR][LF]" 17:51:20.212757 < "RETR verifiedserver" 17:51:20.212789 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:20.212867 =====> Closing passive DATA connection... 17:51:20.212880 Server disconnects passive DATA connection 17:51:20.212982 Server disconnected passive DATA connection 17:51:20.213001 DATA sockfilt for passive data channel quits (pid 165556) 17:51:20.213269 DATA sockfilt for passive data channel quit (pid 165556) 17:51:20.213289 =====> Closed passive DATA connection 17:51:20.213313 > "226 File transfer complete[CR][LF]" 17:51:20.260600 < "QUIT" 17:51:20.260657 > "221 bye bye baby[CR][LF]" 17:51:20.261891 MAIN sockfilt said DISC 17:51:20.261928 ====> Client disconnected 17:51:20.262022 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:20.051231 ====> Client connect 17:51:20.051540 Received DATA (on stdin) 17:51:20.051554 > 146 bytes data, server => client 17:51:20.051565 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:20.051575 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:20.051585 '220 \___|\___/|_| \_\_____|\r\n' 17:51:20.051662 < 16 bytes data, client => server 17:51:20.051673 'USER anonymous\r\n' 17:51:20.051845 Received DATA (on stdin) 17:51:20.051856 > 33 bytes data, server => client 17:51:20.051866 '331 We are happy you popped in!\r\n' 17:51:20.051914 < 22 bytes data, client => server 17:51:20.051924 'PASS ftp@example.com\r\n' 17:51:20.052030 Received DATA (on stdin) 17:51:20.052040 > 30 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/22/valgrind1559 ./libtest/libtests lib1559 - > log/22/stdout1559 2> log/22/stderr1559 tes data, server => client 17:51:20.052050 '230 Welcome you silly person\r\n' 17:51:20.052093 < 5 bytes data, client => server 17:51:20.052102 'PWD\r\n' 17:51:20.052197 Received DATA (on stdin) 17:51:20.052206 > 30 bytes data, server => client 17:51:20.052216 '257 "/" is current directory\r\n' 17:51:20.052267 < 6 bytes data, client => server 17:51:20.052276 'EPSV\r\n' 17:51:20.058091 Received DATA (on stdin) 17:51:20.058109 > 39 bytes data, server => client 17:51:20.058121 '229 Entering Passive Mode (|||36341|)\r\n' 17:51:20.058400 < 8 bytes data, client => server 17:51:20.058415 'TYPE I\r\n' 17:51:20.058577 Received DATA (on stdin) 17:51:20.058591 > 33 bytes data, server => client 17:51:20.058603 '200 I modify TYPE as you wanted\r\n' 17:51:20.058663 < 21 bytes data, client => server 17:51:20.058678 'SIZE verifiedserver\r\n' 17:51:20.058799 Received DATA (on stdin) 17:51:20.058808 > 8 bytes data, server => client 17:51:20.058817 '213 17\r\n' 17:51:20.058860 < 21 bytes data, client => server 17:51:20.058869 'RETR verifiedserver\r\n' 17:51:20.059373 Received DATA (on stdin) 17:51:20.059384 > 29 bytes data, server => client 17:51:20.059393 '150 Binary junk (17 bytes).\r\n' 17:51:20.059492 Received DATA (on stdin) 17:51:20.059502 > 28 bytes data, server => client 17:51:20.059510 '226 File transfer complete\r\n' 17:51:20.106575 < 6 bytes data, client => server 17:51:20.106611 'QUIT\r\n' 17:51:20.106838 Received DATA (on stdin) 17:51:20.106850 > 18 bytes data, server => client 17:51:20.106861 '221 bye bye baby\r\n' 17:51:20.108010 ====> Client disconnect 17:51:20.108208 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:20.057480 Running IPv4 version 17:51:20.057555 Listening on port 36341 17:51:20.057604 Wrote pid 165556 to log/14/server/ftp_sockdata.pid 17:51:20.057785 Received PING (on stdin) 17:51:20.057891 Received PORT (on stdin) 17:51:20.058284 ====> Client connect 17:51:20.059056 Received DATA (on stdin) 17:51:20.059066 > 17 bytes data, server => client 17:51:20.059075 'WE ROOLZ: 81129\r\n' 17:51:20.059099 Received DISC (on stdin) 17:51:20.059109 ====> Client forcibly disconnected 17:51:20.059180 Received QUIT (on stdin) 17:51:20.059188 quits 17:51:20.059244 ============> 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 stderr1570 URL: ftp://127.0.0.1:38643/1570;type=D === End of file stderr1570 === Start of file valgrind1570 ==165574== ==165574== Process terminating with default action of signal 4 (SIGILL) ==165574== Illegal opcode at address 0x51D97AF ==165574== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==165574== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==165574== by 0x51D97AF: Curl_open (url.c:502) ==165574== by 0x515120F: curl_easy_init (easy.c:365) ==165574== by 0x40399EC: UnknownInlinedFun (lib1569.c:32) ==165574== by 0x40399EC: test_lib1569.lto_priv.0 (lib1569.c:26) ==165574== by 0x40034B5: main (first.c:279) ==165574== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==165574== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165574== by 0x51D96BD: Curl_open (url.c:479) ==165574== by 0x515120F: curl_easy_init (easy.c:365) ==165574== by 0x40399EC: UnknownInlinedFun (lib1569.c:32) ==165574== by 0x40399EC: test_lib1569.lto_priv.0 (lib1569.c:26) ==165574== by 0x40034B5: main (first.c:279) ==165574== === End of file valgrind1570 CMD (33792): ../libtool --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/valgrind1563 ../src/curl -q --output log/1/curl1563.out --include --trace-ascii log/1/trace1563 --trace-time http://127.0.0.1:39589/15630001 -L -H "Host: www.example.com" > log/1/stdout1563 2> log/1/stderr1563 CMD (33792): ../libtool --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/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:46439/1567 > log/11/stdout1567 2> log/11/stderr1567 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/22/valgrind1559 ./libtest/libtests lib1559 - > log/22/stdout1559 2> log/22/stderr1559 1559: stdout FAILED: --- log/22/check-expected 2026-01-28 17:51:22.306555372 +0000 +++ log/22/check-generated 2026-01-28 17:51:22.306555372 +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/22/ 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/22/valgrind1559 ./libtest/libtests lib1559 - > log/22/stdout1559 2> log/22/stderr1559 === End of file commands.log === Start of file server.cmd Testnum 1559 === End of file server.cmd === Start of file stderr1559 URL: - === End of file stderr1559 === Start of file valgrind1559 ==164906== ==164906== Process terminating with default action of signal 4 (SIGILL) ==164906== Illegal opcode at address 0x51D97AF ==164906== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==164906== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==164906== by 0x51D97AF: Curl_open (url.c:502) ==164906== by 0x515120F: curl_easy_init (easy.c:365) ==164906== by 0x40360AB: UnknownInlinedFun (lib1559.c:37) ==164906== by 0x40360AB: test_lib1559.lto_priv.0 (lib1559.c:26) ==164906== by 0x40034B5: main (first.c:279) ==164906== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==164906== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164906== by 0x51D96BD: Curl_open (url.c:479) ==164906== by 0x515120F: curl_easy_init (easy.c:365) ==164906== by 0x40360AB: UnknownInlinedFun (lib1559.c:37) ==164906== by 0x40360AB: test_lib1559.lto_priv.0 (lib1559.c:26) ==164906== by 0x40034B5: main (first.c:279) ==164906== === End of file valgrind1559 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/1/valgrind1563 ../src/curl -q --output log/1/curl1563.out --include --trace-ascii log/1/trace1563 --trace-time http://127.0.0.1:39589/15630001 -L -H "Host: www.example.com" > log/1/stdout1563 2> log/1/stderr1563 1563: 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 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/1/valgrind1563 ../src/curl -q --output log/1/curl1563.out --include --trace-ascii log/1/trace1563 --trace-time http://127.0.0.1:39589/15630001 -L -H "Host: www.example.com" > log/1/stdout1563 2> log/1/stderr1563 === End of file commands.log === Start of file http_server.log 17:51:19.476688 ====> Client connect 17:51:19.476730 accept_connection 3 returned 4 17:51:19.476749 accept_connection 3 returned 0 17:51:19.476765 Read 93 bytes 17:51:19.476775 Process 93 bytes request 17:51:19.476788 Got request: GET /verifiedserver HTTP/1.1 17:51:19.476797 Are-we-friendly question received 17:51:19.476822 Wrote request (93 bytes) input to log/1/server.input 17:51:19.476840 Identifying ourselves as friends 17:51:19.476920 Response sent (56 bytes) and written to log/1/server.response 17:51:19.476930 special request received, no persistency 17:51:19.476938 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 41130 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind1563 ==165158== ==165158== Process terminating with default action of signal 4 (SIGILL) ==165158== Illegal opcode at address 0x4014520 ==165158== at 0x4014520: getparameter (tool_getparam.c:2862) ==165158== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==165158== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==165158== by 0x4003728: main (tool_main.c:186) === End of file valgrind1563 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/11/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:46439/1567 > log/11/stdout1567 2> log/11/stderr1567 1567: 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 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/11/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:46439/1567 > log/11/stdout1567 2> log/11/stderr1567 === End of file commands.log === Start of file http_server.log 17:51:19.779567 ====> Client connect 17:51:19.779614 accept_connection 3 returned 4 17:51:19.779634 accept_connection 3 returned 0 17:51:19.779651 Read 93 bytes 17:51:19.779660 Process 93 bytes request 17:51:19.779675 Got request: GET /verifiedserver HTTP/1.1 17:51:19.779683 Are-we-friendly question received 17:51:19.779715 Wrote request (93 bytes) input to log/11/server.input 17:51:19.779733 Identifying ourselves as friends 17:51:19.779827 Response sent (56 bytes) and written to log/11/server.response 17:51:19.779839 special request received, no persistency 17:51:19.779848 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 54576 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file stderr1567 URL: http://127.0.0.1:46439/1567 === End of file stderr1567 === Start of file valgrind1567 ==165403== ==165403=CMD (33792): ../libtool --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/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:37413/1565 > log/9/stdout1565 2> log/9/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/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:34067/1571 > log/18/stdout1571 2> log/18/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/3/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:45927/1573 > log/3/stdout1573 2> log/3/stderr1573 = Process terminating with default action of signal 4 (SIGILL) ==165403== Illegal opcode at address 0x51D97AF ==165403== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==165403== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==165403== by 0x51D97AF: Curl_open (url.c:502) ==165403== by 0x515120F: curl_easy_init (easy.c:365) ==165403== by 0x403A4AC: UnknownInlinedFun (lib1567.c:35) ==165403== by 0x403A4AC: test_lib1567.lto_priv.0 (lib1567.c:28) ==165403== by 0x40034B5: main (first.c:279) ==165403== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==165403== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165403== by 0x51D96BD: Curl_open (url.c:479) ==165403== by 0x515120F: curl_easy_init (easy.c:365) ==165403== by 0x403A4AC: UnknownInlinedFun (lib1567.c:35) ==165403== by 0x403A4AC: test_lib1567.lto_priv.0 (lib1567.c:28) ==165403== by 0x40034B5: main (first.c:279) ==165403== === End of file valgrind1567 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/9/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:37413/1565 > log/9/stdout1565 2> log/9/stderr1565 libtests returned 132, when expecting 0 1565: exit FAILED == Contents of files in the log/9/ 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/9/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:37413/1565 > log/9/stdout1565 2> log/9/stderr1565 === End of file commands.log === Start of file http_server.log 17:51:19.675140 ====> Client connect 17:51:19.675179 accept_connection 3 returned 4 17:51:19.675198 accept_connection 3 returned 0 17:51:19.675214 Read 93 bytes 17:51:19.675224 Process 93 bytes request 17:51:19.675239 Got request: GET /verifiedserver HTTP/1.1 17:51:19.675248 Are-we-friendly question received 17:51:19.675277 Wrote request (93 bytes) input to log/9/server.input 17:51:19.675295 Identifying ourselves as friends 17:51:19.675359 Response sent (56 bytes) and written to log/9/server.response 17:51:19.675370 special request received, no persistency 17:51:19.675378 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 56342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 17 WE ROOLZ: 74974 === End of file server.response === Start of file stderr1565 URL: http://127.0.0.1:37413/1565 === End of file stderr1565 === Start of file valgrind1565 ==165289== ==165289== Process terminating with default action of signal 4 (SIGILL) ==165289== Illegal opcode at address 0x51A0F00 ==165289== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==165289== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==165289== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==165289== by 0x40388CE: test_lib1565.lto_priv.0 (lib1565.c:104) ==165289== by 0x40034B5: main (first.c:279) ==165289== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==165289== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165289== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==165289== by 0x40388CE: test_lib1565.lto_priv.0 (lib1565.c:104) ==165289== by 0x40034B5: main (first.c:279) ==165289== === End of file valgrind1565 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/18/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:34067/1571 > log/18/stdout1571 2> log/18/stderr1571 1571: 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 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/18/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:34067/1571 > log/18/stdout1571 2> log/18/stderr1571 === End of file commands.log === Start of file http_server.log 17:51:20.222452 ====> Client connect 17:51:20.222486 accept_connection 3 returned 4 17:51:20.222502 accept_connection 3 returned 0 17:51:20.222516 Read 93 bytes 17:51:20.222525 Process 93 bytes request 17:51:20.222539 Got request: GET /verifiedserver HTTP/1.1 17:51:20.222548 Are-we-friendly question received 17:51:20.222574 Wrote request (93 bytes) input to log/18/server.input 17:51:20.222590 Identifying ourselves as friends 17:51:20.222654 Response sent (56 bytes) and written to log/18/server.response 17:51:20.222664 special request received, no persistency 17:51:20.222673 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 41374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file stderr1571 URL: http://127.0.0.1:34067/1571 === End of file stderr1571 === Start of file valgrind1571 ==165666== ==165666== Process terminating with default action of signal 4 (SIGILL) ==165666== Illegal opcode at address 0x51D97AF ==165666== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==165666== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==165666== by 0x51D97AF: Curl_open (url.c:502) ==165666== by 0x515120F: curl_easy_init (easy.c:365) ==165666== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==165666== by 0x40034B5: main (first.c:279) ==165666== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==165666== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165666== by 0x51D96BD: Curl_open (url.c:479) ==165666== by 0x515120F: curl_easy_init (easy.c:365) ==165666== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==165666== by 0x40034B5: main (first.c:279) ==165666== === End of file valgrind1571 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/3/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:45927/1573 > log/3/stdout1573 2> log/3/stderr1573 1573: 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 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-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/7/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:35671/1575 > log/7/stdout1575 2> log/7/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/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:42045/1574 > log/8/stdout1574 2> log/8/stderr1574 allers=16 --log-file=log/3/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:45927/1573 > log/3/stdout1573 2> log/3/stderr1573 === End of file commands.log === Start of file http_server.log 17:51:20.435217 ====> Client connect 17:51:20.435249 accept_connection 3 returned 4 17:51:20.435266 accept_connection 3 returned 0 17:51:20.435280 Read 93 bytes 17:51:20.435289 Process 93 bytes request 17:51:20.435302 Got request: GET /verifiedserver HTTP/1.1 17:51:20.435310 Are-we-friendly question received 17:51:20.435333 Wrote request (93 bytes) input to log/3/server.input 17:51:20.435349 Identifying ourselves as friends 17:51:20.435405 Response sent (56 bytes) and written to log/3/server.response 17:51:20.435414 special request received, no persistency 17:51:20.435422 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 60528 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file stderr1573 URL: http://127.0.0.1:45927/1573 === End of file stderr1573 === Start of file valgrind1573 ==165792== ==165792== Process terminating with default action of signal 4 (SIGILL) ==165792== Illegal opcode at address 0x51D97AF ==165792== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==165792== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==165792== by 0x51D97AF: Curl_open (url.c:502) ==165792== by 0x515120F: curl_easy_init (easy.c:365) ==165792== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==165792== by 0x40034B5: main (first.c:279) ==165792== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==165792== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165792== by 0x51D96BD: Curl_open (url.c:479) ==165792== by 0x515120F: curl_easy_init (easy.c:365) ==165792== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==165792== by 0x40034B5: main (first.c:279) ==165792== === End of file valgrind1573 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/7/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:35671/1575 > log/7/stdout1575 2> log/7/stderr1575 1575: 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 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/7/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:35671/1575 > log/7/stdout1575 2> log/7/stderr1575 === End of file commands.log === Start of file http_server.log 17:51:21.012892 ====> Client connect 17:51:21.012935 accept_connection 3 returned 4 17:51:21.012952 accept_connection 3 returned 0 17:51:21.012967 Read 93 bytes 17:51:21.012976 Process 93 bytes request 17:51:21.012990 Got request: GET /verifiedserver HTTP/1.1 17:51:21.012998 Are-we-friendly question received 17:51:21.013024 Wrote request (93 bytes) input to log/7/server.input 17:51:21.013040 Identifying ourselves as friends 17:51:21.013120 Response sent (56 bytes) and written to log/7/server.response 17:51:21.013130 special request received, no persistency 17:51:21.013138 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 37566 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file stderr1575 URL: http://127.0.0.1:35671/1575 === End of file stderr1575 === Start of file valgrind1575 ==165980== ==165980== Process terminating with default action of signal 4 (SIGILL) ==165980== Illegal opcode at address 0x51D97AF ==165980== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==165980== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==165980== by 0x51D97AF: Curl_open (url.c:502) ==165980== by 0x515120F: curl_easy_init (easy.c:365) ==165980== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==165980== by 0x40034B5: main (first.c:279) ==165980== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==165980== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165980== by 0x51D96BD: Curl_open (url.c:479) ==165980== by 0x515120F: curl_easy_init (easy.c:365) ==165980== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==165980== by 0x40034B5: main (first.c:279) ==165980== === End of file valgrind1575 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/8/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:42045/1574 > log/8/stdout1574 2> log/8/stderr1574 1574: 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 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/8/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:42045/1574 > log/8/stdout1574 2> log/8/stderr1574 === End of file commands.log === Start of file http_server.log 17:51:20.479587 ====> Client connect 17:51:20.479640 accept_connection 3 returned 4 17:51:20.479663 accept_connection 3 returned 0 17:51:20.479680 Read 93 bytes 17:51:20.479689 Process 93 bytes request 17:51:20.479703 Got request: GET /verifiedserver HTTP/1.1 17:51:20.479715 Are-we-friendly question received 17:51:20.479745 Wrote request (93 bytes) input to log/8/server.input 17:51:20.479762 Identifying ourselves as friends 17:51:20.479855 Response sent (56 bytes) and written to log/8/server.response 17:51:20.479869 special request received, no persistency 17:51:20.479878 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 40422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 ==CMD (33792): ../libtool --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/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:36987/1576 > log/19/stdout1576 2> log/19/stderr1576 CMD (33792): ../libtool --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/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:36641/1572 > log/12/stdout1572 2> log/12/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/16/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:40899/1580 1578 > log/16/stdout1580 2> log/16/stderr1580 = End of file server.response === Start of file stderr1574 URL: http://127.0.0.1:42045/1574 === End of file stderr1574 === Start of file valgrind1574 ==165818== ==165818== Process terminating with default action of signal 4 (SIGILL) ==165818== Illegal opcode at address 0x51D97AF ==165818== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==165818== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==165818== by 0x51D97AF: Curl_open (url.c:502) ==165818== by 0x515120F: curl_easy_init (easy.c:365) ==165818== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==165818== by 0x40034B5: main (first.c:279) ==165818== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==165818== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165818== by 0x51D96BD: Curl_open (url.c:479) ==165818== by 0x515120F: curl_easy_init (easy.c:365) ==165818== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==165818== by 0x40034B5: main (first.c:279) ==165818== === 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/19/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:36987/1576 > log/19/stdout1576 2> log/19/stderr1576 1576: 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 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/19/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:36987/1576 > log/19/stdout1576 2> log/19/stderr1576 === End of file commands.log === Start of file http_server.log 17:51:21.032919 ====> Client connect 17:51:21.032970 accept_connection 3 returned 4 17:51:21.032992 accept_connection 3 returned 0 17:51:21.033011 Read 93 bytes 17:51:21.033021 Process 93 bytes request 17:51:21.033034 Got request: GET /verifiedserver HTTP/1.1 17:51:21.033044 Are-we-friendly question received 17:51:21.033076 Wrote request (93 bytes) input to log/19/server.input 17:51:21.033101 Identifying ourselves as friends 17:51:21.033195 Response sent (56 bytes) and written to log/19/server.response 17:51:21.033209 special request received, no persistency 17:51:21.033219 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 59870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file stderr1576 URL: http://127.0.0.1:36987/1576 === End of file stderr1576 === Start of file valgrind1576 ==165987== ==165987== Process terminating with default action of signal 4 (SIGILL) ==165987== Illegal opcode at address 0x51D97AF ==165987== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==165987== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==165987== by 0x51D97AF: Curl_open (url.c:502) ==165987== by 0x515120F: curl_easy_init (easy.c:365) ==165987== by 0x403AE0C: test_lib1576.lto_priv.0 (lib1576.c:59) ==165987== by 0x40034B5: main (first.c:279) ==165987== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==165987== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165987== by 0x51D96BD: Curl_open (url.c:479) ==165987== by 0x515120F: curl_easy_init (easy.c:365) ==165987== by 0x403AE0C: test_lib1576.lto_priv.0 (lib1576.c:59) ==165987== by 0x40034B5: main (first.c:279) ==165987== === End of file valgrind1576 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/12/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:36641/1572 > log/12/stdout1572 2> log/12/stderr1572 1572: 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 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/12/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:36641/1572 > log/12/stdout1572 2> log/12/stderr1572 === End of file commands.log === Start of file http_server.log 17:51:20.402910 ====> Client connect 17:51:20.402957 accept_connection 3 returned 4 17:51:20.402978 accept_connection 3 returned 0 17:51:20.402995 Read 93 bytes 17:51:20.403005 Process 93 bytes request 17:51:20.403019 Got request: GET /verifiedserver HTTP/1.1 17:51:20.403028 Are-we-friendly question received 17:51:20.403055 Wrote request (93 bytes) input to log/12/server.input 17:51:20.403073 Identifying ourselves as friends 17:51:20.403158 Response sent (56 bytes) and written to log/12/server.response 17:51:20.403168 special request received, no persistency 17:51:20.403177 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 33766 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file stderr1572 URL: http://127.0.0.1:36641/1572 === End of file stderr1572 === Start of file valgrind1572 ==165770== ==165770== Process terminating with default action of signal 4 (SIGILL) ==165770== Illegal opcode at address 0x51D97AF ==165770== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==165770== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==165770== by 0x51D97AF: Curl_open (url.c:502) ==165770== by 0x515120F: curl_easy_init (easy.c:365) ==165770== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==165770== by 0x40034B5: main (first.c:279) ==165770== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==165770== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165770== by 0x51D96BD: Curl_open (url.c:479) ==165770== by 0x515120F: curl_easy_init (easy.c:365) ==165770== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==165770== by 0x40034B5: main (first.c:279) ==165770== === End of file valgrind1572 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/16/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:40899/1580 1578 > log/16/stdout1580 2> log/16/stderr1580 1580: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total CMD (33792): ../libtool --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:44137/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/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:33191/1581 > log/6/stdout1581 2> log/6/stderr1581 curl failure? Returned: 132 == Contents of files in the log/16/ 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/16/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:40899/1580 1578 > log/16/stdout1580 2> log/16/stderr1580 === End of file commands.log === Start of file http_server.log 17:51:21.432714 ====> Client connect 17:51:21.432754 accept_connection 3 returned 4 17:51:21.432773 accept_connection 3 returned 0 17:51:21.432945 Read 93 bytes 17:51:21.432961 Process 93 bytes request 17:51:21.432976 Got request: GET /verifiedserver HTTP/1.1 17:51:21.432986 Are-we-friendly question received 17:51:21.433019 Wrote request (93 bytes) input to log/16/server.input 17:51:21.433038 Identifying ourselves as friends 17:51:21.433106 Response sent (56 bytes) and written to log/16/server.response 17:51:21.433119 special request received, no persistency 17:51:21.433129 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 37058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 17 WE ROOLZ: 74819 === End of file server.response === Start of file stderr1580 URL: http://127.0.0.1:40899/1580 === End of file stderr1580 === Start of file valgrind1580 ==166263== ==166263== Process terminating with default action of signal 4 (SIGILL) ==166263== Illegal opcode at address 0x51D97AF ==166263== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166263== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166263== by 0x51D97AF: Curl_open (url.c:502) ==166263== by 0x515120F: curl_easy_init (easy.c:365) ==166263== by 0x403AE0C: test_lib1576.lto_priv.0 (lib1576.c:59) ==166263== by 0x40034B5: main (first.c:279) ==166263== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166263== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166263== by 0x51D96BD: Curl_open (url.c:479) ==166263== by 0x515120F: curl_easy_init (easy.c:365) ==166263== by 0x403AE0C: test_lib1576.lto_priv.0 (lib1576.c:59) ==166263== by 0x40034B5: main (first.c:279) ==166263== === End of file valgrind1580 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:44137/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:44137/1578 > log/10/stdout1578 2> log/10/stderr1578 === End of file commands.log === Start of file http_server.log 17:51:21.266248 ====> Client connect 17:51:21.266291 accept_connection 3 returned 4 17:51:21.266307 accept_connection 3 returned 0 17:51:21.266322 Read 93 bytes 17:51:21.266332 Process 93 bytes request 17:51:21.266346 Got request: GET /verifiedserver HTTP/1.1 17:51:21.266355 Are-we-friendly question received 17:51:21.266378 Wrote request (93 bytes) input to log/10/server.input 17:51:21.266394 Identifying ourselves as friends 17:51:21.266484 Response sent (57 bytes) and written to log/10/server.response 17:51:21.266492 special request received, no persistency 17:51:21.266500 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Established connection to 127.0.0.1 (127.0.0.1 port 44137) from 127.0.0.1 port 56634 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.18.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:44137 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161230 === 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: 18 WE ROOLZ: 161230 === End of file server.response === Start of file stderr1578 URL: http://127.0.0.1:44137/1578 === End of file stderr1578 === Start of file valgrind1578 ==166125== ==166125== Process terminating with default action of signal 4 (SIGILL) ==166125== Illegal opcode at address 0x51D97AF ==166125== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166125== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166125== by 0x51D97AF: Curl_open (url.c:502) ==166125== by 0x515120F: curl_easy_init (easy.c:365) ==166125== by 0x403AE0C: test_lib1576.lto_priv.0 (lib1576.c:59) ==166125== by 0x40034B5: main (first.c:279) ==166125== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166125== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166125== by 0x51D96BD: Curl_open (url.c:479) ==166125== by 0x515120F: curl_easy_init (easy.c:365) ==166125== by 0x403AE0C: test_lib1576.lto_priv.0 (lib1576.c:59) ==166125== by 0x40034B5: main (first.c:279) ==166125== === End of file valgrind1578 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/6/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:33191/1581 > log/6/stdout1581 2> log/6/stderr1581 1581: 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 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/6/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:33191/1581 > log/6/stdout1581 2> log/6/stderr1581 === End of file commands.log === Start of file http_server.log 17:51:21.461084 ====> Client connect 17:51:21.461126 accept_connection 3 returned 4 17:51:21.461145 accept_connection 3 returned 0 17:51:21.461161 Read 93 bytes 17:51:21.461171 Process 93 bytes request 17:51:21.461195 Got request: GET /verifiedserver HTTP/1.1 17:51:21.461206 Are-we-friendly question received 17:51:21.461236 Wrote request (93 bytes) input to log/6/server.input 17:51:21.461260 Identifying ourselves as friends 17:51:21.461330 Response sent (57 bytes) and written to log/6/server.response 17:51:21.461345 special request received, no persistency 17:51:21.461354 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33191... * Established connection to 127.0.0.1 (127.0.0.1 port 33191) from 127.0.0.1 port 47170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33191 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 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/24/valgrind1584 ../src/curl -q --trace-ascii log/24/trace1584 --trace-time http://127.0.0.1:39649/1584 -J -O --output-dir log/24 > log/24/stdout1584 2> log/24/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/23/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:39173/1577 1577 > log/23/stdout1577 2> log/23/stderr1577 CMD (33792): ../libtool --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/valgrind1601 ./unit/units unit1601 - > log/18/stdout1601 2> log/18/stderr1601 :33191 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 164364 === 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: 18 WE ROOLZ: 164364 === End of file server.response === Start of file stderr1581 URL: http://127.0.0.1:33191/1581 === End of file stderr1581 === Start of file valgrind1581 ==166283== ==166283== Process terminating with default action of signal 4 (SIGILL) ==166283== Illegal opcode at address 0x51D97AF ==166283== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166283== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166283== by 0x51D97AF: Curl_open (url.c:502) ==166283== by 0x515120F: curl_easy_init (easy.c:365) ==166283== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==166283== by 0x40034B5: main (first.c:279) ==166283== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166283== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166283== by 0x51D96BD: Curl_open (url.c:479) ==166283== by 0x515120F: curl_easy_init (easy.c:365) ==166283== by 0x4039BCA: test_lib1571.lto_priv.0 (lib1571.c:36) ==166283== by 0x40034B5: main (first.c:279) ==166283== === End of file valgrind1581 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/24/valgrind1584 ../src/curl -q --trace-ascii log/24/trace1584 --trace-time http://127.0.0.1:39649/1584 -J -O --output-dir log/24 > log/24/stdout1584 2> log/24/stderr1584 1584: 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 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/24/valgrind1584 ../src/curl -q --trace-ascii log/24/trace1584 --trace-time http://127.0.0.1:39649/1584 -J -O --output-dir log/24 > log/24/stdout1584 2> log/24/stderr1584 === End of file commands.log === Start of file http_server.log 17:51:21.524545 ====> Client connect 17:51:21.524577 accept_connection 3 returned 4 17:51:21.524593 accept_connection 3 returned 0 17:51:21.524606 Read 93 bytes 17:51:21.524615 Process 93 bytes request 17:51:21.524629 Got request: GET /verifiedserver HTTP/1.1 17:51:21.524637 Are-we-friendly question received 17:51:21.524660 Wrote request (93 bytes) input to log/24/server.input 17:51:21.524675 Identifying ourselves as friends 17:51:21.524728 Response sent (56 bytes) and written to log/24/server.response 17:51:21.524737 special request received, no persistency 17:51:21.524745 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 42170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind1584 ==166447== ==166447== Process terminating with default action of signal 4 (SIGILL) ==166447== Illegal opcode at address 0x4014520 ==166447== at 0x4014520: getparameter (tool_getparam.c:2862) ==166447== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==166447== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==166447== by 0x4003728: main (tool_main.c:186) === End of file valgrind1584 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/23/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:39173/1577 1577 > log/23/stdout1577 2> log/23/stderr1577 1577: 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 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/23/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:39173/1577 1577 > log/23/stdout1577 2> log/23/stderr1577 === End of file commands.log === Start of file http_server.log 17:51:22.296260 ====> Client connect 17:51:22.296312 accept_connection 3 returned 4 17:51:22.296335 accept_connection 3 returned 0 17:51:22.296354 Read 93 bytes 17:51:22.296364 Process 93 bytes request 17:51:22.296380 Got request: GET /verifiedserver HTTP/1.1 17:51:22.296390 Are-we-friendly question received 17:51:22.296424 Wrote request (93 bytes) input to log/23/server.input 17:51:22.296445 Identifying ourselves as friends 17:51:22.296544 Response sent (56 bytes) and written to log/23/server.response 17:51:22.296558 special request received, no persistency 17:51:22.296567 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 59258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file stderr1577 URL: http://127.0.0.1:39173/1577 === End of file stderr1577 === Start of file valgrind1577 ==166171== ==166171== Process terminating with default action of signal 4 (SIGILL) ==166171== Illegal opcode at address 0x51D97AF ==166171== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166171== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166171== by 0x51D97AF: Curl_open (url.c:502) ==166171== by 0x515120F: curl_easy_init (easy.c:365) ==166171== by 0x403AE0C: test_lib1576.lto_priv.0 (lib1576.c:59) ==166171== by 0x40034B5: main (first.c:279) ==166171== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166171== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166171== by 0x51D96BD: Curl_open (url.c:479) ==166171== by 0x515120F: curl_easy_init (easy.c:365) ==166171== by 0x403AE0C: test_lib1576.lto_priv.0 (lib1576.c:59) ==166171== by 0x40034B5: main (first.c:279) ==166171== === End of file valgrind1577 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/18/valgrind1601 ./unit/units unit1601 - > log/18/stdout1601 2> log/18/stderr1601 units returned 132, when expecting 0 1601: exit FAILED == Contents of files in the log/18/ 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/18/valgrind1601 ./CMD (33792): ../libtool --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/valgrind1585 ../src/curl -q --trace-ascii log/2/trace1585 --trace-time http://127.0.0.1:38779/1585 -J -O --output-dir log/2 > log/2/stdout1585 2> log/2/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/17/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:44593/1579 1579 > log/17/stdout1579 2> log/17/stderr1579 unit/units unit1601 - > log/18/stdout1601 2> log/18/stderr1601 === End of file commands.log === Start of file server.cmd Testnum 1601 === End of file server.cmd === Start of file stderr1601 URL: - === End of file stderr1601 === Start of file valgrind1601 ==167215== ==167215== Process terminating with default action of signal 4 (SIGILL) ==167215== Illegal opcode at address 0x40106E8 ==167215== at 0x40106E8: test_unit1601.lto_priv.0 (unit1601.c:42) ==167215== by 0x400B165: main (first.c:279) === End of file valgrind1601 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 stderr1592 URL: http://a-site-never-accessed.example.org/1592 === End of file stderr1592 === Start of file valgrind1592 ==166349== ==166349== Process terminating with default action of signal 4 (SIGILL) ==166349== Illegal opcode at address 0x51A0F00 ==166349== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==166349== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==166349== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==166349== by 0x40393BB: UnknownInlinedFun (lib1592.c:52) ==166349== by 0x40393BB: test_lib1592.lto_priv.0 (lib1592.c:41) ==166349== by 0x40034B5: main (first.c:279) ==166349== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==166349== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166349== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==166349== by 0x40393BB: UnknownInlinedFun (lib1592.c:52) ==166349== by 0x40393BB: test_lib1592.lto_priv.0 (lib1592.c:41) ==166349== by 0x40034B5: main (first.c:279) ==166349== === End of file valgrind1592 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/2/valgrind1585 ../src/curl -q --trace-ascii log/2/trace1585 --trace-time http://127.0.0.1:38779/1585 -J -O --output-dir log/2 > log/2/stdout1585 2> log/2/stderr1585 1585: 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 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/2/valgrind1585 ../src/curl -q --trace-ascii log/2/trace1585 --trace-time http://127.0.0.1:38779/1585 -J -O --output-dir log/2 > log/2/stdout1585 2> log/2/stderr1585 === End of file commands.log === Start of file http_server.log 17:51:21.587962 ====> Client connect 17:51:21.587998 accept_connection 3 returned 4 17:51:21.588018 accept_connection 3 returned 0 17:51:21.588033 Read 93 bytes 17:51:21.588043 Process 93 bytes request 17:51:21.588056 Got request: GET /verifiedserver HTTP/1.1 17:51:21.588068 Are-we-friendly question received 17:51:21.588107 Wrote request (93 bytes) input to log/2/server.input 17:51:21.588127 Identifying ourselves as friends 17:51:21.588194 Response sent (56 bytes) and written to log/2/server.response 17:51:21.588207 special request received, no persistency 17:51:21.588216 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 46294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 17 WE ROOLZ: 76626 === End of file server.response === Start of file valgrind1585 ==166499== ==166499== Process terminating with default action of signal 4 (SIGILL) ==166499== Illegal opcode at address 0x4014520 ==166499== at 0x4014520: getparameter (tool_getparam.c:2862) ==166499== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==166499== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==166499== by 0x4003728: main (tool_main.c:186) === End of file valgrind1585 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/17/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:44593/1579 1579 > log/17/stdout1579 2> log/17/stderr1579 1579: 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 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/17/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:44593/1579 1579 > log/17/stdout1579 2> log/17/stderr1579 === End of file commands.log === Start of file http_server.log 17:51:21.408318 ====> Client connect 17:51:21.408382 accept_connection 3 returned 4 17:51:21.408400 accept_connection 3 returned 0 17:51:21.408415 Read 93 bytes 17:51:21.408425 Process 93 bytes request 17:51:21.408439 Got request: GET /verifiedserver HTTP/1.1 17:51:21.408448 Are-we-friendly question received 17:51:21.408477 Wrote request (93 bytes) input to log/17/server.input 17:51:21.408497 Identifying ourselves as friends 17:51:21.408564 Response sent (56 bytes) and written to log/17/server.response 17:51:21.408577 special request received, no persistency 17:51:21.408586 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 37096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file stderr1579 URL: http://127.0.0.1:44593/1579 === End of file stderr1579 === Start of file valgrind1579 ==166218== ==166218== Process terminating with default action of signal 4 (SIGILL) ==166218== Illegal opcode at address 0x51D97AF ==166218== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166218== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166218== by 0x51D97AF: Curl_open (url.c:502) ==166218== by 0x515120F:CMD (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/7/valgrind1603 ./unit/units unit1603 - > log/7/stdout1603 2> log/7/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/4/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:34411/bzz/1591 log/4/stdout1591 2> log/4/stderr1591 CMD (33792): ../libtool --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/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:46875/1594 > log/5/stdout1594 2> log/5/stderr1594 curl_easy_init (easy.c:365) ==166218== by 0x403AE0C: test_lib1576.lto_priv.0 (lib1576.c:59) ==166218== by 0x40034B5: main (first.c:279) ==166218== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166218== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166218== by 0x51D96BD: Curl_open (url.c:479) ==166218== by 0x515120F: curl_easy_init (easy.c:365) ==166218== by 0x403AE0C: test_lib1576.lto_priv.0 (lib1576.c:59) ==166218== by 0x40034B5: main (first.c:279) ==166218== === End of file valgrind1579 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/7/valgrind1603 ./unit/units unit1603 - > log/7/stdout1603 2> log/7/stderr1603 -------e-v- OK (1527 out of 1760, remaining: 00:23, took 1.032s, duration: 02:32) 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/4/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:34411/bzz/1591 log/4/stdout1591 2> log/4/stderr1591 1591: 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 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/4/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:34411/bzz/1591 log/4/stdout1591 2> log/4/stderr1591 === End of file commands.log === Start of file http_server.log 17:51:21.596246 ====> Client connect 17:51:21.596289 accept_connection 3 returned 4 17:51:21.596307 accept_connection 3 returned 0 17:51:21.596322 Read 93 bytes 17:51:21.596332 Process 93 bytes request 17:51:21.596346 Got request: GET /verifiedserver HTTP/1.1 17:51:21.596355 Are-we-friendly question received 17:51:21.596381 Wrote request (93 bytes) input to log/4/server.input 17:51:21.596397 Identifying ourselves as friends 17:51:21.596467 Response sent (56 bytes) and written to log/4/server.response 17:51:21.596477 special request received, no persistency 17:51:21.596486 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 57770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file stderr1591 URL: http://127.0.0.1:34411/bzz/1591 === End of file stderr1591 === Start of file stdin-for-1591 more than one byte === End of file stdin-for-1591 === Start of file valgrind1591 ==166500== ==166500== Process terminating with default action of signal 4 (SIGILL) ==166500== Illegal opcode at address 0x51D97AF ==166500== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166500== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166500== by 0x51D97AF: Curl_open (url.c:502) ==166500== by 0x515120F: curl_easy_init (easy.c:365) ==166500== by 0x403B14C: test_lib1591.lto_priv.0 (lib1591.c:87) ==166500== by 0x40034B5: main (first.c:279) ==166500== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166500== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166500== by 0x51D96BD: Curl_open (url.c:479) ==166500== by 0x515120F: curl_easy_init (easy.c:365) ==166500== by 0x403B14C: test_lib1591.lto_priv.0 (lib1591.c:87) ==166500== by 0x40034B5: main (first.c:279) ==166500== === End of file valgrind1591 CMD (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/3/valgrind1602 ./unit/units unit1602 - > log/3/stdout1602 2> log/3/stderr1602 CMD (33792): ../libtool --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/valgrind1590 ./libtest/libtests lib1553 imap://localhost:44265/1590 > log/13/stdout1590 2> log/13/stderr1590 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/5/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:46875/1594 > log/5/stdout1594 2> log/5/stderr1594 1594: stdout FAILED: --- log/5/check-expected 2026-01-28 17:51:24.399888704 +0000 +++ log/5/check-generated 2026-01-28 17:51:24.399888704 +0000 @@ -1 +0,0 @@ -Retry-After 22[LF] == Contents of files in the log/5/ 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/5/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:46875/1594 > log/5/stdout1594 2> log/5/stderr1594 === End of file commands.log === Start of file http_server.log 17:51:22.065755 ====> Client connect 17:51:22.065802 accept_connection 3 returned 4 17:51:22.065822 accept_connection 3 returned 0 17:51:22.076385 Read 93 bytes 17:51:22.076412 Process 93 bytes request 17:51:22.076427 Got request: GET /verifiedserver HTTP/1.1 17:51:22.076436 Are-we-friendly question received 17:51:22.076487 Wrote request (93 bytes) input to log/5/server.input 17:51:22.076508 Identifying ourselves as friends 17:51:22.076567 Response sent (56 bytes) and written to log/5/server.response 17:51:22.076577 special request received, no persistency 17:51:22.076585 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 57458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file stderr1594 URL: http://127.0.0.1:46875/1594 === End of file stderr1594 === Start of file valgrind1594 ==166786== ==166786== Process terminating with default action of signal 4 (SIGILL) ==166786== Illegal opcode at address 0x51D97AF ==166786== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166786== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166786== by 0x51D97AF: Curl_open (url.c:502) ==166786== by 0x515120F: curl_easy_init (easy.c:365) ==166786== by 0x403E1D9: UnknownInlinedFun (lib1594.c:38) ==166786== by 0x403E1D9: test_lib1594.lto_priv.0 (lib1594.c:29) ==166786== by 0x40034B5: main (first.c:279) ==166786== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166786== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166786== by 0x51D96BD: Curl_open (url.c:479) ==166786== by 0x515120F: curl_easy_init (easy.c:365) ==166786== by 0x403E1D9: UnknownInlinedFun (lib1594.c:38) ==166786== by 0x403E1D9: test_lib1594.lto_priv.0 (lib1594.c:29) ==166786== by 0x40034B5: main (first.c:279) ==166786== === End of file valgrind1594 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/3/valgrind1602 ./unit/units unit1602 - > log/3/stdout1602 2> log/3/stderr1602 -------e-v- OK (1526 out of 1760, remaining: 00:23, took 1.520s, duration: 02:32) 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/13/valgrind1590 ./libtest/libtests lib1553 imap://localhost:44265/1590 > log/13/stdout1590 2> log/13/stderr1590 libtests returned 132, when expecting 0 1590: exit FAILED == Contents of files in the log/13/ 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/13/valgrind1590 ./libtest/libtests lib1553 imap://localhost:44265/1590 > log/13/stdout1590 2> log/13/stderr1590 === End of file commands.log === Start of file imap_server.log 17:51:21.726722 ====> Client connect 17:51:21.726891 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:51:21.730361 < "A001 CAPABILITY" 17:51:21.736803 > "A001 BAD Command[CR][LF]" 17:51:21.737175 < "A002 LIST "verifiedserver" *" 17:51:21.737214 LIST_imap got "verifiedserver" * 17:51:21.737248 > "* LIST () "/" "WE ROOLZ: 119592"[CR][LF]" 17:51:21.737270 > "A002 OK LIST Completed[CR][LF]" 17:51:21.737286 return proof we are we 17:51:21.784281 < "A003 LOGOUT" 17:51:21.784350 > "* BYE curl IMAP server signing off[CR][LF]" 17:51:21.784379 > "A003 OK LOGOUT completed[CR][LF]" 17:51:21.785703 MAIN sockfilt said DISC 17:51:21.785739 ====> Client disconnected 17:51:21.785834 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:51:21.572761 ====> Client connect 17:51:21.573081 Received DATA (on stdin) 17:51:21.573095 > 164 bytes data, server => client 17:51:21.573106 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:51:21.573116 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:51:21.573126 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:51:21.576317 < 17 bytes data, client => server 17:51:21.576343 'A001 CAPABILITY\r\n' 17:51:21.582843 Received DATA (on stdin) 17:51:21.582891 > 18 bytes data, server => client 17:51:21.583042 'A001 BAD Command\r\n' 17:51:21.583183 < 30 bytes data, client => server 17:51:21.583197 'A002 LIST "verifiedserver" *\r\n' 17:51:21.583462 Received DATA (on stdin) 17:51:21.583475 > 34 bytes data, server => client 17:51:21.583486 '* LIST () "/" "WE ROOLZ: 119592"\r\n' 17:51:21.583508 Received DATA (on stdin) 17:51:21.583518 > 24 bytes data, server => client 17:51:21.583529 'A002 OK LIST Completed\r\n' 17:51:21.630234 < 13 bytes data, client => server 17:51:21.630270 'A003 LOGOUT\r\n' 17:51:21.630562 Received DATA (on stdin) 17:51:21.630576 > 36 bytes data, server => client 17:51:21.630588 '* BYE curl IMAP server signing off\r\n' 17:51:21.630612 Received DATA (on stdin) 17:51:21.630624 > 26 bytes data, server => client 17:51:21.630635 'A003 OK LOGOUT completed\r\n' 17:51:21.631823 ====> Client disconnect 17:51:21.632014 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 stderr1590 URL: imap://localhost:44265/1590 === End of file stderr1590 === Start of file valgrind1590 ==166561== ==166561== Process terminating with default action of signal 4 (SIGILL) ==166561== Illegal opcode at address 0x51A0F00 ==166561== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==166561== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==166561== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==166561== by 0x4035704: UnknownInlinedFun (lib1553.c:56) ==166561== by 0x4035704: test_lib1553.lto_priv.0 (lib1553.c:41) ==166561== by 0x40034B5: main (first.c:279) ==166561== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==166561== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166561== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==166561== by 0x4035704: UnknownInlinedFun (lib1553CMD (33792): ../libtool --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/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:37569/1596 > log/14/stdout1596 2> log/14/stderr1596 .c:56) ==166561== by 0x4035704: test_lib1553.lto_priv.0 (lib1553.c:41) ==166561== by 0x40034B5: main (first.c:279) ==166561== === End of file valgrind1590 CMD (33792): ../libtool --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/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:41057/1593 > log/15/stdout1593 2> log/15/stderr1593 CMD (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/valgrind1604 ./tunit/tunits tool1604 - > log/8/stdout1604 2> log/8/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/9/valgrind1600 ./unit/units unit1600 - > log/9/stdout1600 2> log/9/stderr1600 CMD (33792): ../libtool --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/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:39589/bzz/1598 log/1/stdout1598 2> log/1/stderr1598 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/14/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:37569/1596 > log/14/stdout1596 2> log/14/stderr1596 1596: stdout FAILED: --- log/14/check-expected 2026-01-28 17:51:24.496555371 +0000 +++ log/14/check-generated 2026-01-28 17:51:24.496555371 +0000 @@ -1 +0,0 @@ -Retry-After 21600[LF] == Contents of files in the log/14/ 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/14/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:37569/1596 > log/14/stdout1596 2> log/14/stderr1596 === End of file commands.log === Start of file http_server.log 17:51:23.215320 ====> Client connect 17:51:23.215358 accept_connection 3 returned 4 17:51:23.215377 accept_connection 3 returned 0 17:51:23.215393 Read 93 bytes 17:51:23.215403 Process 93 bytes request 17:51:23.215418 Got request: GET /verifiedserver HTTP/1.1 17:51:23.215427 Are-we-friendly question received 17:51:23.215456 Wrote request (93 bytes) input to log/14/server.input 17:51:23.215475 Identifying ourselves as friends 17:51:23.215552 Response sent (56 bytes) and written to log/14/server.response 17:51:23.215565 special request received, no persistency 17:51:23.215574 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 40096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file stderr1596 URL: http://127.0.0.1:37569/1596 === End of file stderr1596 === Start of file valgrind1596 ==166926== ==166926== Process terminating with default action of signal 4 (SIGILL) ==166926== Illegal opcode at address 0x51D97AF ==166926== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166926== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166926== by 0x51D97AF: Curl_open (url.c:502) ==166926== by 0x515120F: curl_easy_init (easy.c:365) ==166926== by 0x403E1D9: UnknownInlinedFun (lib1594.c:38) ==166926== by 0x403E1D9: test_lib1594.lto_priv.0 (lib1594.c:29) ==166926== by 0x40034B5: main (first.c:279) ==166926== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166926== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166926== by 0x51D96BD: Curl_open (url.c:479) ==166926== by 0x515120F: curl_easy_init (easy.c:365) ==166926== by 0x403E1D9: UnknownInlinedFun (lib1594.c:38) ==166926== by 0x403E1D9: test_lib1594.lto_priv.0 (lib1594.c:29) ==166926== by 0x40034B5: main (first.c:279) ==166926== === End of file valgrind1596 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/15/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:41057/1593 > log/15/stdout1593 2> log/15/stderr1593 1593: 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 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/15/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:41057/1593 > log/15/stdout1593 2> log/15/stderr1593 === End of file commands.log === Start of file http_server.log 17:51:22.049565 ====> Client connect 17:51:22.049607 accept_connection 3 returned 4 17:51:22.049627 accept_connection 3 returned 0 17:51:22.049642 Read 93 bytes 17:51:22.049653 Process 93 bytes request 17:51:22.049667 Got request: GET /verifiedserver HTTP/1.1 17:51:22.049677 Are-we-friendly question received 17:51:22.049707 Wrote request (93 bytes) input to log/15/server.input 17:51:22.049726 Identifying ourselves as friends 17:51:22.049795 Response sent (56 bytes) and written to log/15/server.response 17:51:22.049807 special request received, no persistency 17:51:22.049816 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 47134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.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:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file stderr1593 URL: http://127.0.0.1:41057/1593 === End of file stderr1593 === Start of file valgrind1593 ==166781== ==166781== Process terminating with default action of signal 4 (SIGILL) ==166781== Illegal opcode at address 0x51D97AF ==166781== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166781== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166781== by 0x51D97AF: Curl_open (url.c:502) ==166781== by 0x515120F: curl_easy_init (easy.c:365) ==166781== by 0x403DDF9: UnknownInlinedFun (lib1593.c:38) ==166781== by 0x403DDF9: test_lib1593.lto_priv.0 (lib1593.c:29) ==166781== by 0x40034B5: main (first.c:279) ==166781== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166781== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166781== by 0x51D96BD: Curl_open (url.c:479) ==166781== by 0x515120F: curl_easy_init (easy.c:365) ==166781== by 0x403DDF9: UnknownInlinedFun (lib1593.c:38) ==166781== by 0x403DDF9: test_lib1593.lto_priv.0 (lib1593.c:29) ==166781== by 0x40034B5: main (first.c:279) ==166781== === End of file valgrind1593 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/8/valgrind1604 ./tunit/tunits tool1604 - > log/8/stdout1604 2> log/8/stderr1604 -------e-v- OK (1528 out of 1760, remaining: 00:23, took 1.318s, duration: 02:32) test 1600...[NTLM 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/valgrind1600 ./unit/units unit1600 - > log/9/stdout1600 2> log/9/stderr1600 units returned 132, when expecting 0 1600: exit FAILED == Contents of files in the log/9/ directory after test 1600 === Start of file commands.log ../libtool --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/valgrind1600 ./unit/units unit1600 - > log/9/stdout1600 2> log/9/stderr1600 === End of file commands.log === Start of file server.cmd Testnum 1600 === End of file 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/22/valgrind1597 ./libtest/libtests lib1597 - > log/22/stdout1597 2> log/22/stderr1597 r.cmd === Start of file stderr1600 URL: - === End of file stderr1600 === Start of file valgrind1600 ==167045== ==167045== Process terminating with default action of signal 4 (SIGILL) ==167045== Illegal opcode at address 0x408094F ==167045== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==167045== by 0x408094F: UnknownInlinedFun (request.c:40) ==167045== by 0x408094F: Curl_open (url.c:502) ==167045== by 0x4040E25: curl_easy_init (easy.c:365) ==167045== by 0x401028B: UnknownInlinedFun (unit1600.c:34) ==167045== by 0x401028B: test_unit1600.lto_priv.0 (unit1600.c:52) ==167045== by 0x400B165: main (first.c:279) ==167045== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==167045== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==167045== by 0x408085D: Curl_open (url.c:479) ==167045== by 0x4040E25: curl_easy_init (easy.c:365) ==167045== by 0x401028B: UnknownInlinedFun (unit1600.c:34) ==167045== by 0x401028B: test_unit1600.lto_priv.0 (unit1600.c:52) ==167045== by 0x400B165: main (first.c:279) ==167045== === End of file valgrind1600 test 1598...[HTTP POST 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/1/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:39589/bzz/1598 log/1/stdout1598 2> log/1/stderr1598 1598: 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 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/1/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:39589/bzz/1598 log/1/stdout1598 2> log/1/stderr1598 === End of file commands.log === Start of file http_server.log 17:51:22.240454 ====> Client connect 17:51:22.240485 accept_connection 3 returned 4 17:51:22.240500 accept_connection 3 returned 0 17:51:22.240514 Read 93 bytes 17:51:22.240523 Process 93 bytes request 17:51:22.240537 Got request: GET /verifiedserver HTTP/1.1 17:51:22.240545 Are-we-friendly question received 17:51:22.240569 Wrote request (93 bytes) input to log/1/server.input 17:51:22.240590 Identifying ourselves as friends 17:51:22.240645 Response sent (56 bytes) and written to log/1/server.response 17:51:22.240655 special request received, no persistency 17:51:22.240664 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 41136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file stderr1598 URL: http://127.0.0.1:39589/bzz/1598 === End of file stderr1598 === Start of file stdin-for-1598 more than one byte === End of file stdin-for-1598 === Start of file valgrind1598 ==166955== ==166955== Process terminating with default action of signal 4 (SIGILL) ==166955== Illegal opcode at address 0x51D97AF ==166955== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166955== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166955== by 0x51D97AF: Curl_open (url.c:502) ==166955== by 0x515120F: curl_easy_init (easy.c:365) ==166955== by 0x403B2F0: test_lib1598.lto_priv.0 (lib1598.c:67) ==166955== by 0x40034B5: main (first.c:279) ==166955== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166955== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166955== by 0x51D96BD: Curl_open (url.c:479) ==166955== by 0x515120F: curl_easy_init (easy.c:365) ==166955== by 0x403B2F0: test_lib1598.lto_priv.0 (lib1598.c:67) ==166955== by 0x40034B5: main (first.c:279) ==166955== === End of file valgrind1598 CMD (33792): ../libtool --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/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:41669/1595 > log/21/stdout1595 2> log/21/stderr1595 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/22/valgrind1597 ./libtest/libtests lib1597 - > log/22/stdout1597 2> log/22/stderr1597 1597: stdout FAILED: --- log/22/check-expected 2026-01-28 17:51:24.749888704 +0000 +++ log/22/check-generated 2026-01-28 17:51:24.749888704 +0000 @@ -1 +0,0 @@ -Tested 15 strings[LF] == Contents of files in the log/22/ 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/22/valgrind1597 ./libtest/libtests lib1597 - > log/22/stdout1597 2> log/22/stderr1597 === End of file commands.log === Start of file server.cmd Testnum 1597 === End of file server.cmd === Start of file stderr1597 URL: - === End of file stderr1597 === Start of file valgrind1597 ==166867== ==166867== Process terminating with default action of signal 4 (SIGILL) ==166867== Illegal opcode at address 0x51D97AF ==166867== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166867== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166867== by 0x51D97AF: Curl_open (url.c:502) ==166867== by 0x515120F: curl_easy_init (easy.c:365) ==166867== by 0x403EFCD: UnknownInlinedFun (lib1597.c:71) ==166867== by 0x403EFCD: test_lib1597.lto_priv.0 (lib1597.c:34) ==166867== by 0x40034B5: main (first.c:279) ==166867== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166867== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166867== by 0x51D96BD: Curl_open (url.c:479) ==166867== by 0x515120F: curl_easy_init (easy.c:365) ==166867== by 0x403EFCD: UnknownInlinedFun (lib1597.c:71) ==166867== by 0x403EFCD: test_lib1597.lto_priv.0 (lib1597.c:34) ==166867== by 0x40034B5: main (first.c:279) ==166867== === End of file valgrind1597 CMD (33792): ../libtool --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/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:36233/1599 log/11/netrc1599 > log/11/stdout1599 2> log/11/stderr1599 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/21/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:41669/1595 > log/21/stdout1595 2> log/21/stderr1595 1595: stdout FAILED: --- log/21/check-expected 2026-01-28 17:51:24.779888703 +0000 +++ log/21/check-generated 2026-01-28 17:51:24.779888703 +0000 @@ -1 +0,0 @@ -Retry-After 0[LF] == Contents of files in the log/21/ 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/21/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:41669/1595 > log/21/stdout1595 2> log/21/stderr1595 === End of file commands.log === Start of file http_server.log 17:51:22.189871 ====> Client connect 17:51:22.189910 accept_connection 3 returned 4 17:51:22.189929 accept_connection 3 returned 0 17:51:22.189945 Read 93 bytes 17:51:22.189955 Process 93 bytes request 17:51:22.189969 Got request: GET /verifiedserver HTTP/1.1 17:51:22.189979 Are-we-friendly question received 17:51:22.190010 Wrote request (93 bytes) input to log/21/server.input 17:51:22.190029 Identifying ourselves as friends 17:51:22.190100 Response sent (56 bytes) and written to log/21/server.response 17:51:22.190112 special request received, no persistency 17:51:22.190121 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 34074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stderr1595 URL: http://127.0.0.1:41669/1595 === End of file stderr1595 === Start of file valgrind1595 ==166913== ==166913== Process terminating with default action of signal 4 (SIGILL) ==166913== Illegal opcode at address 0x51D97AF ==166913== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==166913== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==166913== by 0x51D97AF: Curl_open (url.c:502) ==166913== by 0x515120F: curl_easy_init (easy.c:365) ==166913== by 0x403E1D9: UnknownInlinedFun (lib1594.c:38) ==166913== by 0x403E1D9: test_lib1594.lto_priv.0 (lib1594.c:29) ==166913== by 0x40034B5: main (first.c:279) ==166913== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==166913== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166913== by 0x51D96BD: Curl_open (url.c:479) ==166913== by 0x515120F: curl_easy_init (easy.c:365) ==166913== by 0x403E1D9: UnknownInlinedFun (lib1594.c:38) ==166913== by 0x403E1D9: test_lib1594.lto_priv.0 (lib1594.c:29) ==166913== by 0x40034B5: main (first.c:279) ==166913== === End of file valgrind1595 CMD (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/valgrind1614 ./unit/units unit1614 - > log/2/stdout1614 2> log/2/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/23/valgrind1611 ./unit/units unit1611 - > log/23/stdout1611 2> log/23/stderr1611 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/11/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:36233/1599 log/11/netrc1599 > log/11/stdout1599 2> log/11/stderr1599 1599: data FAILED: --- log/11/check-expected 2026-01-28 17:51:24.909888703 +0000 +++ log/11/check-generated 2026-01-28 17:51:24.909888703 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/11/ 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/11/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:36233/1599 log/11/netrc1599 > log/11/stdout1599 2> log/11/stderr1599 === End of file commands.log === Start of file ftp_server.log 17:51:22.470131 ====> Client connect 17:51:22.470317 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:22.471526 < "USER anonymous" 17:51:22.471579 > "331 We are happy you popped in![CR][LF]" 17:51:22.471743 < "PASS ftp@example.com" 17:51:22.471769 > "230 Welcome you silly person[CR][LF]" 17:51:22.471914 < "PWD" 17:51:22.471948 > "257 "/" is current directory[CR][LF]" 17:51:22.472105 < "EPSV" 17:51:22.472130 ====> Passive DATA channel requested by client 17:51:22.472144 DATA sockfilt for passive data channel starting... 17:51:22.475397 DATA sockfilt for passive data channel started (pid 167029) 17:51:22.475521 DATA sockfilt for passive data channel listens on port 45059 17:51:22.475569 > "229 Entering Passive Mode (|||45059|)[CR][LF]" 17:51:22.475589 Client has been notified that DATA conn will be accepted on port 45059 17:51:22.475859 Client connects to port 45059 17:51:22.475888 ====> Client established passive DATA connection on port 45059 17:51:22.475973 < "TYPE I" 17:51:22.476004 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:22.476152 < "SIZE verifiedserver" 17:51:22.476187 > "213 17[CR][LF]" 17:51:22.476326 < "RETR verifiedserver" 17:51:22.476358 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:22.476440 =====> Closing passive DATA connection... 17:51:22.476456 Server disconnects passive DATA connection 17:51:22.476699 Server disconnected passive DATA connection 17:51:22.476726 DATA sockfilt for passive data channel quits (pid 167029) 17:51:22.480141 DATA sockfilt for passive data channel quit (pid 167029) 17:51:22.480173 =====> Closed passive DATA connection 17:51:22.480208 > "226 File transfer complete[CR][LF]" 17:51:22.520630 < "QUIT" 17:51:22.520691 > "221 bye bye baby[CR][LF]" 17:51:22.521814 MAIN sockfilt said DISC 17:51:22.521847 ====> Client disconnected 17:51:22.521940 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:22.316177 ====> Client connect 17:51:22.316507 Received DATA (on stdin) 17:51:22.316523 > 146 bytes data, server => client 17:51:22.316536 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:22.316547 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:22.316556 '220 \___|\___/|_| \_\_____|\r\n' 17:51:22.317487 < 16 bytes data, client => server 17:51:22.317514 'USER anonymous\r\n' 17:51:22.317759 Received DATA (on stdin) 17:51:22.317770 > 33 bytes data, server => client 17:51:22.317780 '331 We are happy you popped in!\r\n' 17:51:22.317831 < 22 bytes data, client => server 17:51:22.317843 'PASS ftp@example.com\r\n' 17:51:22.317944 Received DATA (on stdin) 17:51:22.317954 > 30 bytes data, server => client 17:51:22.317963 '230 Welcome you silly person\r\n' 17:51:22.318009 < 5 bytes data, client => server 17:51:22.318019 'PWD\r\n' 17:51:22.318123 Received DATA (on stdin) 17:51:22.318134 > 30 bytes data, server => client 17:51:22.318144 '257 "/" is current directory\r\n' 17:51:22.318198 < 6 bytes data, client => server 17:51:22.318209 'EPSV\r\n' 17:51:22.321772 Received DATA (on stdin) 17:51:22.321787 > 39 bytes data, server => client 17:51:22.321799 '229 Entering Passive Mode (|||45059|)\r\n' 17:51:22.321957 < 8 bytes data, client => server 17:51:22.321970 'TYPE I\r\n' 17:51:22.322180 Received DATA (on stdin) 17:51:22.322191 > 33 bytes data, server => client 17:51:22.322202 '200 I modify TYPE as you wanted\r\n' 17:51:22.322248 < 21 bytes data, client => server 17:51:22.322259 'SIZE verifiedserver\r\n' 17:51:22.322361 Received DATA (on stdin) 17:51:22.322371 > 8 bytes data, server => client 17:51:22.322381 '213 17\r\n' 17:51:22.322425 < 21 bytes data, client => server 17:51:22.322435 'RETR verifiedserver\r\n' 17:51:22.322631 Received DATA (on stdin) 17:51:22.322642 > 29 bytes data, server => client 17:51:22.322652 '150 Binary junk (17 bytes).\r\n' 17:51:22.326391 Received DATA (on stdin) 17:51:22.326406 > 28 bytes data, server => client 17:51:22.326417 '226 File transfer complete\r\n' 17:51:22.366589 < 6 bytes data, client => server 17:51:22.366625 'QUIT\r\n' 17:51:22.366876 Received DATA (on stdin) 17:51:22.366889 > 18 bytes data, server => client 17:51:22.366900 '221 bye bye baby\r\n' 17:51:22.367936 ====> Client disconnect 17:51:22.368122 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:22.321229 Running IPv4 version 17:51:22.321304 Listening on port 45059 17:51:22.321346 Wrote pid 167029 to log/11/server/ftp_sockdata.pid 17:51:22.321513 Received PING (on stdin) 17:51:22.321604 Received PORT (on stdin) 17:51:22.321990 ====> Client connect 17:51:22.322705 Received DATA (on stdin) 17:51:22.322718 > 17 bytes data, server => client 17:51:22.322729 'WE ROOLZ: 80983\r\n' 17:51:22.322754 Received DISC (on stdin) 17:51:22.322765 ====> Client forcibly disconnected 17:51:22.322912 Received QUIT (on stdin) 17:51:22.322923 quits 17:51:22.326137 ============> 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 stderr1599 URL: ftp://127.0.0.1:36233/1599 === End of file stderr1599 === Start of file valgrind1599 ==167100== ==167100== Process terminating with default action of signal 4 (SIGILL) ==167100== Illegal opcode at address 0x51D97AF ==167100== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==167100== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==167100== by 0x51D97AF: Curl_open (url.c:502) ==167100== by 0x515120F: curl_easy_init (easy.c:365) ==167100== by 0x4039F0E: UnknownInlinedFun (lib1599.c:32) ==167100== by 0x4039F0E: test_lib1599.lto_priv.0 (lib1599.c:26) ==167100== by 0x40034B5: main (first.c:279) ==167100== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==167100== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==167100== by 0x51D96BD: Curl_open (url.c:479) ==167100== by 0x515120F: curl_easy_init (easy.c:365) ==167100== by 0x4039F0E: UnknownInlinedFun (lib1599.c:32) ==167100== by 0x4039F0E: test_lib1599.lto_priv.0 (lib1599.c:26) ==167100== by 0x40034B5: main (first.c:279) ==167100== === End of file valgrind1599 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/2/valgrind1614 ./unit/units unit1614 - > log/2/stdout1614 2> log/2/stderr1614 -------e-v- OK (1538 out of 1760, remaining: 00:22, took 1.131s, duration: 02:33) 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/23/valgrind161CMD (33792): ../libtool --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/valgrind1612 ./unit/units unit1612 - > log/18/stdout1612 2> log/18/stderr1612 CMD (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/7/valgrind1616 ./unit/units unit1616 - > log/7/stdout1616 2> log/7/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/16/valgrind1607 ./unit/units unit1607 - > log/16/stdout1607 2> log/16/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/6/valgrind1609 ./unit/units unit1609 - > 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/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/12/valgrind1606 ./unit/units unit1606 - > log/12/stdout1606 2> log/12/stderr1606 1 ./unit/units unit1611 - > log/23/stdout1611 2> log/23/stderr1611 units returned 132, when expecting 0 1611: exit FAILED == Contents of files in the log/23/ 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/23/valgrind1611 ./unit/units unit1611 - > log/23/stdout1611 2> log/23/stderr1611 === End of file commands.log === Start of file server.cmd Testnum 1611 === End of file server.cmd === Start of file stderr1611 URL: - === End of file stderr1611 === Start of file valgrind1611 ==167605== ==167605== Process terminating with default action of signal 4 (SIGILL) ==167605== Illegal opcode at address 0x4056F6A ==167605== at 0x4056F6A: UnknownInlinedFun (md4.c:418) ==167605== by 0x4056F6A: Curl_md4it (md4.c:453) ==167605== by 0x4013539: test_unit1611.lto_priv.0 (unit1611.c:38) ==167605== by 0x400B165: main (first.c:279) === End of file valgrind1611 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/18/valgrind1612 ./unit/units unit1612 - > log/18/stdout1612 2> log/18/stderr1612 units returned 132, when expecting 0 1612: exit FAILED == Contents of files in the log/18/ 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/18/valgrind1612 ./unit/units unit1612 - > log/18/stdout1612 2> log/18/stderr1612 === End of file commands.log === Start of file server.cmd Testnum 1612 === End of file server.cmd === Start of file stderr1612 URL: - === End of file stderr1612 === Start of file valgrind1612 ==167658== ==167658== Process terminating with default action of signal 4 (SIGILL) ==167658== Illegal opcode at address 0x40137D6 ==167658== at 0x40137D6: test_unit1612.lto_priv.0 (unit1612.c:47) ==167658== by 0x400B165: main (first.c:279) === End of file valgrind1612 test 1616...[Internal uint_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/7/valgrind1616 ./unit/units unit1616 - > log/7/stdout1616 2> log/7/stderr1616 -------e-v- OK (1540 out of 1760, remaining: 00:21, took 1.279s, duration: 02:33) 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/16/valgrind1607 ./unit/units unit1607 - > log/16/stdout1607 2> log/16/stderr1607 units returned 132, when expecting 0 1607: exit FAILED == Contents of files in the log/16/ 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/16/valgrind1607 ./unit/units unit1607 - > log/16/stdout1607 2> log/16/stderr1607 === End of file commands.log === Start of file server.cmd Testnum 1607 === End of file server.cmd === Start of file stderr1607 URL: - === End of file stderr1607 === Start of file valgrind1607 ==167489== ==167489== Process terminating with default action of signal 4 (SIGILL) ==167489== Illegal opcode at address 0x408094F ==167489== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==167489== by 0x408094F: UnknownInlinedFun (request.c:40) ==167489== by 0x408094F: Curl_open (url.c:502) ==167489== by 0x4040E25: curl_easy_init (easy.c:365) ==167489== by 0x4030354: test_unit1607.part.0.lto_priv.0 (unit1607.c:114) ==167489== by 0x400B165: main (first.c:279) ==167489== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==167489== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==167489== by 0x408085D: Curl_open (url.c:479) ==167489== by 0x4040E25: curl_easy_init (easy.c:365) ==167489== by 0x4030354: test_unit1607.part.0.lto_priv.0 (unit1607.c:114) ==167489== by 0x400B165: main (first.c:279) ==167489== === End of file valgrind1607 test 1609...[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/6/valgrind1609 ./unit/units unit1609 - > log/6/stdout1609 2> log/6/stderr1609 units returned 132, when expecting 0 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 ./unit/units unit1609 - > log/6/stdout1609 2> log/6/stderr1609 === End of file commands.log === Start of file server.cmd Testnum 1609 === End of file server.cmd === Start of file stderr1609 URL: - === End of file stderr1609 === Start of file valgrind1609 ==167536== ==167536== Process terminating with default action of signal 4 (SIGILL) ==167536== Illegal opcode at address 0x408094F ==167536== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==167536== by 0x408094F: UnknownInlinedFun (request.c:40) ==167536== by 0x408094F: Curl_open (url.c:502) ==167536== by 0x4040E25: curl_easy_init (easy.c:365) ==167536== by 0x401290B: UnknownInlinedFun (unit1609.c:110) ==167536== by 0x401290B: test_unit1609.lto_priv.0 (unit1609.c:68) ==167536== by 0x400B165: main (first.c:279) ==167536== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==167536== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==167536== by 0x408085D: Curl_open (url.c:479) ==167536== by 0x4040E25: curl_easy_init (easy.c:365) ==167536== by 0x401290B: UnknownInlinedFun (unit1609.c:110) ==167536== by 0x401290B: test_unit1609.lto_priv.0 (unit1609.c:68) ==167536== by 0x400B165: main (first.c:279) ==167536== === End of file valgrind1609 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 stderr1608 URL: - === End of file stderr1608 === Start of file valgrind1608 ==167521== ==167521== Process terminating with default action of signal 4 (SIGILL) ==167521== Illegal opcode at address 0x408094F ==167521== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==167521== by 0x408094F: UnknownInlinedFun (request.c:40) ==167521== by 0x408094F: Curl_open (url.c:502) ==167521== by 0x4040E25: curl_easy_init (easy.c:365) ==167521== by 0x401273F: test_unit1608.lto_priv.0 (unit1608.c:53) ==167521== by 0x400B165: main (first.c:279) ==167521== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==167521== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==167521== by 0x408085D: Curl_open (url.c:479) ==167521== by 0x4040E25: curl_easy_init (easy.c:365) ==167521== by 0x401273F: test_unit1608.lto_priv.0 (unit1608.c:53) ==167521== by 0x400B165: main (first.c:279) ==167521== === End of file valgrind1608 test 1606...[verify speedcheck] ../libtCMD (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/valgrind1651 ./unit/units unit1651 - > log/21/stdout1651 2> log/21/stderr1651 CMD (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/13/valgrind1622 ./tunit/tunits tool1622 - > log/13/stdout1622 2> log/13/stderr1622 CMD (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/15/valgrind1636 ./unit/units unit1636 log/15/1636 > log/15/stdout1636 2> log/15/stderr1636 CMD (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/11/valgrind1653 ./unit/units unit1653 - > log/11/stdout1653 2> log/11/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/19/valgrind1605 ./unit/units unit1605 - > log/19/stdout1605 2> log/19/stderr1605 CMD (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/valgrind1650 ./unit/units unit1650 - > log/22/stdout1650 2> log/22/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/17/valgrind1615 ./unit/units unit1615 - > log/17/stdout1615 2> log/17/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/3/valgrind1621 ./tunit/tunits tool1621 - > log/3/stdout1621 2> log/3/stderr1621 ool --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/valgrind1606 ./unit/units unit1606 - > log/12/stdout1606 2> log/12/stderr1606 units returned 132, when expecting 0 1606: exit FAILED == Contents of files in the log/12/ 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/12/valgrind1606 ./unit/units unit1606 - > log/12/stdout1606 2> log/12/stderr1606 === End of file commands.log === Start of file server.cmd Testnum 1606 === End of file server.cmd === Start of file stderr1606 URL: - === End of file stderr1606 === Start of file valgrind1606 ==167431== ==167431== Process terminating with default action of signal 4 (SIGILL) ==167431== Illegal opcode at address 0x408094F ==167431== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==167431== by 0x408094F: UnknownInlinedFun (request.c:40) ==167431== by 0x408094F: Curl_open (url.c:502) ==167431== by 0x4040E25: curl_easy_init (easy.c:365) ==167431== by 0x401211B: UnknownInlinedFun (unit1606.c:34) ==167431== by 0x401211B: test_unit1606.lto_priv.0 (unit1606.c:83) ==167431== by 0x400B165: main (first.c:279) ==167431== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==167431== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==167431== by 0x408085D: Curl_open (url.c:479) ==167431== by 0x4040E25: curl_easy_init (easy.c:365) ==167431== by 0x401211B: UnknownInlinedFun (unit1606.c:34) ==167431== by 0x401211B: test_unit1606.lto_priv.0 (unit1606.c:83) ==167431== by 0x400B165: main (first.c:279) ==167431== === End of file valgrind1606 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/21/valgrind1651 ./unit/units unit1651 - > log/21/stdout1651 2> log/21/stderr1651 -------e-v- OK (1553 out of 1760, remaining: 00:20, took 1.321s, duration: 02:34) 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/13/valgrind1622 ./tunit/tunits tool1622 - > log/13/stdout1622 2> log/13/stderr1622 s------e-v- OK (1544 out of 1760, remaining: 00:21, took 1.644s, duration: 02:34) 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/15/valgrind1636 ./unit/units unit1636 log/15/1636 > log/15/stdout1636 2> log/15/stderr1636 s------e-v- OK (1551 out of 1760, remaining: 00:20, took 1.434s, duration: 02:34) 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/11/valgrind1653 ./unit/units unit1653 - > log/11/stdout1653 2> log/11/stderr1653 -------e-v- OK (1555 out of 1760, remaining: 00:20, took 1.354s, duration: 02:34) 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/19/valgrind1605 ./unit/units unit1605 - > log/19/stdout1605 2> log/19/stderr1605 units returned 132, when expecting 0 1605: exit FAILED == Contents of files in the log/19/ 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/19/valgrind1605 ./unit/units unit1605 - > log/19/stdout1605 2> log/19/stderr1605 === End of file commands.log === Start of file server.cmd Testnum 1605 === End of file server.cmd === Start of file stderr1605 URL: - === End of file stderr1605 === Start of file valgrind1605 ==167418== ==167418== Process terminating with default action of signal 4 (SIGILL) ==167418== Illegal opcode at address 0x408094F ==167418== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==167418== by 0x408094F: UnknownInlinedFun (request.c:40) ==167418== by 0x408094F: Curl_open (url.c:502) ==167418== by 0x4040E25: curl_easy_init (easy.c:365) ==167418== by 0x4011DE7: UnknownInlinedFun (unit1605.c:33) ==167418== by 0x4011DE7: test_unit1605.lto_priv.0 (unit1605.c:51) ==167418== by 0x400B165: main (first.c:279) ==167418== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==167418== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==167418== by 0x408085D: Curl_open (url.c:479) ==167418== by 0x4040E25: curl_easy_init (easy.c:365) ==167418== by 0x4011DE7: UnknownInlinedFun (unit1605.c:33) ==167418== by 0x4011DE7: test_unit1605.lto_priv.0 (unit1605.c:51) ==167418== by 0x400B165: main (first.c:279) ==167418== === End of file valgrind1605 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/22/valgrind1650 ./unit/units unit1650 - > log/22/stdout1650 2> log/22/stderr1650 -------e-v- OK (1552 out of 1760, remaining: 00:20, took 1.575s, duration: 02:34) 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/17/valgrind1615 ./unit/units unit1615 - > log/17/stdout1615 2> log/17/stderr1615 units returned 132, when expecting 0 1615: exit FAILED == Contents of files in the log/17/ 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/17/valgrind1615 ./unit/units unit1615 - > log/17/stdout1615 2> log/17/stderr1615 === End of file commands.log === Start of file server.cmd Testnum 1615 === End of file server.cmd === Start of file stderr1615 URL: - === End of file stderr1615 === Start of file valgrind1615 ==167741== ==167741== Process terminating with default action of signal 4 (SIGILL) ==167741== Illegal opcode at address 0x4013A84 ==167741== at 0x4013A84: test_unit1615.lto_priv.0 (unit1615.c:119) ==167741== by 0x400B165: main (first.c:279) === End of file valgrind1615 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 --num-callers=16 --log-file=log/3/valgrind1621 ./tunit/tunits tool1621 - > log/3/stdout1621 2> log/3/stderr1621 tunits returned 132, when expecting 0 1621: exit FAILED == Contents of files in the log/3/ 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/3/valgrind1621 ./tunit/tunits tool1621 - > log/3/stdout1621 2> log/3/stderr1621 === End of file commands.log === Start of file server.cmd Testnum 1621 === End of file server.cmd === Start of file stderr1621 URL: - === End of file stderr1621 === Start of file valgrind1621 ==167952== ==167952== Process terminating with default action of signal 4 (SIGILL) ==167952== Illegal opcode at address 0x49327BC ==167952== at 0x49327BC: UnknownInlinedFun (string_fortified.h:59) ==167952== by 0x49327BC: UnknownInlinedFun (urlapi.c:1262) ==167952== by 0x49327BC: UnknownInlinedFun (urlapi.c:1708) ==167952== by 0x49327BC: curl_url_set (urlapi.c:1857) ==167952== by 0x400189B: 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/24/valgrind1610 ./unit/units unit1610 - > log/24/stdout1610 2> log/24/stderr1610 CMD (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/7/valgrind1657 ./unit/units unit1657 - > log/7/stdout1657 2> log/7/stderr1657 CMD (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/18/valgrind1656 ./unit/units unit1656 - > log/18/stdout1656 2> log/18/stderr1656 CMD (33792): ../libtool --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/valgrind1613 ../src/curl -q --output log/20/curl1613.out --include --trace-ascii log/20/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:46725/ -H "Testno: 1613" http://www.example.org/ > log/20/stdout1613 2> log/20/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/4/valgrind1617 ../src/curl -q --output log/4/curl1617.out --include --trace-ascii log/4/trace1617 --trace-time http://127.0.0.1:34411/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/4/stdout1617 2> log/4/stderr1617 Fun (tool_xattr.c:52) ==167952== by 0x400189B: test_tool1621 (tool1621.c:73) ==167952== by 0x4001188: main (first.c:279) === End of file valgrind1621 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/24/valgrind1610 ./unit/units unit1610 - > log/24/stdout1610 2> log/24/stderr1610 units returned 132, when expecting 0 1610: exit FAILED == Contents of files in the log/24/ directory after test 1610 === Start of file commands.log ../libtool --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/valgrind1610 ./unit/units unit1610 - > log/24/stdout1610 2> log/24/stderr1610 === End of file commands.log === Start of file server.cmd Testnum 1610 === End of file server.cmd === Start of file stderr1610 URL: - === End of file stderr1610 === Start of file valgrind1610 ==167535== ==167535== Process terminating with default action of signal 4 (SIGILL) ==167535== Illegal opcode at address 0x4013221 ==167535== at 0x4013221: UnknownInlinedFun (unit1610.c:49) ==167535== by 0x4013221: test_unit1610.lto_priv.0 (unit1610.c:35) ==167535== by 0x400B165: main (first.c:279) === End of file valgrind1610 test 1657...[Curl_x509_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/7/valgrind1657 ./unit/units unit1657 - > log/7/stdout1657 2> log/7/stderr1657 -------e-v- OK (1559 out of 1760, remaining: 00:19, took 0.996s, duration: 02:34) test 1656...[Curl_x509_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 -------e-v- OK (1558 out of 1760, remaining: 00:20, took 1.202s, duration: 02:34) 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/20/valgrind1613 ../src/curl -q --output log/20/curl1613.out --include --trace-ascii log/20/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:46725/ -H "Testno: 1613" http://www.example.org/ > log/20/stdout1613 2> log/20/stderr1613 1613: 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 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/20/valgrind1613 ../src/curl -q --output log/20/curl1613.out --include --trace-ascii log/20/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:46725/ -H "Testno: 1613" http://www.example.org/ > log/20/stdout1613 2> log/20/stderr1613 === End of file commands.log === Start of file http_server.log 17:51:24.009261 ====> Client connect 17:51:24.009298 accept_connection 3 returned 4 17:51:24.009313 accept_connection 3 returned 0 17:51:24.009451 Read 93 bytes 17:51:24.009462 Process 93 bytes request 17:51:24.009493 Got request: GET /verifiedserver HTTP/1.1 17:51:24.009501 Are-we-friendly question received 17:51:24.009529 Wrote request (93 bytes) input to log/20/server.input 17:51:24.009545 Identifying ourselves as friends 17:51:24.009600 Response sent (56 bytes) and written to log/20/server.response 17:51:24.009609 special request received, no persistency 17:51:24.009618 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 43756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1613 ==167734== ==167734== Process terminating with default action of signal 4 (SIGILL) ==167734== Illegal opcode at address 0x4014520 ==167734== at 0x4014520: getparameter (tool_getparam.c:2862) ==167734== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==167734== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==167734== by 0x4003728: main (tool_main.c:186) === End of file valgrind1613 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/4/valgrind1617 ../src/curl -q --output log/4/curl1617.out --include --trace-ascii log/4/trace1617 --trace-time http://127.0.0.1:34411/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/4/stdout1617 2> log/4/stderr1617 1617: 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 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/4/valgrind1617 ../src/curl -q --output log/4/curl1617.out --include --trace-ascii log/4/trace1617 --trace-time http://127.0.0.1:34411/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/4/stdout1617 2> log/4/stderr1617 === End of file commands.log === Start of file http_server.log 17:51:24.162030 ====> Client connect 17:51:24.162063 accept_connection 3 returned 4 17:51:24.162078 accept_connection 3 returned 0 17:51:24.162092 Read 93 bytes 17:51:24.162102 Process 93 bytes request 17:51:24.162114 Got request: GET /verifiedserver HTTP/1.1 17:51:24.162123 Are-we-friendly question received 17:51:24.162148 Wrote request (93 bytes) input to log/4/server.input 17:51:24.162163 Identifying ourselves as friends 17:51:24.162217 Response sent (56 bytes) and written to log/4/server.response 17:51:24.162226 special request received, no persistency 17:51:24.162234 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 57782 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind1617 ==167886== ==167886== Process terminating with default action of signal 4 (SIGILL) ==167886== Illegal opcode at address 0x4014520 ==167886== at 0x4014520: getparameter (tool_getparam.c:2862) ==167886== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==167886== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==167886== by 0x4003728: main (tool_main.c:186) === End of fCMD (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/23/valgrind1655 ./unit/units unit1655 - > log/23/stdout1655 2> log/23/stderr1655 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/4 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/4/stdout1705 2> log/4/stderr1705 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -I /startdir/src/curl/tests/../include -d log/23 ascii option1.md option2.md > log/23/stdout1706 2> log/23/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/1/valgrind1635 ../src/curl -q --trace-ascii log/1/trace1635 --trace-time http://127.0.0.1:39589/1635 --retry 1 --fail-with-body > log/1/stdout1635 2> log/1/stderr1635 ile valgrind1617 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/23/valgrind1655 ./unit/units unit1655 - > log/23/stdout1655 2> log/23/stderr1655 -------e-v- OK (1557 out of 1760, remaining: 00:20, took 1.397s, duration: 02:34) test 1705...[managen makes man page] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/4 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/4/stdout1705 2> log/4/stderr1705 valgrind SKIPPED sr-----e--- OK (1576 out of 1760, remaining: 00:18, took 0.106s, duration: 02:34) 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/23 ascii option1.md option2.md > log/23/stdout1706 2> log/23/stderr1706 valgrind SKIPPED sr-----e--- OK (1577 out of 1760, remaining: 00:17, took 0.083s, duration: 02:34) CMD (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/valgrind1658 ./unit/units unit1658 - > log/16/stdout1658 2> log/16/stderr1658 CMD (33792): ../libtool --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/valgrind1652 ./unit/units unit1652 - > log/8/stdout1652 2> log/8/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/5/valgrind1620 ./unit/units unit1620 - > log/5/stdout1620 2> log/5/stderr1620 CMD (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/10/valgrind1661 ./unit/units unit1661 - > log/10/stdout1661 2> log/10/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/9/valgrind1634 ../src/curl -q --output log/9/curl1634.out --include --trace-ascii log/9/trace1634 --trace-time http://127.0.0.1:37413/1634 --retry 1 --fail > log/9/stdout1634 2> log/9/stderr1634 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/1/valgrind1635 ../src/curl -q --trace-ascii log/1/trace1635 --trace-time http://127.0.0.1:39589/1635 --retry 1 --fail-with-body > log/1/stdout1635 2> log/1/stderr1635 1635: stdout FAILED: --- log/1/check-expected 2026-01-28 17:51:26.823222036 +0000 +++ log/1/check-generated 2026-01-28 17:51:26.823222036 +0000 @@ -1,2 +0,0 @@ -moo[LF] -hey[LF] == Contents of files in the log/1/ 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/1/valgrind1635 ../src/curl -q --trace-ascii log/1/trace1635 --trace-time http://127.0.0.1:39589/1635 --retry 1 --fail-with-body > log/1/stdout1635 2> log/1/stderr1635 === End of file commands.log === Start of file http_server.log 17:51:24.645160 ====> Client connect 17:51:24.645194 accept_connection 3 returned 4 17:51:24.645212 accept_connection 3 returned 0 17:51:24.645226 Read 93 bytes 17:51:24.645236 Process 93 bytes request 17:51:24.645250 Got request: GET /verifiedserver HTTP/1.1 17:51:24.645259 Are-we-friendly question received 17:51:24.645287 Wrote request (93 bytes) input to log/1/server.input 17:51:24.645305 Identifying ourselves as friends 17:51:24.645369 Response sent (56 bytes) and written to log/1/server.response 17:51:24.645380 special request received, no persistency 17:51:24.645390 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 41142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind1635 ==168242== ==168242== Process terminating with default action of signal 4 (SIGILL) ==168242== Illegal opcode at address 0x4014520 ==168242== at 0x4014520: getparameter (tool_getparam.c:2862) ==168242== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==168242== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==168242== by 0x4003728: main (tool_main.c:186) === End of file valgrind1635 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/16/valgrind1658 ./unit/units unit1658 - > log/16/stdout1658 2> log/16/stderr1658 -r-----e-v- OK (1560 out of 1760, remaining: 00:19, took 1.204s, duration: 02:35) 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/8/valgrind1652 ./unit/units unit1652 - > log/8/stdout1652 2> log/8/stderr1652 units returned 132, when expecting 0 1652: exit FAILED == Contents of files in the log/8/ 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/8/valgrind1652 ./unit/units unit1652 - > log/8/stdout1652 2> log/8/stderr1652 === End of file commands.log === Start of file server.cmd Testnum 1652 === End of file server.cmd === Start of file stderr1652 URL: - === End of file stderr1652 === Start of file valgrind1652 ==168219== ==168219== Process terminating with default action of signal 4 (SIGILL) ==168219== Illegal opcode at address 0x408094F ==168219== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==168219== by 0x408094F: UnknownInlinedFun (request.c:40) ==168219== by 0x408094F: Curl_open (url.c:502) ==168219== by 0x4040E25: curl_easy_init (easy.c:365) ==168219== by 0x4015F1B: UnknownInlinedFun (unit1652.c:60) ==168219== by 0x4015F1B: test_unit1652.lto_priv.0 (unit1652.c:89) ==168219== by 0x400B165: main (first.c:279) ==168219== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==168219== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==168219== by 0x408085D: Curl_open (url.c:479) ==168219== by 0x4040E25: curl_easy_init (easy.c:365) ==168219== by 0x4015F1B: UnknownInlinedFun (unit1652.c:60) ==168219== by 0x4015F1B: test_unit1652.lto_priv.0 (unit1652.c:89) ==168219== by 0x400B165: main (first.c:279) ==168219== === End of file valgrind1652 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/5/valgrind1620 ./unit/units unit1620 - > log/5/stdout1620 2> log/5/stderr1620 units returned 132, when expecting 0 1620: exit FAILED == Contents of files in the log/5/ 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/5/valgrind1620 ./unit/units unit1620 - > log/5/stdout1620 2> log/5/stderr1620 === End of file commands.log === Start of file server.cmd Testnum 1620 === End of file server.cmd === Start of file stderr1620 URL: - === End of file stderr1620 === Start of file valgrind1620 ==167903== ==167903== Process terminating with default action of signal 4 (SIGILL) ==167903== Illegal opcode at address 0x408094F ==167903== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==167903== by 0x408094F: UnknownInlinedFun (request.c:40) ==167903== by 0x408094F: Curl_open (url.c:502) ==167903== by 0x4014C0F: UnknownInlinedFun (unit1620.c:80) ==167903== by 0x4014C0F: test_unit1620.lto_priv.0 (unit1620.c:69) ==167903== by 0x400B165: main (first.c:279) ==167903== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==167903== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==167903== by 0x408085D: Curl_open (url.c:479) ==167903== by 0x4014C0F: UnknownInlinedFun (unit1620.c:80) ==167903== by 0x4014C0F: test_unit1620.lto_priv.0 (unit1620.c:69) ==167903== by 0x400B165: main (first.c:279) ==167903== === End of file valgrind1620 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/10/valgrind1661 ./unit/units unit1661 - > log/10/stdout1661 2> log/10/stderr1661 -------e-v- OK (1562 out of 1760, remaining: 00:19, took 1.139s, duration: 02:35) 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/9/valgrind1634 ../src/curl -q --output log/9/curl1634.out --include --trace-ascii log/9/trace1634 --trace-time http://127.0.0.1:37413/1634 --retry 1 --fail > log/9/stdout1634 2> log/9/stderr1634 1634: 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 1634 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=CMD (33792): ../libtool --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/valgrind1654 ./unit/units unit1654 log/2/1654 > log/2/stdout1654 2> log/2/stderr1654 yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1634 ../src/curl -q --output log/9/curl1634.out --include --trace-ascii log/9/trace1634 --trace-time http://127.0.0.1:37413/1634 --retry 1 --fail > log/9/stdout1634 2> log/9/stderr1634 === End of file commands.log === Start of file http_server.log 17:51:24.626965 ====> Client connect 17:51:24.627006 accept_connection 3 returned 4 17:51:24.627025 accept_connection 3 returned 0 17:51:24.627041 Read 93 bytes 17:51:24.627052 Process 93 bytes request 17:51:24.627065 Got request: GET /verifiedserver HTTP/1.1 17:51:24.627075 Are-we-friendly question received 17:51:24.627106 Wrote request (93 bytes) input to log/9/server.input 17:51:24.627123 Identifying ourselves as friends 17:51:24.627188 Response sent (56 bytes) and written to log/9/server.response 17:51:24.627200 special request received, no persistency 17:51:24.627209 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 56348 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind1634 ==168196== ==168196== Process terminating with default action of signal 4 (SIGILL) ==168196== Illegal opcode at address 0x4014520 ==168196== at 0x4014520: getparameter (tool_getparam.c:2862) ==168196== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==168196== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==168196== by 0x4003728: main (tool_main.c:186) === End of file valgrind1634 CMD (33792): ../libtool --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/valgrind1633 ../src/curl -q --output log/14/curl1633.out --include --trace-ascii log/14/trace1633 --trace-time http://127.0.0.1:37569/1633 -d moo --retry 1 -L > log/14/stdout1633 2> log/14/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/6/valgrind1660 ./unit/units unit1660 log/6/hsts1660 > log/6/stdout1660 2> log/6/stderr1660 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/2/valgrind1654 ./unit/units unit1654 log/2/1654 > log/2/stdout1654 2> log/2/stderr1654 1654: output (log/2/1654-out) FAILED: --- log/2/check-expected 2026-01-28 17:51:27.676555369 +0000 +++ log/2/check-generated 2026-01-28 17:51:27.676555369 +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 "20121231 00:00:01" 0 0[CR][LF] -h3 example.com 443 h3 shiny.example.com 8443 "20131231 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/2/ directory after test 1654 === Start of file 1654 h2 example.com 443 h3 shiny.example.com 8443 "20191231 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 "20121231 00:00:01" 0 0 h3 example.com 443 h3 shiny.example.com 8443 "20131231 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 "20121231 00:00:01" 0 0[CR][LF] h3 example.com 443 h3 shiny.example.com 8443 "20131231 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/2/valgrind1654 ./unit/units unit1654 log/2/1654 > log/2/stdout1654 2> log/2/stderr1654 === End of file commands.log === Start of file server.cmd Testnum 1654 === End of file server.cmd === Start of file stderr1654 URL: log/2/1654 === End of file stderr1654 === Start of file valgrind1654 ==168513== ==168513== Process terminating with default action of signal 4 (SIGILL) ==168513== Illegal opcode at address 0x408094F ==168513== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==168513== by 0x408094F: UnknownInlinedFun (request.c:40) ==168513== by 0x408094F: Curl_open (url.c:502) ==168513== by 0x4040E25: curl_easy_init (easy.c:365) ==168513== by 0x4017723: test_unit1654.lto_priv.0 (unit1654.c:45) ==168513== by 0x400B165: main (first.c:279) ==168513== 444 bytes in 4 blocks are possibly lost in loss record 698 of 790 ==168513== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==168513== by 0x4021F94: altsvc_createid (altsvc.c:93) ==168513== by 0x4032253: UnknownInlinedFun (altsvc.c:123) ==168513== by 0x4032253: UnknownInlinedFun (altsvc.c:174) ==168513== by 0x4032253: altsvc_load.lto_priv.0 (altsvc.c:220) ==168513== by 0x4017631: UnknownInlinedFun (altsvc.c:307) ==168513== by 0x4017631: test_unit1654.lto_priv.0 (unit1654.c:39) ==168513== by 0x400B165: main (first.c:279) ==168513== ==168513== 5,512 bytes in 1 blocks are definitely lost in loss record 779 of 790 ==168513== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==168513== by 0x408085D: Curl_open (url.c:479) ==168513== by 0x4040E25: curl_easy_init (easy.c:365) ==168513== by 0x4017723: test_unit1654.lto_priv.0 (unit1654.c:45) ==168513== by 0x400B165: main (first.c:279) ==168513== === End of file valgrind1654 CMD (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/12/valgrind1663 ./unit/units unit1663 - > log/12/stdout1663 2> log/12/stderr1663 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/6/valgrind1660 ./unit/units unit1660 log/6/hsts1660 > log/6/stdout1660 2> log/6/stderr1660 1660: stdout FAILED: --- log/6/check-expected 2026-01-28 17:51:27.703222035 +0000 +++ log/6/check-generated 2026-01-28 17:51:27.703222035 +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/6/ 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/6/valgrind1660 ./unit/units unit1660 log/6/hsts1660 > log/6/stdout1660 2> log/6/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 stderr1660 URL: log/6/hsts1660 === End of file stderr1660 === Start of file valgrind1660 ==168706== ==168706== Process terminating with default action of signal 4 (SIGILL) ==168706== Illegal opcode at address 0x408094F ==168706== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==168706== by 0x408094F: UnknownInlinedFun (request.c:40) ==168706== by 0x408094F: Curl_open (url.c:502) ==168706== by 0x4040E25: curl_easy_init (easy.c:365) ==168706== by 0x40189C3: test_unit1660.lto_priv.0 (unit1660.c:116) ==168706== by 0x400B165: main (first.c:279) ==168706== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==168706== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==168706== by 0x408085D: Curl_open (url.c:479) ==168706== by 0x4040E25: curl_easy_init (easy.c:365) ==168706== by 0x40189C3: test_unit1660.lto_priv.0 (unit1660.c:116) ==168706== by 0x400B165: main (first.c:279) ==168706== === End of file valgrind1660 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/14/valgrind1633 ../src/curl -q --output log/14/curl1633.out --include --trace-ascii log/14/trace1633 --trace-time http://127.0.0.1:37569/1633 -d moo --retry 1 -L > log/14/stdout1633 2> log/14/stderr1633 1633: 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 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/14/valgrind1633 ../src/curl -q --output log/14/curl1633.out --include --trace-ascii log/14/trace1633 --trace-time http://127.0.0.1:37569/1633 -d moo --retry 1 -L > log/14/stdout1633 2> log/14/stderr1633 === End of file commands.log === Start of file http_server.log 17:51:25.533315 ====> Client connect 17:51:25.533347 accept_connection 3 returned 4 17:51:25.533366 accept_connection 3 returned 0 17:51:25.539660 Read 93 bytes 17:51:25.539683 Process 93 bytes request 17:51:25.539697 Got request: GET /verifiedserver HTTP/1.1 17:51:25.539705 Are-we-friendly question received 17:51:25.539751 Wrote request (93 bytes) input to log/14/server.input 17:51:25.539768 Identifying ourselves as friends 17:51:25.539823 Response sent (56 bytes) and written to log/14/server.response 17:51:25.539833 special request received, no persistency 17:51:25.539841 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 40120 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 17 WE ROOLZ: 74822 === End of file server.response === Start of file valgrind1633 ==168180== ==168180== Process terminating with default action of signal 4 (SIGILL) ==168180== Illegal opcode at address 0x4014520 ==168180== at 0x4014520: getparameter (tool_getparam.c:2862) ==168180== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==168180== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==168180== by 0x4003728: main (tool_main.c:186) === End of file valgrind1633 test 1663...[unit tests for interface option parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdiCMD (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/valgrind1664 ./unit/units unit1664 - > log/21/stdout1664 2> log/21/stderr1664 CMD (33792): ../libtool --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/valgrind1683 ../src/curl -q --include --trace-ascii log/3/trace1683 --trace-time http://127.0.0.1:45927/1683 -o log/3/exist1683 --no-clobber > log/3/stdout1683 2> log/3/stderr1683 CMD (33792): ../libtool --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/valgrind1665 ../src/curl -q --output log/13/curl1665.out --include --trace-ascii log/13/trace1665 --trace-time http://127.0.0.1:43845/1665 > log/13/stdout1665 2> log/13/stderr1665 CMD (0): /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/3/exist1683.$i"; open(FH, "<", $filename) or die $!; ( eq "to stay the same" and eq "") or die "incorrect $filename" ; close(FH) }' r/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1663 ./unit/units unit1663 - > log/12/stdout1663 2> log/12/stderr1663 -------e-v- OK (1563 out of 1760, remaining: 00:19, took 2.049s, duration: 02:36) 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 s------e-v- OK (1564 out of 1760, remaining: 00:19, took 2.138s, duration: 02:36) prechecked /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/3/exist1683.$i"; open(FH, ">", $filename) or die $!; print FH "to stay the same" ; close(FH) }' test 1683...[HTTP GET without clobber when 100 files already 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/3/valgrind1683 ../src/curl -q --include --trace-ascii log/3/trace1683 --trace-time http://127.0.0.1:45927/1683 -o log/3/exist1683 --no-clobber > log/3/stdout1683 2> log/3/stderr1683 postcheck /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/3/exist1683.$i"; open(FH, "<", $filename) or die $!; ( eq "to stay the same" and eq "") or die "incorrect $filename" ; close(FH) }' curl returned 132, when expecting 23 1683: exit FAILED == Contents of files in the log/3/ directory after test 1683 === Start of file commands.log ../libtool --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/valgrind1683 ../src/curl -q --include --trace-ascii log/3/trace1683 --trace-time http://127.0.0.1:45927/1683 -o log/3/exist1683 --no-clobber > log/3/stdout1683 2> log/3/stderr1683 === End of file commands.log === Start of file exist1683 to stay the same === End of file exist1683 === Start of file exist1683.1 to stay the same === End of file exist1683.1 === Start of file exist1683.10 to stay the same === End of file exist1683.10 === Start of file exist1683.100 to stay the same === End of file exist1683.100 === Start of file exist1683.11 to stay the same === End of file exist1683.11 === Start of file exist1683.12 to stay the same === End of file exist1683.12 === Start of file exist1683.13 to stay the same === End of file exist1683.13 === Start of file exist1683.14 to stay the same === End of file exist1683.14 === Start of file exist1683.15 to stay the same === End of file exist1683.15 === Start of file exist1683.16 to stay the same === End of file exist1683.16 === Start of file exist1683.17 to stay the same === End of file exist1683.17 === Start of file exist1683.18 to stay the same === End of file exist1683.18 === Start of file exist1683.19 to stay the same === End of file exist1683.19 === Start of file exist1683.2 to stay the same === End of file exist1683.2 === Start of file exist1683.20 to stay the same === End of file exist1683.20 === Start of file exist1683.21 to stay the same === End of file exist1683.21 === Start of file exist1683.22 to stay the same === End of file exist1683.22 === Start of file exist1683.23 to stay the same === End of file exist1683.23 === Start of file exist1683.24 to stay the same === End of file exist1683.24 === Start of file exist1683.25 to stay the same === End of file exist1683.25 === Start of file exist1683.26 to stay the same === End of file exist1683.26 === Start of file exist1683.27 to stay the same === End of file exist1683.27 === Start of file exist1683.28 to stay the same === End of file exist1683.28 === Start of file exist1683.29 to stay the same === End of file exist1683.29 === Start of file exist1683.3 to stay the same === End of file exist1683.3 === Start of file exist1683.30 to stay the same === End of file exist1683.30 === Start of file exist1683.31 to stay the same === End of file exist1683.31 === Start of file exist1683.32 to stay the same === End of file exist1683.32 === Start of file exist1683.33 to stay the same === End of file exist1683.33 === Start of file exist1683.34 to stay the same === End of file exist1683.34 === Start of file exist1683.35 to stay the same === End of file exist1683.35 === Start of file exist1683.36 to stay the same === End of file exist1683.36 === Start of file exist1683.37 to stay the same === End of file exist1683.37 === Start of file exist1683.38 to stay the same === End of file exist1683.38 === Start of file exist1683.39 to stay the same === End of file exist1683.39 === Start of file exist1683.4 to stay the same === End of file exist1683.4 === Start of file exist1683.40 to stay the same === End of file exist1683.40 === Start of file exist1683.41 to stay the same === End of file exist1683.41 === Start of file exist1683.42 to stay the same === End of file exist1683.42 === Start of file exist1683.43 to stay the same === End of file exist1683.43 === Start of file exist1683.44 to stay the same === End of file exist1683.44 === Start of file exist1683.45 to stay the same === End of file exist1683.45 === Start of file exist1683.46 to stay the same === End of file exist1683.46 === Start of file exist1683.47 to stay the same === End of file exist1683.47 === Start of file exist1683.48 to stay the same === End of file exist1683.48 === Start of file exist1683.49 to stay the same === End of file exist1683.49 === Start of file exist1683.5 to stay the same === End of file exist1683.5 === Start of file exist1683.50 to stay the same === End of file exist1683.50 === Start of file exist1683.51 to stay the same === End of file exist1683.51 === Start of file exist1683.52 to stay the same === End of file exist1683.52 === Start of file exist1683.53 to stay the same === End of file exist1683.53 === Start of file exist1683.54 to stay the same === End of file exist1683.54 === Start of file exist1683.55 to stay the same === End of file exist1683.55 === Start of file exist1683.56 to stay the same === End of file exist1683.56 === Start of file exist1683.57 to stay the same === End of file exist1683.57 === Start of file exist1683.58 to stay the same === End of file exist1683.58 === Start of file exist1683.59 to stay the same === End of file exist1683.59 === Start of file exist1683.6 to stay the same === End of file exist1683.6 === Start of file exist1683.60 to stay the same === End of file exist1683.60 === Start of file exist1683.61 to stay the same === End of file exist1683.61 === Start of file exist1683.62 to stay the same === End of file exist1683.62 === Start of file exist1683.63 to stay the same === End of file exist1683.63 === Start of file exist1683.64 to stay the same === End of file exist1683.64 === Start of file exist1683.65 to stay the same === End of file exist1683.65 === Start of file exist1683.66 to stay the same === End of file exist1683.66 === Start of file exist1683.67 to stay the same === End of file exist1683.67 === Start of file exist1683.68 to stay the same === End of file exist1683.68 === Start of file exist1683.69 to stay the same === End of file exist1683.69 === Start of file exist1683.7 to stay the same === End of file exist1683.7 === Start of file exist1683.70 to stay the same === End of file exist1683.70 === Start of file exist1683.71 to stay the same === End of file exist1683.71 === Start of file exist1683.72 to stay the same === End of file exist1683.72 === Start of file exist1683.73 to stay the same === End of file exist1683.73 === Start of file exist1683.74 to stay the same === End of file exist1683.74 === Start of file exist1683.75 to stay the same === End of file exist1683.75 === Start of file exist1683.76 to stay the same === End of file exist1683.76 === Start of file exist1683.77 to stay the same === End of file exist1683.77 === Start of file exist1683.78 to stay the same === End of file exist1683.78 === Start of file exist1683.79 to stay the same === End of file exist1683.79 === Start of file exist1683.8 to stay the same === End of file exist1683.8 === Start 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/17/valgrind1682 ../src/curl -q --include --trace-ascii log/17/trace1682 --trace-time http://127.0.0.1:44593/1682 --output-dir log/17 -o exist1682 --no-clobber > log/17/stdout1682 2> log/17/stderr1682 ile exist1683.80 to stay the same === End of file exist1683.80 === Start of file exist1683.81 to stay the same === End of file exist1683.81 === Start of file exist1683.82 to stay the same === End of file exist1683.82 === Start of file exist1683.83 to stay the same === End of file exist1683.83 === Start of file exist1683.84 to stay the same === End of file exist1683.84 === Start of file exist1683.85 to stay the same === End of file exist1683.85 === Start of file exist1683.86 to stay the same === End of file exist1683.86 === Start of file exist1683.87 to stay the same === End of file exist1683.87 === Start of file exist1683.88 to stay the same === End of file exist1683.88 === Start of file exist1683.89 to stay the same === End of file exist1683.89 === Start of file exist1683.9 to stay the same === End of file exist1683.9 === Start of file exist1683.90 to stay the same === End of file exist1683.90 === Start of file exist1683.91 to stay the same === End of file exist1683.91 === Start of file exist1683.92 to stay the same === End of file exist1683.92 === Start of file exist1683.93 to stay the same === End of file exist1683.93 === Start of file exist1683.94 to stay the same === End of file exist1683.94 === Start of file exist1683.95 to stay the same === End of file exist1683.95 === Start of file exist1683.96 to stay the same === End of file exist1683.96 === Start of file exist1683.97 to stay the same === End of file exist1683.97 === Start of file exist1683.98 to stay the same === End of file exist1683.98 === Start of file exist1683.99 to stay the same === End of file exist1683.99 === Start of file http_server.log 17:51:26.255360 ====> Client connect 17:51:26.255396 accept_connection 3 returned 4 17:51:26.255413 accept_connection 3 returned 0 17:51:26.259681 Read 93 bytes 17:51:26.259706 Process 93 bytes request 17:51:26.259722 Got request: GET /verifiedserver HTTP/1.1 17:51:26.259731 Are-we-friendly question received 17:51:26.259775 Wrote request (93 bytes) input to log/3/server.input 17:51:26.259795 Identifying ourselves as friends 17:51:26.259863 Response sent (56 bytes) and written to log/3/server.response 17:51:26.259875 special request received, no persistency 17:51:26.259884 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 60532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === End of file http_verify.out === Start of file server.cmd Testnum 1683 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75287 === End of file server.response === Start of file valgrind1683 ==169150== ==169150== Process terminating with default action of signal 4 (SIGILL) ==169150== Illegal opcode at address 0x4014520 ==169150== at 0x4014520: getparameter (tool_getparam.c:2862) ==169150== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==169150== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==169150== by 0x4003728: main (tool_main.c:186) === End of file valgrind1683 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/13/valgrind1665 ../src/curl -q --output log/13/curl1665.out --include --trace-ascii log/13/trace1665 --trace-time http://127.0.0.1:43845/1665 > log/13/stdout1665 2> log/13/stderr1665 1665: 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 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/13/valgrind1665 ../src/curl -q --output log/13/curl1665.out --include --trace-ascii log/13/trace1665 --trace-time http://127.0.0.1:43845/1665 > log/13/stdout1665 2> log/13/stderr1665 === End of file commands.log === Start of file http_server.log 17:51:27.076804 ====> Client connect 17:51:27.076840 accept_connection 3 returned 4 17:51:27.076858 accept_connection 3 returned 0 17:51:27.076872 Read 93 bytes 17:51:27.076882 Process 93 bytes request 17:51:27.076897 Got request: GET /verifiedserver HTTP/1.1 17:51:27.076906 Are-we-friendly question received 17:51:27.076967 Wrote request (93 bytes) input to log/13/server.input 17:51:27.076986 Identifying ourselves as friends 17:51:27.077043 Response sent (56 bytes) and written to log/13/server.response 17:51:27.077054 special request received, no persistency 17:51:27.077062 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 52660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind1665 ==168884== ==168884== Process terminating with default action of signal 4 (SIGILL) ==168884== Illegal opcode at address 0x4014520 ==168884== at 0x4014520: getparameter (tool_getparam.c:2862) ==168884== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==168884== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==168884== by 0x4003728: main (tool_main.c:186) === 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/19/valgrind1680 ../src/curl -q --include --trace-ascii log/19/trace1680 --trace-time http://127.0.0.1:36987/1680 -o log/19/exist1680 --clobber > log/19/stdout1680 2> log/19/stderr1680 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/17/valgrind1682 ../src/curl -q --include --trace-ascii log/17/trace1682 --trace-time http://127.0.0.1:44593/1682 --output-dir log/17 -o exist1682 --no-clobber > log/17/stdout1682 2> log/17/stderr1682 1682: output (log/17/exist1682.1) FAILED: --- log/17/check-expected 2026-01-28 17:51:28.576555369 +0000 +++ log/17/check-generated 2026-01-28 17:51:28.576555369 +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/17/ 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/17/valgrind1682 ../src/curl -q --include --trace-ascii log/17/trace1682 --trace-time http://127.0.0.1:44593/1682 --output-dir log/17 -o exist1682 --no-clobber > log/17/stdout1682 2> log/17/stderr1682 === End of file commands.log === Start of file exist1682 to stay the same === End of file exist1682 === Start of file http_server.log 17:51:26.249351 ====> Client connect 17:51:26.249386 accept_connection 3 returned 4 17:51:26.249404 accept_connection 3 returned 0 17:51:26.249419 Read 93 bytes 17:51:26.249428 Process 93 bytes request 17:51:26.249440 Got request: GET /verifiedserver HTTP/1.1 17:51:26.249449 Are-we-friendly question received 17:51:26.249575 Wrote request (93 bytes) input to log/17/server.input 17:51:26.249596 Identifying ourselves as friends 17:51:26.249655 Response sent (56 bytes) and written to log/17/server.response 17:51:26.249665 special request received, no persistency 17:51:26.249673 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 37108 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind1682 ==169063== ==169063== Process terminating with default action of signal 4 (SIGILL) ==169063== Illegal opcode at address 0x4014520 ==169063== at 0x4014520: getparameter (tool_getparam.c:2862) ==169063== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==169063== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==169063== by 0x4003728: main (tool_main.c:186) === 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/15/valgrind1670 ../src/curl -q --include --trace-ascii log/15/trace1670 --trace-time http://127.0.0.1:41057/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/15/1670.out > log/15/stdout1670 2> log/15/stderr1670 CMD (33792): ../libtool --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/valgrind1671 ../src/curl -q --include --trace-ascii log/11/trace1671 --trace-time http://127.0.0.1:46439/1671 -w '%{header_json}\n' -o log/11/1671.out > log/11/stdout1671 2> log/11/stderr1671 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/19/valgrind1680 ../src/curl -q --include --trace-ascii log/19/trace1680 --trace-time http://127.0.0.1:36987/1680 -o log/19/exist1680 --clobber > log/19/stdout1680 2> log/19/stderr1680 1680: output (log/19/exist1680) FAILED: --- log/19/check-expected 2026-01-28 17:51:28.696555369 +0000 +++ log/19/check-generated 2026-01-28 17:51:28.696555369 +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/19/ 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/19/valgrind1680 ../src/curl -q --include --trace-ascii log/19/trace1680 --trace-time http://127.0.0.1:36987/1680 -o log/19/exist1680 --clobber > log/19/stdout1680 2> log/19/stderr1680 === End of file commands.log === Start of file exist1680 to be overwritten === End of file exist1680 === Start of file http_server.log 17:51:26.238964 ====> Client connect 17:51:26.239007 accept_connection 3 returned 4 17:51:26.239023 accept_connection 3 returned 0 17:51:26.239037 Read 93 bytes 17:51:26.239045 Process 93 bytes request 17:51:26.239059 Got request: GET /verifiedserver HTTP/1.1 17:51:26.239066 Are-we-friendly question received 17:51:26.239092 Wrote request (93 bytes) input to log/19/server.input 17:51:26.239107 Identifying ourselves as friends 17:51:26.239173 Response sent (56 bytes) and written to log/19/server.response 17:51:26.239182 special request received, no persistency 17:51:26.239189 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 59876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind1680 ==169054== ==169054== Process terminating with default action of signal 4 (SIGILL) ==169054== Illegal opcode at address 0x4014520 ==169054== at 0x4014520: getparameter (tool_getparam.c:2862) ==169054== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==169054== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==169054== by 0x4003728: main (tool_main.c:186) === End of file valgrind1680 CMD (33792): ../libtool --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/valgrind1711 ../src/curl -q --output log/4/curl1711.out --include --trace-ascii log/4/trace1711 --trace-time smtp://127.0.0.1:38357/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/email1711 > log/4/stdout1711 2> log/4/stderr1711 CMD (33792): ../libtool --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/valgrind1681 ../src/curl -q --include --trace-ascii log/22/trace1681 --trace-time http://127.0.0.1:42933/1681 -o log/22/exist1681 --no-clobber -w '%{filename_effective}\n' > log/22/stdout1681 2> log/22/stderr1681 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:41057/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-01-28 17:51:28.773222035 +0000 +++ log/15/check-generated 2026-01-28 17:51:28.763222035 +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:41057/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 17:51:26.114116 ====> Client connect 17:51:26.114156 accept_connection 3 returned 4 17:51:26.114175 accept_connection 3 returned 0 17:51:26.114190 Read 93 bytes 17:51:26.114200 Process 93 bytes request 17:51:26.114214 Got request: GET /verifiedserver HTTP/1.1 17:51:26.114222 Are-we-friendly question received 17:51:26.114250 Wrote request (93 bytes) input to log/15/server.input 17:51:26.114267 Identifying ourselves as friends 17:51:26.114321 Response sent (56 bytes) and written to log/15/server.response 17:51:26.114331 special request received, no persistency 17:51:26.114339 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 47142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind1670 ==168902== ==168902== Process terminating with default action of signal 4 (SIGILL) ==168902== Illegal opcode at address 0x4014520 ==168902== at 0x4014520: getparameter (tool_getparam.c:2862) ==168902== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==168902== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==168902== by 0x4003728: main (tool_main.c:186) === End of file valgrind1670 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/4/valgrind1711 ../src/curl -q --output log/4/curl1711.out --include --trace-ascii log/4/trace1711 --trace-time smtp://127.0.0.1:38357/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/email1711 > log/4/stdout1711 2> log/4/stderr1711 1711: 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 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/4/valgrind1711 ../src/curl -q --output log/4/curl1711.out --include --trace-ascii log/4/trace1711 --trace-time smtp://127.0.0.1:38357/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/email1711 > log/4/stdout1711 2> log/4/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 body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... 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 17:51:26.860024 ====> Client connect 17:51:26.860226 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:26.860648 < "EHLO verifiedserver" 17:51:26.860708 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:26.860944 < "HELP" 17:51:26.860989 > "214 WE ROOLZ: 126447[CR][LF]" 17:51:26.861011 return proof we are we 17:51:26.861260 < "QUIT" 17:51:26.861294 > "221 curl ESMTP server signing off[CR][LF]" 17:51:26.862802 MAIN sockfilt said DISC 17:51:26.862838 ====> Client disconnected 17:51:26.862918 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:26.699739 ====> Client connect 17:51:26.706436 Received DATA (on stdin) 17:51:26.706464 > 146 bytes data, server => client 17:51:26.706476 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:26.706487 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:26.706497 '220 \___|\___/|_| \_\_____|\r\n' 17:51:26.706639 < 21 bytes data, client => server 17:51:26.706658 'EHLO verifiedserver\r\n' 17:51:26.706897 Received DATA (on stdin) 17:51:26.706912 > 53 bytes data, server => client 17:51:26.706924 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:51:26.706999 < 6 bytes data, client => server 17:51:26.707016 'HELP\r\n' 17:51:26.707191 Received DATA (on stdin) 17:51:26.707205 > 22 bytes data, server => client 17:51:26.707215 '214 WE ROOLZ: 126447\r\n' 17:51:26.707335 < 6 bytes data, client => server 17:51:26.707351 'QUIT\r\n' 17:51:26.707474 Received DATA (on stdin) 17:51:26.707487 > 35 bytes data, server => client 17:51:26.707497 '221 curl ESMTP server signing off\r\n' 17:51:26.708920 ====> Client disconnect 17:51:26.709101 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind1711 ==169505== ==169505== Process terminating with default action of signal 4 (SIGILL) ==169505== Illegal opcode at address 0x4014520 ==169505== at 0x4014520: getparameter (tool_getparam.c:2862) ==169505== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==169505== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==169505== by 0x4003728: main (tool_main.c:186) === End of file valgrind1711 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/11/valgrind1671 ../src/curl -q --include --trace-ascii log/11/trace1671 --trace-time http://127.0.0.1:46439/1671 -w '%{header_json}\n' -o log/11/1671.out > log/11/stdout1671 2> log/11/stderr1671 1671: stdout FAILED: --- log/11/check-expected 2026-01-28 17:51:28.799888702 +0000 +++ log/11/check-generated 2026-01-28 17:51:28.799888702 +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/11/ 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/11/valgrind1671 ../src/curl -q --include --trace-ascii log/11/trace1671 --trace-time http://127.0.0.1:46439/1671 -w '%{header_json}\n' -o log/11/1671.out > log/11/stdout1671 2> log/11/stderr1671 === End of file commands.log === Start of file http_server.log 17:51:26.216627 ====> Client connect 17:51:26.216661 accept_connection 3 returned 4 17:51:26.216678 accept_connection 3 returned 0 17:51:26.216693 Read 93 bytes 17:51:26.216702 Process 93 bytes request 17:51:26.216717 Got request: GET /verifiedserver HTTP/1.1 17:51:26.216725 Are-we-friendly question received 17:51:26.216752 Wrote request (93 bytes) input to log/11/server.input 17:51:26.216768 Identifying ourselves as friends 17:51:26.216826 Response sent (56 bytes) and written to log/11/server.response 17:51:26.216836 special request received, no persistency 17:51:26.216845 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 54590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind1671 ==169041== ==169041== Process terminating with default action of signal 4 (SIGILL) ==169041== Illegal opcode at address 0x4014520 ==169041== at 0x4014520: getparameter (tool_getparam.c:2862) ==169041== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==169041== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==169041== by 0x4003728: main (tool_main.c:186) === End of file valgrind1671 CMD (33792): ../libtool --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/valgrind1800 ../src/curl -q --output log/23/curl1800.out --include --trace-ascii log/23/trace1800 --trace-time http://127.0.0.1:39173/1800 --http2 > log/23/stdout1800 2> log/23/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/16/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/16/stdout1900 2> log/16/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/20/valgrind1704 ../src/curl -q --output log/20/curl1704.out --include --trace-ascii log/20/trace1704 --trace-time http://127.0.0.1:46725/1704 --http2 > log/20/stdout1704 2> log/20/stderr1704 CMD (33792): ../libtool --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/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:37569/1906 > log/14/stdout1906 2> log/14/stderr1906 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/22/valgrind1681 ../src/curl -q --include --trace-ascii log/22/trace1681 --trace-time http://127.0.0.1:42933/1681 -o log/22/exist1681 --no-clobber -w '%{filename_effective}\n' > log/22/stdout1681 2> log/22/stderr1681 1681: stdout FAILED: --- log/22/check-expected 2026-01-28 17:51:28.816555368 +0000 +++ log/22/check-generated 2026-01-28 17:51:28.816555368 +0000 @@ -1 +0,0 @@ -log/22/exist1681.1[CR][LF] == Contents of files in the log/22/ directory after test 1681 === Start of file check-expected log/22/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/22/valgrind1681 ../src/curl -q --include --trace-ascii log/22/trace1681 --trace-time http://127.0.0.1:42933/1681 -o log/22/exist1681 --no-clobber -w '%{filename_effective}\n' > log/22/stdout1681 2> log/22/stderr1681 === End of file commands.log === Start of file exist1681 to stay the same === End of file exist1681 === Start of file http_server.log 17:51:26.265458 ====> Client connect 17:51:26.265497 accept_connection 3 returned 4 17:51:26.265515 accept_connection 3 returned 0 17:51:26.265532 Read 93 bytes 17:51:26.265542 Process 93 bytes request 17:51:26.265555 Got request: GET /verifiedserver HTTP/1.1 17:51:26.265564 Are-we-friendly question received 17:51:26.265593 Wrote request (93 bytes) input to log/22/server.input 17:51:26.265611 Identifying ourselves as friends 17:51:26.265672 Response sent (56 bytes) and written to log/22/server.response 17:51:26.265682 special request received, no persistency 17:51:26.265691 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 60634 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 17 WE ROOLZ: 74813 === End of file server.response === Start of file valgrind1681 ==169133== ==169133== Process terminating with default action of signal 4 (SIGILL) ==169133== Illegal opcode at address 0x4014520 ==169133== at 0x4014520: getparameter (tool_getparam.c:2862) ==169133== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==169133== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==169133== by 0x4003728: main (tool_main.c:186) === End of file valgrind1681 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/23/valgrind1800 ../src/curl -q --output log/23/curl1800.out --include --trace-ascii log/23/trace1800 --trace-time http://127.0.0.1:39173/1800 --http2 > log/23/stdout1800 2> log/23/stderr1800 1800: 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 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/23/valgrind1800 ../src/curl -q --output log/23/curl1800.out --include --trace-ascii log/23/trace1800 --trace-time http://127.0.0.1:39173/1800 --http2 > log/23/stdout1800 2> log/23/stderr1800 === End of file commands.log === Start of file http_server.log 17:51:27.716235 ====> Client connect 17:51:27.716283 accept_connection 3 returned 4 17:51:27.716303 accept_connection 3 returned 0 17:51:27.716321 Read 93 bytes 17:51:27.716331 Process 93 bytes request 17:51:27.716345 Got request: GET /verifiedserver HTTP/1.1 17:51:27.716355 Are-we-friendly question received 17:51:27.716382 Wrote request (93 bytes) input to log/23/server.input 17:51:27.716400 Identifying ourselves as friends 17:51:27.716483 Response sent (56 bytes) and written to log/23/server.response 17:51:27.716494 special request received, no persistency 17:51:27.716503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 59266 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind1800 ==169507== ==169507== Process terminating with default action of signal 4 (SIGILL) ==169507== Illegal opcode at address 0x4014520 ==169507== at 0x4014520: getparameter (tool_getparam.c:2862) ==169507== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==169507== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==169507== by 0x4003728: main (tool_main.c:186) === End of file valgrind1800 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/16/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/16/stdout1900 2> log/16/stderr1900 libtests returned 132, when expecting 0 1900: exit FAILED == Contents of files in the log/16/ 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/16/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/16/stdout1900 2> log/16/stderr1900 === End of file commands.log === Start of file server.cmd Testnum 1900 === End of file server.cmd === Start of file stderr1900 URL: http://127.0.0.1:47/not-there/1900 === End of file stderr1900 === Start of file valgrind1900 ==169579== ==169579== Process terminating with default action of signal 4 (SIGILL) ==169579== Illegal opcode at address 0x51D97AF ==169579== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==169579== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==169579== by 0x51D97AF: Curl_open (url.c:502) ==169579== by 0x515120F: curl_easy_init (easy.c:365) ==169579== by 0x403F42C: UnknownInlinedFun (lib1900.c:34) ==169579== by 0x403F42C: test_lib1900.lto_priv.0 (lib1900.c:26) ==169579== by 0x40034B5: main (first.c:279) ==169579== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==169579== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==169579== by 0x51D96BD: Curl_open (url.c:479) ==169579== by 0x515120F: curl_easy_init (easy.c:365) ==169579== by 0x403F42C: UnknownInlinedFun (lib1900.c:34) ==169579== by 0x403F42C: test_lib1900.lto_priv.0 (lib1900.c:26) ==169579== by 0x40034B5: main (first.c:279) ==169579== === End of file valgrind1900 test 1906...[CURLOPT_CURLU and CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-checCMD (33792): ../libtool --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/valgrind1802 ../src/curl -q --output log/1/curl1802.out --include --trace-ascii log/1/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:39589 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/1/stdout1802 2> log/1/stderr1802 k=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:37569/1906 > log/14/stdout1906 2> log/14/stderr1906 1906: 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 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/14/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:37569/1906 > log/14/stdout1906 2> log/14/stderr1906 === End of file commands.log === Start of file http_server.log 17:51:28.669601 ====> Client connect 17:51:28.669660 accept_connection 3 returned 4 17:51:28.669680 accept_connection 3 returned 0 17:51:28.669877 Read 93 bytes 17:51:28.669891 Process 93 bytes request 17:51:28.669903 Got request: GET /verifiedserver HTTP/1.1 17:51:28.669912 Are-we-friendly question received 17:51:28.669944 Wrote request (93 bytes) input to log/14/server.input 17:51:28.669960 Identifying ourselves as friends 17:51:28.670015 Response sent (56 bytes) and written to log/14/server.response 17:51:28.670024 special request received, no persistency 17:51:28.670032 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 42930 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file stderr1906 URL: http://127.0.0.1:37569/1906 === End of file stderr1906 === Start of file valgrind1906 ==169986== ==169986== Process terminating with default action of signal 4 (SIGILL) ==169986== Illegal opcode at address 0x403FE5F ==169986== at 0x403FE5F: test_lib1906.lto_priv.0 (lib1906.c:31) ==169986== by 0x40034B5: main (first.c:279) ==169986== 88 bytes in 1 blocks are definitely lost in loss record 3 of 14 ==169986== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==169986== by 0x403FE5A: test_lib1906.lto_priv.0 (lib1906.c:30) ==169986== by 0x40034B5: main (first.c:279) ==169986== === End of file valgrind1906 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/20/valgrind1704 ../src/curl -q --output log/20/curl1704.out --include --trace-ascii log/20/trace1704 --trace-time http://127.0.0.1:46725/1704 --http2 > log/20/stdout1704 2> log/20/stderr1704 1704: 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 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/20/valgrind1704 ../src/curl -q --output log/20/curl1704.out --include --trace-ascii log/20/trace1704 --trace-time http://127.0.0.1:46725/1704 --http2 > log/20/stdout1704 2> log/20/stderr1704 === End of file commands.log === Start of file http_server.log 17:51:26.552247 ====> Client connect 17:51:26.552282 accept_connection 3 returned 4 17:51:26.552298 accept_connection 3 returned 0 17:51:26.552312 Read 93 bytes 17:51:26.552322 Process 93 bytes request 17:51:26.552337 Got request: GET /verifiedserver HTTP/1.1 17:51:26.552346 Are-we-friendly question received 17:51:26.552372 Wrote request (93 bytes) input to log/20/server.input 17:51:26.552389 Identifying ourselves as friends 17:51:26.552449 Response sent (56 bytes) and written to log/20/server.response 17:51:26.552458 special request received, no persistency 17:51:26.552468 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 43766 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind1704 ==169410== ==169410== Process terminating with default action of signal 4 (SIGILL) ==169410== Illegal opcode at address 0x4014520 ==169410== at 0x4014520: getparameter (tool_getparam.c:2862) ==169410== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==169410== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==169410== by 0x4003728: main (tool_main.c:186) === End of file valgrind1704 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/1/valgrind1802 ../src/curl -q --output log/1/curl1802.out --include --trace-ascii log/1/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:39589 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/1/stdout1802 2> log/1/stderr1802 1802: 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 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/1/valgrind1802 ../src/curl -q --output log/1/curl1802.out --include --trace-ascii log/1/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:39589 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/1/stdout1802 2> log/1/stderr1802 === End of file commands.log === Start of file http_server.log 17:51:26.749978 ====> Client connect 17:51:26.750010 accept_connection 3 returned 4 17:51:26.750027 accept_connection 3 returned 0 17:51:26.750041 Read 93 bytes 17:51:26.750051 Process 93 bytes request 17:51:26.750064 Got request: GET /verifiedserver HTTP/1.1 17:51:26.750073 Are-we-friendly question received 17:51:26.750097 Wrote request (93 bytes) input to log/1/server.input 17:51:26.750114 Identifying ourselves as friends 17:51:26.750170 Response sent (56 bytes) and written to log/1/server.response 17:51:26.750179 special request received, no persistency 17:51:26.750188 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 41154 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file 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/8/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:42045/boom > log/8/stdout1901 2> log/8/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/5/valgrind1902 ./libtest/libtests lib1902 log/5/cookie1902 > log/5/stdout1902 2> log/5/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/6/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:33191/hello/../1907 > log/6/stdout1907 2> log/6/stderr1907 p_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind1802 ==169529== ==169529== Process terminating with default action of signal 4 (SIGILL) ==169529== Illegal opcode at address 0x4014520 ==169529== at 0x4014520: getparameter (tool_getparam.c:2862) ==169529== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==169529== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==169529== by 0x4003728: main (tool_main.c:186) === End of file valgrind1802 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/8/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:42045/boom > log/8/stdout1901 2> log/8/stderr1901 1901: 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 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/8/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:42045/boom > log/8/stdout1901 2> log/8/stderr1901 === End of file commands.log === Start of file http_server.log 17:51:26.938631 ====> Client connect 17:51:26.938669 accept_connection 3 returned 4 17:51:26.938687 accept_connection 3 returned 0 17:51:26.938701 Read 93 bytes 17:51:26.938710 Process 93 bytes request 17:51:26.938724 Got request: GET /verifiedserver HTTP/1.1 17:51:26.938733 Are-we-friendly question received 17:51:26.938759 Wrote request (93 bytes) input to log/8/server.input 17:51:26.938776 Identifying ourselves as friends 17:51:26.938835 Response sent (56 bytes) and written to log/8/server.response 17:51:26.938846 special request received, no persistency 17:51:26.938854 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 40436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file stderr1901 URL: http://127.0.0.1:42045/boom === End of file stderr1901 === Start of file valgrind1901 ==169732== ==169732== Process terminating with default action of signal 4 (SIGILL) ==169732== Illegal opcode at address 0x51D97AF ==169732== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==169732== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==169732== by 0x51D97AF: Curl_open (url.c:502) ==169732== by 0x515120F: curl_easy_init (easy.c:365) ==169732== by 0x403B4C4: test_lib1901.lto_priv.0 (lib1901.c:54) ==169732== by 0x40034B5: main (first.c:279) ==169732== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==169732== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==169732== by 0x51D96BD: Curl_open (url.c:479) ==169732== by 0x515120F: curl_easy_init (easy.c:365) ==169732== by 0x403B4C4: test_lib1901.lto_priv.0 (lib1901.c:54) ==169732== by 0x40034B5: main (first.c:279) ==169732== === End of file valgrind1901 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/5/valgrind1902 ./libtest/libtests lib1902 log/5/cookie1902 > log/5/stdout1902 2> log/5/stderr1902 libtests returned 132, when expecting 0 1902: exit FAILED == Contents of files in the log/5/ 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/5/valgrind1902 ./libtest/libtests lib1902 log/5/cookie1902 > log/5/stdout1902 2> log/5/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 stderr1902 URL: log/5/cookie1902 === End of file stderr1902 === Start of file valgrind1902 ==169682== ==169682== Process terminating with default action of signal 4 (SIGILL) ==169682== Illegal opcode at address 0x51D97AF ==169682== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==169682== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==169682== by 0x51D97AF: Curl_open (url.c:502) ==169682== by 0x515120F: curl_easy_init (easy.c:365) ==169682== by 0x4038786: test_lib1902.lto_priv.0 (lib1902.c:33) ==169682== by 0x40034B5: main (first.c:279) ==169682== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==169682== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==169682== by 0x51D96BD: Curl_open (url.c:479) ==169682== by 0x515120F: curl_easy_init (easy.c:365) ==169682== by 0x4038786: test_lib1902.lto_priv.0 (lib1902.c:33) ==169682== by 0x40034B5: main (first.c:279) ==169682== === End of file valgrind1902 CMD (33792): ../libtool --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/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:44137/we/want/1903 log/10/cookies1903 log/10/cookiesout1903 > log/10/stdout1903 2> log/10/stderr1903 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/6/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:33191/hello/../1907 > log/6/stdout1907 2> log/6/stderr1907 1907: stdout FAILED: --- log/6/check-expected 2026-01-28 17:51:29.136555368 +0000 +++ log/6/check-generated 2026-01-28 17:51:29.136555368 +0000 @@ -1 +0,0 @@ -Effective URL: http://127.0.0.1:33191/1907[LF] == Contents of files in the log/6/ directory after test 1907 === Start of file check-expected Effective URL: http://127.0.0.1:33191/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/6/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:33191/hello/../1907 > log/6/stdout1907 2> log/6/stderr1907 === End of file commands.log === Start of file http_server.log 17:51:27.756251 ====> Client connect 17:51:27.756302 accept_connection 3 returned 4 17:51:27.756323 accept_connection 3 returned 0 17:51:27.756341 Read 93 bytes 17:51:27.756350 Process 93 bytes request 17:51:27.756365 Got request: GET /verifiedserver HTTP/1.1 17:51:27.756373 Are-we-friendly question received 17:51:27.756399 Wrote request (93 bytes) input to log/6/server.input 17:51:27.756416 Identifying ourselves as friends 17:51:27.756507 Response sent (57 bytes) and written to log/6/server.response 17:51:27.756520 special request received, no persistency 17:51:27.756529 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33191... * Established connection to 127.0.0.1 (127.0.0.1 port 33191) from 127.0.0.1 port 43946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33191 > User-Agent: curl/8.18.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:33191 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 164364 === 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: 18 WE ROOLZ: 164364 === End of file server.response === Start of file stderr1907 URL: 127.0.0.1:33191/hello/../1907 === End of file stderr1907 === Start of file valgrind1907 ==170074== ==170074== Process terminating with default action of signal 4 (SIGILL) ==170074== Illegal opcode at address 0x403E36C ==170074== at 0x403E36C: test_lib1907.lto_priv.0 (lib1907.c:31) ==170074== by 0x40034B5: main (first.c:279) === End of file valgrind1907 CMD (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/13/valgrind1912 ./libtest/libtests lib1912 - > log/13/stdout1912 2> log/13/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/2/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:38779/we/want/1905 log/2/cookies1905 > log/2/stdout1905 2> log/2/stderr1905 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/10/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:44137/we/want/1903 log/10/cookies1903 log/10/cookiesout1903 > log/10/stdout1903 2> log/10/stderr1903 1903: output (log/10/cookiesout1903) FAILED: --- log/10/check-expected 2026-01-28 17:51:29.373222034 +0000 +++ log/10/check-generated 2026-01-28 17:51:29.373222034 +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/10/ 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/10/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:44137/we/want/1903 log/10/cookies1903 log/10/cookiesout1903 > log/10/stdout1903 2> log/10/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 17:51:26.985803 ====> Client connect 17:51:26.985847 accept_connection 3 returned 4 17:51:26.985867 accept_connection 3 returned 0 17:51:26.986615 Read 93 bytes 17:51:26.986634 Process 93 bytes request 17:51:26.986649 Got request: GET /verifiedserver HTTP/1.1 17:51:26.986659 Are-we-friendly question received 17:51:26.986698 Wrote request (93 bytes) input to log/10/server.input 17:51:26.986716 Identifying ourselves as friends 17:51:26.986774 Response sent (57 bytes) and written to log/10/server.response 17:51:26.986784 special request received, no persistency 17:51:26.986793 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Established connection to 127.0.0.1 (127.0.0.1 port 44137) from 127.0.0.1 port 56648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.18.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:44137 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161230 === 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: 18 WE ROOLZ: 161230 === End of file server.response === Start of file stderr1903 URL: http://127.0.0.1:44137/we/want/1903 === End of file stderr1903 === Start of file valgrind1903 ==169767== ==169767== Process terminating with default action of signal 4 (SIGILL) ==169767== Illegal opcode at address 0x51D97AF ==169767== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==169767== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==169767== by 0x51D97AF: Curl_open (url.c:502) ==169767== by 0x515120F: curl_easy_init (easy.c:365) ==169767== by 0x403F5EC: UnknownInlinedFun (lib1903.c:32) ==169767== by 0x403F5EC: test_lib1903.lto_priv.0 (lib1903.c:26) ==169767== by 0x40034B5: main (first.c:279) ==169767== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==169767== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==169767== by 0x51D96BD: Curl_open (url.c:479) ==169767== by 0x515120F: curl_easy_init (easy.c:365) ==169767== by 0x403F5EC: UnknownInlinedFun (lib1903.c:32) ==169767== by 0x403F5EC: test_lib1903.lto_priv.0 (lib1903.c:26) ==169767== by 0x40034B5: main (first.c:279) ==169767== === End of file valgrind1903 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/13/valgrind1912 ./libtest/libtests lib1912 - > log/13/stdout1912 2> log/13/stderr1912 -------e-v- OK (1592 out of 1760, remaining: 00:16, took 1.061s, duration: 02:37) 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/2/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:38779/we/want/1905 log/2/cookies1905 > log/2/stdout1905 2> log/2/stderr1905 1905: 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 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/2/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:38779/we/want/1905 log/2/cookies1905 > log/2/stdout1905 2> log/2/stderr1905 === End of file commands.log === Start of file http_server.log 17:51:27.635001 ====> Client connect 17:51:27.635069 accept_connection 3 returned 4 17:51:27.635086 accept_connection 3 returned 0 17:51:27.635101 Read 93 bytes 17:51:27.635111 Process 93 bytes request 17:51:27.635124 Got request: GET /verifiedserver HTTP/1.1 17:51:27.635133 Are-we-friendly question received 17:51:27.635159 Wrote request (93 bytes) input to log/2/server.input 17:51:27.635175 Identifying ourselves as friends 17:51:27.635233 Response sent (56 bytes) and written to log/2/server.response 17:51:27.635242 special request received, no persistency 17:51:27.635251 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 51886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file stderr1905 URL: http://127.0.0.1:38779/we/want/1905 === End of file stderr1905 === Start of file valgrind1905 ==169987== ==169987== Process terminating with default action of signal 4 (SIGILL) ==169987== Illegal opcode at address 0x51A0F00 ==169987== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==169987== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==169987== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==169987== by 0x403FB80: test_lib1905.lto_priv.0 (lib1905.c:35) ==169987== by 0x40034B5: main (first.c:279) ==169987== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==169987== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==169987== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==169987== by 0x403FB80: test_lib1905.lto_priv.0 (lib1CMD (33792): ../libtool --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/valgrind1904 ../src/curl -q --output log/9/curl1904.out --include --trace-ascii log/9/trace1904 --trace-time http://test.1904:37413/we/want/that/page/1904 -p --proxy 127.0.0.1:41187 > log/9/stdout1904 2> log/9/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/valgrind1911 ./libtest/libtests lib1911 - > log/3/stdout1911 2> log/3/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/12/valgrind1909 ../src/curl -q --trace-ascii log/12/trace1909 --trace-time --retry 1 --retry-all-errors -o log/12/outfile1909 http://127.0.0.1:36641/1909 > log/12/stdout1909 2> log/12/stderr1909 905.c:35) ==169987== by 0x40034B5: main (first.c:279) ==169987== === End of file valgrind1905 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/9/server/http2_server.pid" --logfile "log/9/http2_server.log" --logdir "log/9" --portfile log/9/server/http2_server.port --config log/9/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 169896 port 41187 * pid http-proxy => 169896 169896 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/9/valgrind1904 ../src/curl -q --output log/9/curl1904.out --include --trace-ascii log/9/trace1904 --trace-time http://test.1904:37413/we/want/that/page/1904 -p --proxy 127.0.0.1:41187 > log/9/stdout1904 2> log/9/stderr1904 1904: 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 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/9/valgrind1904 ../src/curl -q --output log/9/curl1904.out --include --trace-ascii log/9/trace1904 --trace-time http://test.1904:37413/we/want/that/page/1904 -p --proxy 127.0.0.1:41187 > log/9/stdout1904 2> log/9/stderr1904 === End of file commands.log === Start of file http2_server.log 17:51:27.270188 Run as proxy, CONNECT to host 127.0.0.1 17:51:27.270330 Running HTTP IPv4 version on port 41187 17:51:27.270384 Wrote pid 169896 to log/9/server/http2_server.pid 17:51:27.270416 Wrote port 41187 to log/9/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:51:27.205130 ====> Client connect 17:51:27.205172 accept_connection 3 returned 4 17:51:27.205189 accept_connection 3 returned 0 17:51:27.205203 Read 93 bytes 17:51:27.205213 Process 93 bytes request 17:51:27.205227 Got request: GET /verifiedserver HTTP/1.1 17:51:27.205236 Are-we-friendly question received 17:51:27.205263 Wrote request (93 bytes) input to log/9/server.input 17:51:27.205279 Identifying ourselves as friends 17:51:27.205334 Response sent (56 bytes) and written to log/9/server.response 17:51:27.205343 special request received, no persistency 17:51:27.205352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 56362 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === End of file http_verify.out === 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: 74974 === End of file server.response === Start of file valgrind1904 ==170250== ==170250== Process terminating with default action of signal 4 (SIGILL) ==170250== Illegal opcode at address 0x4014520 ==170250== at 0x4014520: getparameter (tool_getparam.c:2862) ==170250== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==170250== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==170250== by 0x4003728: main (tool_main.c:186) === End of file valgrind1904 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/3/valgrind1911 ./libtest/libtests lib1911 - > log/3/stdout1911 2> log/3/stderr1911 libtests returned 132, when expecting 0 1911: exit FAILED == Contents of files in the log/3/ 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/3/valgrind1911 ./libtest/libtests lib1911 - > log/3/stdout1911 2> log/3/stderr1911 === End of file commands.log === Start of file server.cmd Testnum 1911 === End of file server.cmd === Start of file stderr1911 URL: - === End of file stderr1911 === Start of file valgrind1911 ==170279== ==170279== Process terminating with default action of signal 4 (SIGILL) ==170279== Illegal opcode at address 0x51D97AF ==170279== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170279== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170279== by 0x51D97AF: Curl_open (url.c:502) ==170279== by 0x515120F: curl_easy_init (easy.c:365) ==170279== by 0x404077F: test_lib1911.lto_priv.0 (lib1911.c:40) ==170279== by 0x40034B5: main (first.c:279) ==170279== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170279== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170279== by 0x51D96BD: Curl_open (url.c:479) ==170279== by 0x515120F: curl_easy_init (easy.c:365) ==170279== by 0x404077F: test_lib1911.lto_priv.0 (lib1911.c:40) ==170279== by 0x40034B5: main (first.c:279) ==170279== === End of file valgrind1911 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/12/valgrind1909 ../src/curl -q --trace-ascii log/12/trace1909 --trace-time --retry 1 --retry-all-errors -o log/12/outfile1909 http://127.0.0.1:36641/1909 > log/12/stdout1909 2> log/12/stderr1909 1909: 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 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/12/valgrind1909 ../src/curl -q --trace-ascii log/12/trace1909 --trace-time --retry 1 --retry-all-errors -o log/12/outfile1909 http://127.0.0.1:36641/1909 > log/12/stdout1909 2> log/12/stderr1909 === End of file commands.log === Start of file http_server.log 17:51:27.869370 ====> Client connect 17:51:27.869406 accept_connection 3 returned 4 17:51:27.869425 accept_connection 3 returned 0 17:51:27.869440 Read 93 bytes 17:51:27.869450 Process 93 bytes request 17:51:27.869464 Got request: GET /verifiedserver HTTP/1.1 17:51:27.869482 Are-we-friendly question received 17:51:27.869511 Wrote request (93 bytes) input to log/12/server.input 17:51:27.869529 Identifying ourselves as friends 17:51:27.869746 Response sent (56 bytes) and written to log/12/server.response 17:51:27.869758 special request received, no persistency 17:51:27.869766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 53692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind1909 ==170137== ==170137== Process terminating 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/21/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:41669/1910 > log/21/stdout1910 2> log/21/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/8/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:42045/1942 > log/8/stdout1942 2> log/8/stderr1942 h default action of signal 4 (SIGILL) ==170137== Illegal opcode at address 0x4014520 ==170137== at 0x4014520: getparameter (tool_getparam.c:2862) ==170137== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==170137== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==170137== by 0x4003728: main (tool_main.c:186) === End of file valgrind1909 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/21/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:41669/1910 > log/21/stdout1910 2> log/21/stderr1910 1910: 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 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/21/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:41669/1910 > log/21/stdout1910 2> log/21/stderr1910 === End of file commands.log === Start of file http_server.log 17:51:28.216242 ====> Client connect 17:51:28.216295 accept_connection 3 returned 4 17:51:28.216314 accept_connection 3 returned 0 17:51:28.216333 Read 93 bytes 17:51:28.216344 Process 93 bytes request 17:51:28.216357 Got request: GET /verifiedserver HTTP/1.1 17:51:28.216366 Are-we-friendly question received 17:51:28.216393 Wrote request (93 bytes) input to log/21/server.input 17:51:28.216409 Identifying ourselves as friends 17:51:28.216480 Response sent (56 bytes) and written to log/21/server.response 17:51:28.216490 special request received, no persistency 17:51:28.216499 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 51706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stderr1910 URL: 127.0.0.1:41669/1910 === End of file stderr1910 === Start of file valgrind1910 ==170257== ==170257== Process terminating with default action of signal 4 (SIGILL) ==170257== Illegal opcode at address 0x51D97AF ==170257== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170257== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170257== by 0x51D97AF: Curl_open (url.c:502) ==170257== by 0x515120F: curl_easy_init (easy.c:365) ==170257== by 0x403A05A: test_lib1910.lto_priv.0 (lib1910.c:34) ==170257== by 0x40034B5: main (first.c:279) ==170257== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170257== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170257== by 0x51D96BD: Curl_open (url.c:479) ==170257== by 0x515120F: curl_easy_init (easy.c:365) ==170257== by 0x403A05A: test_lib1910.lto_priv.0 (lib1910.c:34) ==170257== by 0x40034B5: main (first.c:279) ==170257== === End of file valgrind1910 CMD (33792): ../libtool --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/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:40075/not-there/1913 1 > log/19/stdout1914 2> log/19/stderr1914 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/8/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:42045/1942 > log/8/stdout1942 2> log/8/stderr1942 1942: stdout FAILED: --- log/8/check-expected 2026-01-28 17:51:30.743222034 +0000 +++ log/8/check-generated 2026-01-28 17:51:30.743222034 +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/8/ 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/8/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:42045/1942 > log/8/stdout1942 2> log/8/stderr1942 === End of file commands.log === Start of file http_server.log 17:51:28.914681 ====> Client connect 17:51:28.914713 accept_connection 3 returned 4 17:51:28.914729 accept_connection 3 returned 0 17:51:28.914742 Read 93 bytes 17:51:28.914750 Process 93 bytes request 17:51:28.914760 Got request: GET /verifiedserver HTTP/1.1 17:51:28.914768 Are-we-friendly question received 17:51:28.914793 Wrote request (93 bytes) input to log/8/server.input 17:51:28.914809 Identifying ourselves as friends 17:51:28.914865 Response sent (56 bytes) and written to log/8/server.response 17:51:28.914873 special request received, no persistency 17:51:28.914881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42045... * Established connection to 127.0.0.1 (127.0.0.1 port 42045) from 127.0.0.1 port 35278 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42045 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42045 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75033 === 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: 75033 === End of file server.response === Start of file stderr1942 URL: http://127.0.0.1:42045/1942 === End of file stderr1942 === Start of file valgrind1942 ==170850== ==170850== Process terminating with default action of signal 4 (SIGILL) ==170850== Illegal opcode at address 0x51D97AF ==170850== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170850== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170850== by 0x51D97AF: Curl_open (url.c:502) ==170850== by 0x515120F: curl_easy_init (easy.c:365) ==170850== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==170850== by 0x40034B5: main (first.c:279) ==170850== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170850== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170850== by 0x51D96BD: Curl_open (url.c:479) ==170850== by 0x515120F: curl_easy_init (easy.c:365) ==170850== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==170850== by 0x40034B5: main (first.c:279) ==170850== === End of file valgrind1942 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/19/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:40075/not-there/1913 1 > log/19/stdout1914 2> log/19/stderr1914 libtests returned 132, when expecting 78 1914: exit FAILED == Contents of files in the log/19/ 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/19/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:40075/not-there/1913 1 > log/19/stdout1914 2> log/19/stderr1914 === End of file commands.log === Start of file ftp_server.log 17:51:28.816020 ====> Client connect 17:51:28.816194 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:28.816496 < "USER anonymous" 17:51:28.816538 > "331 We are happy you popped in![CR][LF]" 17:51:28.816741 < "PASS ftp@example.com" 17:51:28.816775 > "230 Welcome you silly person[CR][LF]" 17:51:28.816923 < "PWD" 17:51:28.816954 > "257 "/" is current directory[CR][LF]" 17:51:28.817098 < "EPSV" 17:51:28.817124 ====> Passive DATA channel requested by client 17:51:28.817138 DATA sockfilt for passive data channel starting... 17:51:28.821909 DATA sockfilt for passive data channel started (pid 170487) 17:51:28.822039 DATA sockfilt for passive data channel listens on port 45251 17:51:28.822093 > "229 Entering Passive Mode (|||45251|)[CR][LF]" 17:51:28.822112 Client has been notified that DATA conn will be accepted on port 45251 17:51:28.822399 Client connects to port 45251 17:51:28.822436 ====> Client established passive DATA connection on port 45251 17:51:28.822538 < "TYPE I" 17:51:28.822577 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:28.822769 < "SIZE verifiedserver" 17:51:28.822817 > "213 17[CR][LF]" 17:51:28.822999 < "RETR verifiedserver" 17:51:28.823045 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:28.823148 =====> Closing passive DATA connection... 17:51:28.823168 Server disconnects passive DATA connection 17:51:28.823437 Server disconnected passive DATA connection 17:51:28.823471 DATA sockfilt for passive data channel quits (pid 170487) 17:51:28.823747 DATA sockfilt for passive data channel quit (pid 170487) 17:51:28.823779 =====> Closed passive DATA connection 17:51:28.823815 > "226 File transfer complete[CR][LF]" 17:51:28.864816 < "QUIT" 17:51:28.864867 > "221 bye bye baby[CR][LF]" 17:51:28.870425 MAIN sockfilt said DISC 17:51:28.870488 ====> Client disconnected 17:51:28.870571 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:28.662054 ====> Client connect 17:51:28.662387 Received DATA (on stdin) 17:51:28.662403 > 146 bytes data, server => client 17:51:28.662414 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:28.662424 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:28.662433 '220 \___|\___/|_| \_\_____|\r\n' 17:51:28.662515 < 16 bytes data, client => server 17:51:28.662527 'USER anonymous\r\n' 17:51:28.662718 Received DATA (on stdin) 17:51:28.662730 > 33 bytes data, server => client 17:51:28.662740 '331 We are happy you popped in!\r\n' 17:51:28.662792 < 22 bytes data, client => server 17:51:28.662803 'PASS ftp@example.com\r\n' 17:51:28.662951 Received DATA (on stdin) 17:51:28.662961 > 30 bytes data, server => client 17:51:28.662971 '230 Welcome you silly person\r\n' 17:51:28.663016 < 5 bytes data, client => server 17:51:28.663026 'PWD\r\n' 17:51:28.663126 Received DATA (on stdin) 17:51:28.663136 > 30 bytes data, server => client 17:51:28.663145 '257 "/" is current directory\r\n' 17:51:28.663196 < 6 bytes data, client => 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/15/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/15/stdout1915 2> log/15/stderr1915 17:51:28.663205 'EPSV\r\n' 17:51:28.668296 Received DATA (on stdin) 17:51:28.668312 > 39 bytes data, server => client 17:51:28.668323 '229 Entering Passive Mode (|||45251|)\r\n' 17:51:28.668485 < 8 bytes data, client => server 17:51:28.668503 'TYPE I\r\n' 17:51:28.668758 Received DATA (on stdin) 17:51:28.668771 > 33 bytes data, server => client 17:51:28.668782 '200 I modify TYPE as you wanted\r\n' 17:51:28.668840 < 21 bytes data, client => server 17:51:28.668856 'SIZE verifiedserver\r\n' 17:51:28.669001 Received DATA (on stdin) 17:51:28.669014 > 8 bytes data, server => client 17:51:28.669024 '213 17\r\n' 17:51:28.669078 < 21 bytes data, client => server 17:51:28.669091 'RETR verifiedserver\r\n' 17:51:28.669348 Received DATA (on stdin) 17:51:28.669361 > 29 bytes data, server => client 17:51:28.669372 '150 Binary junk (17 bytes).\r\n' 17:51:28.669999 Received DATA (on stdin) 17:51:28.670013 > 28 bytes data, server => client 17:51:28.670024 '226 File transfer complete\r\n' 17:51:28.710828 < 6 bytes data, client => server 17:51:28.710853 'QUIT\r\n' 17:51:28.711048 Received DATA (on stdin) 17:51:28.711060 > 18 bytes data, server => client 17:51:28.711070 '221 bye bye baby\r\n' 17:51:28.716518 ====> Client disconnect 17:51:28.716756 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:28.667866 Running IPv4 version 17:51:28.667946 Listening on port 45251 17:51:28.667984 Wrote pid 170487 to log/19/server/ftp_sockdata.pid 17:51:28.668024 Received PING (on stdin) 17:51:28.668120 Received PORT (on stdin) 17:51:28.668525 ====> Client connect 17:51:28.669400 Received DATA (on stdin) 17:51:28.669414 > 17 bytes data, server => client 17:51:28.669425 'WE ROOLZ: 81054\r\n' 17:51:28.669452 Received DISC (on stdin) 17:51:28.669464 ====> Client forcibly disconnected 17:51:28.669658 Received QUIT (on stdin) 17:51:28.669670 quits 17:51:28.669738 ============> 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 stderr1914 URL: ftp://127.0.0.1:40075/not-there/1913 === End of file stderr1914 === Start of file valgrind1914 ==170596== ==170596== Process terminating with default action of signal 4 (SIGILL) ==170596== Illegal opcode at address 0x51D97AF ==170596== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170596== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170596== by 0x51D97AF: Curl_open (url.c:502) ==170596== by 0x515120F: curl_easy_init (easy.c:365) ==170596== by 0x403A1BA: test_lib1913.lto_priv.0 (lib1913.c:34) ==170596== by 0x40034B5: main (first.c:279) ==170596== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170596== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170596== by 0x51D96BD: Curl_open (url.c:479) ==170596== by 0x515120F: curl_easy_init (easy.c:365) ==170596== by 0x403A1BA: test_lib1913.lto_priv.0 (lib1913.c:34) ==170596== by 0x40034B5: main (first.c:279) ==170596== === 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/16/valgrind1920 ./libtest/libtests lib1920 http://127.0.0.1:40899/ log/16/cookie1920 > log/16/stdout1920 2> log/16/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/17/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:38963/not-there/1913 > log/17/stdout1913 2> log/17/stderr1913 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/15/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/15/stdout1915 2> log/15/stderr1915 1915: stdout FAILED: --- log/15/check-expected 2026-01-28 17:51:30.846555367 +0000 +++ log/15/check-generated 2026-01-28 17:51:30.846555367 +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/15/ 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/15/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/15/stdout1915 2> log/15/stderr1915 === End of file commands.log === Start of file server.cmd Testnum 1915 === End of file server.cmd === Start of file stderr1915 URL: http://127.0.0.1:47/not-there/1915 === End of file stderr1915 === Start of file valgrind1915 ==170495== ==170495== Process terminating with default action of signal 4 (SIGILL) ==170495== Illegal opcode at address 0x51D97AF ==170495== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170495== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170495== by 0x51D97AF: Curl_open (url.c:502) ==170495== by 0x515120F: curl_easy_init (easy.c:365) ==170495== by 0x403E52E: test_lib1915.lto_priv.0 (lib1915.c:107) ==170495== by 0x40034B5: main (first.c:279) ==170495== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170495== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170495== by 0x51D96BD: Curl_open (url.c:479) ==170495== by 0x515120F: curl_easy_init (easy.c:365) ==170495== by 0x403E52E: test_lib1915.lto_priv.0 (lib1915.c:107) ==170495== by 0x40034B5: main (first.c:279) ==170495== === End of file valgrind1915 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/16/valgrind1920 ./libtest/libtests lib1920 http://127.0.0.1:40899/ log/16/cookie1920 > log/16/stdout1920 2> log/16/stderr1920 1920: output (log/16/cookie1920) FAILED: --- log/16/check-expected 2026-01-28 17:51:30.859888701 +0000 +++ log/16/check-generated 2026-01-28 17:51:30.859888701 +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/16/ 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/16/valgrind1920 ./libtest/libtests lib1920 http://127.0.0.1:40899/ log/16/cookie1920 > log/16/stdout1920 2> log/16/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 17:51:28.912901 ====> Client connect 17:51:28.912939 accept_connection 3 returned 4 17:51:28.912957 accept_connection 3 returned 0 17:51:28.913182 Read 93 bytes 17:51:28.913195 Process 93 bytes request 17:51:28.913207 Got request: GET /verifiedserver HTTP/1.1 17:51:28.913216 Are-we-friendly question received 17:51:28.913248 Wrote request (93 bytes) input to log/16/server.input 17:51:28.913265 Identifying ourselves as friends 17:51:28.913321 Response sent (56 bytes) and written to log/16/server.response 17:51:28.913330 special request received, no persistency 17:51:28.913338 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 50618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 17 WE ROOLZ: 74819 === End of file server.response === Start of file stderr1920 URL: http://127.0.0.1:40899/ === End of file stderr1920 === Start of file valgrind1920 ==170830== ==170830== Process terminating with default action of signal 4 (SIGILL) ==170830== Illegal opcode at address 0x51D97AF ==170830== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170830== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170830== by 0x51D97AF: Curl_open (url.c:502) ==170830== by 0x515120F: curl_easy_init (easy.c:365) ==170830== by 0x403F9A6: test_lib1920.lto_priv.0 (lib1920.c:33) ==170830== by 0x40034B5: main (first.c:279) ==170830== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170830== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170830== by 0x51D96BD: Curl_open (url.c:479) ==170830== by 0x515120F: curl_easy_init (easy.c:365) ==170830== by 0x403F9A6: test_lib1920.lto_priv.0 (lib1920.c:33) ==170830== by 0x40034B5: main (first.c:279) ==170830== === End of file valgrind1920 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:38963/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:38963/not-there/1913 > log/17/stdout1913 2> log/17/stderr1913 === End of file commands.log === Start of file ftp_server.log 17:51:28.684936 ====> Client connect 17:51:28.685114 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:28.693627 < "USER anonymous" 17:51:28.693701 > "331 We are happy you popped in![CR][LF]" 17:51:28.693940 < "PASS ftp@example.com" 17:51:28.693976 > "230 Welcome you silly person[CR][LF]" 17:51:28.694159 < "PWD" 17:51:28.694197 > "257 "/" is current directory[CR][LF]" 17:51:28.694384 < "EPSV" 17:51:28.694415 ====> Passive DATA channel requested by client 17:51:28.694430 DATA sockfilt for passive data channel starting... 17:51:28.703417 DATA sockfilt for passive data channel started (pid 170455) 17:51:28.703592 DATA sockfilt for passive data channel listens on port 43509 17:51:28.703656 > "229 Entering Passive Mode (|||43509|)[CR][LF]" 17:51:28.703677 Client has been notified that DATA conn will be accepted on port 43509 17:51:28.710153 Client connects to port 43509 17:51:28.710231 ====> Client established passive DATA connection on port 43509 17:51:28.710384 < "TYPE I" 17:51:28.710439 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:28.710698 < "SIZE verifiedserver" 17:51:28.710756 > "213 17[CR][LF]" 17:51:28.710945 < "RETR verifiedserver" 17:51:28.710990 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:28.711110 =====> Closing passive DATA connection... 17:51:28.711128 Server disconnects passive DATA connection 17:51:28.711324 Server disconnected passive DATA connection 17:51:28.711351 DATA sockfilt for passive data channel quits (pid 170455) 17:51:28.711700 DATA sockfilt for passive data channel quit (pid 170455) 17:51:28.711727 =====> Closed passive DATA connection 17:51:28.711760 > "226 File transfer complete[CR][LF]" 17:51:28.770231 < "QUIT" 17:51:28.770327 > "221 bye bye baby[CR][LF]" 17:51:28.777375 MAIN sockfilt said DISC 17:51:28.777471 ====> Client disconnected 17:51:28.777554 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:28.530989 ====> Client connect 17:51:28.531313 Received DATA (on stdin) 17:51:28.531331 > 146 bytes data, server => client 17:51:28.531344 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:28.531355 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:28.531364 '220 \___|\___/|_| \_\_____|\r\n' 17:51:28.539514 < 16 bytes data, client => server 17:51:28.539557 'USER anonymous\r\n' 17:51:28.539889 Received DATA (on stdin) 17:51:28.539904 > 33 bytes data, server => client 17:51:28.539916 '331 We are happy you popped in!\r\n' 17:51:28.540000 < 22 bytes data, client => server 17:51:28.540013 'PASS ftp@example.com\r\n' 17:51:28.540158 Received DATA (on stdin) 17:51:CMD (33792): ../libtool --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/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:37513/%20" > log/11/stdout1917 2> log/11/stderr1917 CMD (33792): ../libtool --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/valgrind1941 ./libtest/libtests lib1940 http://hello:39589/1941 127.0.0.1:41823 > log/1/stdout1941 2> log/1/stderr1941 28.540171 > 30 bytes data, server => client 17:51:28.540182 '230 Welcome you silly person\r\n' 17:51:28.540240 < 5 bytes data, client => server 17:51:28.540252 'PWD\r\n' 17:51:28.540375 Received DATA (on stdin) 17:51:28.540390 > 30 bytes data, server => client 17:51:28.540402 '257 "/" is current directory\r\n' 17:51:28.540465 < 6 bytes data, client => server 17:51:28.540478 'EPSV\r\n' 17:51:28.549867 Received DATA (on stdin) 17:51:28.549886 > 39 bytes data, server => client 17:51:28.549898 '229 Entering Passive Mode (|||43509|)\r\n' 17:51:28.556248 < 8 bytes data, client => server 17:51:28.556267 'TYPE I\r\n' 17:51:28.556625 Received DATA (on stdin) 17:51:28.556641 > 33 bytes data, server => client 17:51:28.556651 '200 I modify TYPE as you wanted\r\n' 17:51:28.556742 < 21 bytes data, client => server 17:51:28.556754 'SIZE verifiedserver\r\n' 17:51:28.556936 Received DATA (on stdin) 17:51:28.556948 > 8 bytes data, server => client 17:51:28.556958 '213 17\r\n' 17:51:28.557021 < 21 bytes data, client => server 17:51:28.557033 'RETR verifiedserver\r\n' 17:51:28.557426 Received DATA (on stdin) 17:51:28.557439 > 29 bytes data, server => client 17:51:28.557449 '150 Binary junk (17 bytes).\r\n' 17:51:28.557938 Received DATA (on stdin) 17:51:28.557951 > 28 bytes data, server => client 17:51:28.557962 '226 File transfer complete\r\n' 17:51:28.609519 < 6 bytes data, client => server 17:51:28.609552 'QUIT\r\n' 17:51:28.616525 Received DATA (on stdin) 17:51:28.616549 > 18 bytes data, server => client 17:51:28.616560 '221 bye bye baby\r\n' 17:51:28.617604 ====> Client disconnect 17:51:28.628440 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:28.542569 Running IPv4 version 17:51:28.542647 Listening on port 43509 17:51:28.542688 Wrote pid 170455 to log/17/server/ftp_sockdata.pid 17:51:28.549500 Received PING (on stdin) 17:51:28.549652 Received PORT (on stdin) 17:51:28.556175 ====> Client connect 17:51:28.557314 Received DATA (on stdin) 17:51:28.557335 > 17 bytes data, server => client 17:51:28.557345 'WE ROOLZ: 95543\r\n' 17:51:28.557380 Received DISC (on stdin) 17:51:28.557394 ====> Client forcibly disconnected 17:51:28.557537 Received QUIT (on stdin) 17:51:28.557549 quits 17:51:28.557633 ============> 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 stderr1913 URL: ftp://127.0.0.1:38963/not-there/1913 === End of file stderr1913 === Start of file valgrind1913 ==170494== ==170494== Process terminating with default action of signal 4 (SIGILL) ==170494== Illegal opcode at address 0x51D97AF ==170494== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170494== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170494== by 0x51D97AF: Curl_open (url.c:502) ==170494== by 0x515120F: curl_easy_init (easy.c:365) ==170494== by 0x403A1BA: test_lib1913.lto_priv.0 (lib1913.c:34) ==170494== by 0x40034B5: main (first.c:279) ==170494== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170494== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170494== by 0x51D96BD: Curl_open (url.c:479) ==170494== by 0x515120F: curl_easy_init (easy.c:365) ==170494== by 0x403A1BA: test_lib1913.lto_priv.0 (lib1913.c:34) ==170494== by 0x40034B5: main (first.c:279) ==170494== === End of file valgrind1913 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/11/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:37513/%20" > log/11/stdout1917 2> log/11/stderr1917 1917: 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 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/11/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:37513/%20" > log/11/stdout1917 2> log/11/stderr1917 === End of file commands.log === Start of file server.cmd Testnum 1917 === End of file server.cmd === Start of file stderr1917 URL: mqtt://127.0.0.1:37513/%20 === End of file stderr1917 === Start of file valgrind1917 ==170505== ==170505== Process terminating with default action of signal 4 (SIGILL) ==170505== Illegal opcode at address 0x51D97AF ==170505== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170505== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170505== by 0x51D97AF: Curl_open (url.c:502) ==170505== by 0x515120F: curl_easy_init (easy.c:365) ==170505== by 0x403EB0A: test_lib1916.lto_priv.0 (lib1916.c:36) ==170505== by 0x40034B5: main (first.c:279) ==170505== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170505== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170505== by 0x51D96BD: Curl_open (url.c:479) ==170505== by 0x515120F: curl_easy_init (easy.c:365) ==170505== by 0x403EB0A: test_lib1916.lto_priv.0 (lib1916.c:36) ==170505== by 0x40034B5: main (first.c:279) ==170505== === End of file valgrind1917 CMD (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/4/valgrind1918 ./libtest/libtests lib1918 - > log/4/stdout1918 2> log/4/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/5/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:46875/1943 > log/5/stdout1943 2> log/5/stderr1943 CMD (33792): ../libtool --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/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:39173/1919 > log/23/stdout1919 2> log/23/stderr1919 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/1/valgrind1941 ./libtest/libtests lib1940 http://hello:39589/1941 127.0.0.1:41823 > log/1/stdout1941 2> log/1/stderr1941 1941: stdout FAILED: --- log/1/check-expected 2026-01-28 17:51:31.169888700 +0000 +++ log/1/check-generated 2026-01-28 17:51:31.169888700 +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/1/ 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/1/valgrind1941 ./libtest/libtests lib1940 http://hello:39589/1941 127.0.0.1:41823 > log/1/stdout1941 2> log/1/stderr1941 === End of file commands.log === Start of file http2_server.log 17:51:30.022689 ====> Client connect 17:51:30.022733 accept_connection 3 returned 4 17:51:30.022751 accept_connection 3 returned 0 17:51:30.022767 Read 93 bytes 17:51:30.022776 Process 93 bytes request 17:51:30.022798 Got request: GET /verifiedserver HTTP/1.1 17:51:30.022821 Are-we-friendly question received 17:51:30.022849 Wrote request (93 bytes) input to log/1/proxy.input 17:51:30.022870 Identifying ourselves as friends 17:51:30.022953 Response sent (57 bytes) and written to log/1/proxy.response 17:51:30.022968 special request received, no persistency 17:51:30.022976 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:41823... * Established connection to 127.0.0.1 (127.0.0.1 port 41823) from 127.0.0.1 port 58446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41823 > User-Agent: curl/8.18.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:41823 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 150627 === End of file http2_verify.out === Start of file http_server.log 17:51:28.933278 ====> Client connect 17:51:28.933312 accept_connection 3 returned 4 17:51:28.933329 accept_connection 3 returned 0 17:51:28.933345 Read 93 bytes 17:51:28.933354 Process 93 bytes request 17:51:28.933367 Got request: GET /verifiedserver HTTP/1.1 17:51:28.933376 Are-we-friendly question received 17:51:28.933402 Wrote request (93 bytes) input to log/1/server.input 17:51:28.933421 Identifying ourselves as friends 17:51:28.933490 Response sent (56 bytes) and written to log/1/server.response 17:51:28.933502 special request received, no persistency 17:51:28.933511 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150627 === 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: 75347 === End of file server.response === Start of file stderr1941 URL: http://hello:39589/1941 === End of file stderr1941 === Start of file valgrind1941 ==171075== ==171075== Process terminating with default action of signal 4 (SIGILL) ==171075== Illegal opcode at address 0x51D97AF ==171075== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==171075== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==171075== by 0x51D97AF: Curl_open (url.c:502) ==171075== by 0x515120F: curl_easy_init (easy.c:365) ==171075== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==171075== by 0x40034B5: main (first.c:279) ==171075== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==171075== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171075== by 0x51D96BD: Curl_open (url.c:479) ==171075== by 0x515120F: curl_easy_init (easy.c:365) ==171075== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==171075== by 0x40034B5: main (first.c:279) ==171075== === End of file valgrind1941 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/4/valgrind1918 ./libtest/libtests lib1918 - > log/4/stdout1918 2> log/4/stderr1918 -------e-v- OK (1598 out of 1760, remaining: 00:16, took 2.376s, duration: 02:39) CMD (33792): ../libtool --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/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:37569/1944 > log/14/stdout1944 2> log/14/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/5/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:46875/1943 > log/5/stdout1943 2> log/5/stderr1943 1943: stdout FAILED: --- log/5/check-expected 2026-01-28 17:51:31.353222034 +0000 +++ log/5/check-generated 2026-01-28 17:51:31.353222034 +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/5/ 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/5/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:46875/1943 > log/5/stdout1943 2> log/5/stderr1943 === End of file commands.log === Start of file http_server.log 17:51:28.939561 ====> Client connect 17:51:28.939600 accept_connection 3 returned 4 17:51:28.939619 accept_connection 3 returned 0 17:51:28.939636 Read 93 bytes 17:51:28.939647 Process 93 bytes request 17:51:28.939660 Got request: GET /verifiedserver HTTP/1.1 17:51:28.939669 Are-we-friendly question received 17:51:28.939698 Wrote request (93 bytes) input to log/5/server.input 17:51:28.939717 Identifying ourselves as friends 17:51:28.939792 Response sent (56 bytes) and written to log/5/server.response 17:51:28.939802 special request received, no persistency 17:51:28.939811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 42926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file stderr1943 URL: http://127.0.0.1:46875/1943 === End of file stderr1943 === Start of file valgrind1943 ==170902== ==170902== Process terminating with default action of signal 4 (SIGILL) ==170902== Illegal opcode at address 0x51D97AF ==170902== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170902== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170902== by 0x51D97AF: Curl_open (url.c:502) ==170902== by 0x515120F: curl_easy_init (easy.c:365) ==170902== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==170902== by 0x40034B5: main (first.c:279) ==170902== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170902== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170902== by 0x51D96BD: Curl_open (url.c:479) ==170902== by 0x515120F: curl_easy_init (easy.c:365) ==170902== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==170902== by 0x40034B5: main (first.c:279) ==170902== === End of file valgrind1943 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/23/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:39173/1919 > log/23/stdout1919 2> log/23/stderr1919 1919: 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 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/23/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:39173/1919 > log/23/stdout1919 2> log/23/stderr1919 === End of file commands.log === Start of file http_server.log 17:51:29.879130 ====> Client connect 17:51:29.879165 accept_connection 3 returned 4 17:51:29.879181 accept_connection 3 returned 0 17:51:29.879196 Read 93 bytes 17:51:29.879205 Process 93 bytes request 17:51:29.879219 Got request: GET /verifiedserver HTTP/1.1 17:51:29.879228 Are-we-friendly question received 17:51:29.879255 Wrote request (93 bytes) input to log/23/server.input 17:51:29.879271 Identifying ourselves as friends 17:51:29.879329 Response sent (56 bytes) and written to log/23/server.response 17:51:29.879338 special request received, no persistency 17:51:29.879347 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 49708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file stderr1919 URL: http://127.0.0.1:39173/1919 === End of file stderr1919 === Start of file valgrind1919 ==170784== ==170784== Process terminating with default action of signal 4 (SIGILL) ==170784== Illegal opcode at address 0x51D97AF ==170784== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170784== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170784== by 0x51D97AF: Curl_open (url.c:502) ==170784== by 0x515120F: curl_easy_init (easy.c:365) ==170784== by 0x403A2AC: UnknownInlinedFun (lib1919.c:33) ==170784== by 0x403A2AC: test_lib1919.lto_priv.0 (lib1919.c:26) ==170784== by 0x40034B5: main (first.c:279) ==170784== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170784== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170784== by 0x51D96BD: Curl_open (url.c:479) ==170784== by 0x515120F: curl_easy_init (easy.c:365) ==170784== by 0x403A2AC: UnknownInlinedFun (lib1919.c:33) ==170784== by 0x403A2AC: test_lib1919.lto_priv.0 (lib1919.c:26) ==170784== by 0x40034B5: main (first.c:279) ==170784== === End of file valgrind1919 CMD (33792): ../libtool --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/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:44137/1946 > log/10/stdout1946 2> log/10/stderr1946 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/14/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:37569/1944 > log/14/stdout1944 2> log/14/stderr1944 1944: stdout FAILED: --- log/14/check-expected 2026-01-28 17:51:31.369888700 +0000 +++ log/14/check-generated 2026-01-28 17:51:31.369888700 +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/14/ 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/14/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:37569/1944 > log/14/stdout1944 2> log/14/stderr1944 === End of file commands.log === Start of file http_server.log 17:51:29.946236 ====> Client connect 17:51:29.946284 accept_connection 3 returned 4 17:51:29.946304 accept_connection 3 returned 0 17:51:29.946322 Read 93 bytes 17:51:29.946333 Process 93 bytes request 17:51:29.946348 Got request: GET /verifiedserver HTTP/1.1 17:51:29.946358 Are-we-friendly question received 17:51:29.946388 Wrote request (93 bytes) input to log/14/server.input 17:51:29.946408 Identifying ourselves as friends 17:51:29.946497 Response sent (56 bytes) and written to log/14/server.response 17:51:29.946510 special request received, no persistency 17:51:29.946519 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 42936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 17 WE ROOLZ: 74822 === End of file server.response === Start of file stderr1944 URL: http://127.0.0.1:37569/1944 === End of file stderr1944 === Start of file valgrind1944 ==170899== ==170899== Process terminating with default action of signal 4 (SIGILL) ==170899== Illegal opcode at address 0x51D97AF ==170899== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170899== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170899== by 0x51D97AF: Curl_open (url.c:502) ==170899== by 0x515120F: curl_easy_init (easy.c:365) ==170899== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==170899== by 0x40034B5: main (first.c:279) ==170899== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170899== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170899== by 0x51D96BD: Curl_open (url.c:479) ==170899== by 0x515120F: curl_easy_init (easy.c:365) ==170899== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==170899== by 0x40034B5: main (first.c:279) ==170899== === 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/13/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:43845/1947 http://127.0.0.1:43845/19470003 > log/13/stdout1947 2> log/13/stderr1947 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/10/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:44137/1946 > log/10/stdout1946 2> log/10/stderr1946 1946: stdout FAILED: --- log/10/check-expected 2026-01-28 17:51:31.489888700 +0000 +++ log/10/check-generated 2026-01-28 17:51:31.489888700 +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/10/ 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/10/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:44137/1946 > log/10/stdout1946 2> log/10/stderr1946 === End of file commands.log === Start of file http_server.log 17:51:29.332480 ====> Client connect 17:51:29.332518 accept_connection 3 returned 4 17:51:29.332536 accept_connection 3 returned 0 17:51:29.332686 Read 93 bytes 17:51:29.332701 Process 93 bytes request 17:51:29.332716 Got request: GET /verifiedserver HTTP/1.1 17:51:29.332725 Are-we-friendly question received 17:51:29.332759 Wrote request (93 bytes) input to log/10/server.input 17:51:29.332778 Identifying ourselves as friends 17:51:29.332855 Response sent (57 bytes) and written to log/10/server.response 17:51:29.332867 special request received, no persistency 17:51:29.332876 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Established connection to 127.0.0.1 (127.0.0.1 port 44137) from 127.0.0.1 port 37204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.18.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:44137 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161230 === 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: 18 WE ROOLZ: 161230 === End of file server.response === Start of file stderr1946 URL: http://127.0.0.1:44137/1946 === End of file stderr1946 === Start of file valgrind1946 ==171230== ==171230== Process terminating with default action of signal 4 (SIGILL) ==171230== Illegal opcode at address 0x51D97AF ==171230== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==171230== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==171230== by 0x51D97AF: Curl_open (url.c:502) ==171230== by 0x515120F: curl_easy_init (easy.c:365) ==171230== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==171230== by 0x40034B5: main (first.c:279) ==171230== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==171230== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171230== by 0x51D96BD: Curl_open (url.c:479) ==171230== by 0x515120F: curl_easy_init (easy.c:365) ==171230== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==171230== by 0x40034B5: main (first.c:279) ==171230== === End of file valgrind1946 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 38627 --port2 35925 --nghttpx "nghttpx" --pidfile "log/7/server/http_v2_server.pid" --logfile "log/7/http_v2_server.log" --logdir "log/7" --connect 127.0.0.1:35671 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1701 SKIPPED: failed starting HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 42357 --port2 33007 --nghttpx "nghttpx" --pidfile "log/18/server/http_v2_server.pid" --logfile "log/18/http_v2_server.log" --logdir "log/18" --connect 127.0.0.1:34067 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 39593 --port2 36905 --nghttpx "nghttpx" --pidfile "log/24/server/http_v2_server.pid" --logfile "log/24/http_v2_server.log" --logdir "log/24" --connect 127.0.0.1:39649 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 CMD (33792): ../libtool --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/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:46725/1940 > log/20/stdout1940 2> log/20/stderr1940 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/13/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:43845/1947 http://127.0.0.1:43845/19470003 > log/13/stdout1947 2> log/13/stderr1947 1947: stdout FAILED: --- log/13/check-expected 2026-01-28 17:51:31.716555367 +0000 +++ log/13/check-generated 2026-01-28 17:51:31.716555367 +0000 @@ -1,2 +0,0 @@ -count = 2[LF] -count = 1[LF] == Contents of files in the log/13/ 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/13/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:43845/1947 http://127.0.0.1:43845/19470003 > log/13/stdout1947 2> log/13/stderr1947 === End of file commands.log === Start of file http_server.log 17:51:30.479570 ====> Client connect 17:51:30.479621 accept_connection 3 returned 4 17:51:30.479640 accept_connection 3 returned 0 17:51:30.479657 Read 93 bytes 17:51:30.479666 Process 93 bytes request 17:51:30.479681 Got request: GET /verifiedserver HTTP/1.1 17:51:30.479690 Are-we-friendly question received 17:51:30.479715 Wrote request (93 bytes) input to log/13/server.input 17:51:30.479732 Identifying ourselves as friends 17:51:30.479814 Response sent (56 bytes) and written to log/13/server.response 17:51:30.479824 special request received, no persistency 17:51:30.479833 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 42368 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file stderr1947 URL: http://127.0.0.1:43845/1947 === End of file stderr1947 === Start of file valgrind1947 ==171290== ==171290== Process terminating with default action of signal 4 (SIGILL) ==171290== Illegal opcode at address 0x51D97AF ==171290== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==171290== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==171290== by 0x51D97AF: Curl_open (url.c:502) ==171290== by 0x515120F: curl_easy_init (easy.c:365) ==171290== by 0x4040F8C: UnknownInlinedFun (lib1947.c:44) ==171290== by 0x4040F8C: test_lib1947.lto_priv.0 (lib1947.c:34) ==171290== by 0x40034B5: main (first.c:279) ==171290== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==171290== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171290== by 0x51D96BD: Curl_open (url.c:479) ==171290== by 0x515120F: curl_easy_init (easy.c:365) ==171290== by 0x4040F8C: UnknownInlinedFun (lib1947.c:44) ==171290== by 0x4040F8C: test_lib1947.lto_priv.0 (lib1947.c:34) ==171290== by 0x40034B5: main (first.c:279) ==171290== === End of file valgrind1947 CMD (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/valgrind1979 ./unit/units unit1979 - > log/21/stdout1979 2> log/21/stderr1979 CMD (33792): ../libtool --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/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:37977/%20" > log/22/stdout1916 2> log/22/stderr1916 CMD (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/valgrind1980 ./unit/units unit1980 - > log/8/stdout1980 2> log/8/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/9/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:37413/file 127.0.0.1 37413 > log/9/stdout1960 2> log/9/stderr1960 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/20/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:46725/1940 > log/20/stdout1940 2> log/20/stderr1940 1940: stdout FAILED: --- log/20/check-expected 2026-01-28 17:51:31.746555367 +0000 +++ log/20/check-generated 2026-01-28 17:51:31.746555367 +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/20/ 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/20/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:46725/1940 > log/20/stdout1940 2> log/20/stderr1940 === End of file commands.log === Start of file http_server.log 17:51:28.909619 ====> Client connect 17:51:28.909662 accept_connection 3 returned 4 17:51:28.909680 accept_connection 3 returned 0 17:51:28.909697 Read 93 bytes 17:51:28.909707 Process 93 bytes request 17:51:28.909719 Got request: GET /verifiedserver HTTP/1.1 17:51:28.909728 Are-we-friendly question received 17:51:28.909756 Wrote request (93 bytes) input to log/20/server.input 17:51:28.909772 Identifying ourselves as friends 17:51:28.909860 Response sent (56 bytes) and written to log/20/server.response 17:51:28.909870 special request received, no persistency 17:51:28.909878 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 51370 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file stderr1940 URL: http://127.0.0.1:46725/1940 === End of file stderr1940 === Start of file valgrind1940 ==170855== ==170855== Process terminating with default action of signal 4 (SIGILL) ==170855== Illegal opcode at address 0x51D97AF ==170855== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==170855== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==170855== by 0x51D97AF: Curl_open (url.c:502) ==170855== by 0x515120F: curl_easy_init (easy.c:365) ==170855== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==170855== by 0x40034B5: main (first.c:279) ==170855== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==170855== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170855== by 0x51D96BD: Curl_open (url.c:479) ==170855== by 0x515120F: curl_easy_init (easy.c:365) ==170855== by 0x4040AB1: test_lib1940.lto_priv.0 (lib1940.c:93) ==170855== by 0x40034B5: main (first.c:279) ==170855== === End of file valgrind1940 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/21/valgrind1979 ./unit/units unit1979 - > log/21/stdout1979 2> log/21/stderr1979 -------e-v- OK (1614 out of 1760, remaining: 00:14, took 1.255s, duration: 02:39) 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 170491 on PORT 37977 * pid mqtt => 170491 170491 test 1916...[MQTT PUBLISH with no 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/22/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:37977/%20" > log/22/stdout1916 2> log/22/stderr1916 1916: 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 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/22/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:37977/%20" > log/22/stdout1916 2> log/22/stderr1916 === End of file commands.log === Start of file mqtt_server.log 17:51:28.692980 Running IPv4 version 17:51:28.694623 Listening on port 37977 17:51:28.694676 Wrote pid 170491 to log/22/server/mqtt_server.pid 17:51:28.694708 Wrote port 37977 to log/22/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 stderr1916 URL: mqtt://127.0.0.1:37977/%20 === End of file stderr1916 === Start of file valgrind1916 ==171359== ==171359== Process terminating with default action of signal 4 (SIGILL) ==171359== Illegal opcode at address 0x51D97AF ==171359== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==171359== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==171359== by 0x51D97AF: Curl_open (url.c:502) ==171359== by 0x515120F: curl_easy_init (easy.c:365) ==171359== by 0x403EB0A: test_lib1916.lto_priv.0 (lib1916.c:36) ==171359== by 0x40034B5: main (first.c:279) ==171359== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==171359== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171359== by 0x51D96BD: Curl_open (url.c:479) ==171359== by 0x515120F: curl_easy_init (easy.c:365) ==171359== by 0x403EB0A: test_lib1916.lto_priv.0 (lib1916.c:36) ==171359== by 0x40034B5: main (first.c:279) ==171359== === End of file valgrind1916 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/11/server/tftp_server.pid" --portfile "log/11/server/tftp_server.port" --logfile "log/11/tftp_server.log" --logdir "log/11" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 171979 port 33500 * pid tftp => 171979 171979 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/8/valgrind1980 ./unit/units unit1980 - > log/8/stdout1980 2> log/8/stderr1980 -------e-v- OK (1615 out of 1760, remaining: 00:14, took 1.331s, duration: 02:40) 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/9/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:37413/file 127.0.0.1 37413 > log/9/stdout1960 2> 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/6/valgrind1945 ./libtest/libtests lib1945 http://hello:33191/1945 127.0.0.1:44537 > log/6/stdout1945 2> log/6/stderr1945 og/9/stderr1960 1960: 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 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/9/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:37413/file 127.0.0.1 37413 > log/9/stdout1960 2> log/9/stderr1960 === End of file commands.log === Start of file http_server.log 17:51:29.933354 ====> Client connect 17:51:29.933395 accept_connection 3 returned 4 17:51:29.933414 accept_connection 3 returned 0 17:51:29.933431 Read 93 bytes 17:51:29.933441 Process 93 bytes request 17:51:29.933455 Got request: GET /verifiedserver HTTP/1.1 17:51:29.933465 Are-we-friendly question received 17:51:29.933495 Wrote request (93 bytes) input to log/9/server.input 17:51:29.933515 Identifying ourselves as friends 17:51:29.933583 Response sent (56 bytes) and written to log/9/server.response 17:51:29.933596 special request received, no persistency 17:51:29.933606 ====> Client disconnect 0 17:51:31.963456 ====> Client connect 17:51:31.963481 accept_connection 3 returned 4 17:51:31.963496 accept_connection 3 returned 0 17:51:32.115426 Connection closed by client 17:51:32.115461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 58106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 17 WE ROOLZ: 74974 === End of file server.response === Start of file stderr1960 URL: http://127.0.0.1:37413/file === End of file stderr1960 === Start of file valgrind1960 ==171503== ==171503== Process terminating with default action of signal 4 (SIGILL) ==171503== Illegal opcode at address 0x51D97AF ==171503== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==171503== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==171503== by 0x51D97AF: Curl_open (url.c:502) ==171503== by 0x515120F: curl_easy_init (easy.c:365) ==171503== by 0x404131E: test_lib1960.lto_priv.0 (lib1960.c:118) ==171503== by 0x40034B5: main (first.c:279) ==171503== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==171503== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171503== by 0x51D96BD: Curl_open (url.c:479) ==171503== by 0x515120F: curl_easy_init (easy.c:365) ==171503== by 0x404131E: test_lib1960.lto_priv.0 (lib1960.c:118) ==171503== by 0x40034B5: main (first.c:279) ==171503== === End of file valgrind1960 CMD (33792): ../libtool --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/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:38779/1948 > log/2/stdout1948 2> log/2/stderr1948 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 171032 port 44537 * pid http-proxy => 171032 171032 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/6/valgrind1945 ./libtest/libtests lib1945 http://hello:33191/1945 127.0.0.1:44537 > log/6/stdout1945 2> log/6/stderr1945 1945: stdout FAILED: --- log/6/check-expected 2026-01-28 17:51:32.346555366 +0000 +++ log/6/check-generated 2026-01-28 17:51:32.346555366 +0000 @@ -1,10 +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/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] - Location == /19450002 (0/1)[LF] == Contents of files in the log/6/ 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/3)[LF] Set-Cookie == secondcookie=2data; (1/3)[LF] Set-Cookie == cookie3=data3; (2/3)[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/6/valgrind1945 ./libtest/libtests lib1945 http://hello:33191/1945 127.0.0.1:44537 > log/6/stdout1945 2> log/6/stderr1945 === End of file commands.log === Start of file http2_server.log 17:51:29.085798 Run as proxy, CONNECT to host 127.0.0.1 17:51:29.085937 Running HTTP IPv4 version on port 44537 17:51:29.085991 Wrote pid 171032 to log/6/server/http2_server.pid 17:51:29.086027 Wrote port 44537 to log/6/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 17:51:29.038903 ====> Client connect 17:51:29.038938 accept_connection 3 returned 4 17:51:29.038957 accept_connection 3 returned 0 17:51:29.038972 Read 93 bytes 17:51:29.038982 Process 93 bytes request 17:51:29.038996 Got request: GET /verifiedserver HTTP/1.1 17:51:29.039005 Are-we-friendly question received 17:51:29.039033 Wrote request (93 bytes) input to log/6/server.input 17:51:29.039050 Identifying ourselves as friends 17:51:29.039111 Response sent (57 bytes) and written to log/6/server.response 17:51:29.039121 special request received, no persistency 17:51:29.039129 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33191... * Established connection to 127.0.0.1 (127.0.0.1 port 33191) from 127.0.0.1 port 43960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33191 > User-Agent: curl/8.18.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:33191 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 164364 === End of file http_verify.out === Start of file server.cmd Testnum 1945 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 164364 === End of file server.response === Start of file stderr1945 URL: http://hello:33191/1945 === End of file stderr1945 === Start of file valgrind1945 ==171520== ==171520== Process terminating with default action of signal 4 (SIGILL) ==171520== Illegal opcode at address 0x51D97AF ==171520== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==171520== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==171520== by 0x51D97AF: Curl_open (url.c:502) ==171520== by 0x515120F: curl_easy_init (easy.c:365) ==171520== by 0x4040D8C: UnknownInlinedFun (lib1945.c:54) ==171520== by 0x4040D8C: test_lib1945.lto_priv.0 (lib1945.c:47) ==171520== by 0x40034B5: main (first.c:279) ==171520== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==171520== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171520== by 0x51D96BD: Curl_open (url.c:479) ==171520== by 0x515120F: curl_easy_init (easy.c:365) ==171520== by 0x4040D8C: UnknownInlinedFun (lib1945.c:54) ==171520== by 0x4040D8C: test_lib1945.lto_priv.0 (lib1945.c:47) ==171520== by 0x40034B5: main (first.c:279) ==171520== === End of file valgrind1945 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/2/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:38779/1948 > log/2/stdout1948 2> log/2/stderr1948 1948: 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 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/2/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:38779/1948 > log/2/stdout1948 2> log/2/stderr1948 === End of file commands.log === Start of file http_server.log 17:51:29.756238 ====> Client connect 17:51:29.756287 accept_connection 3 returned 4 17:51:29.756308 accept_connection 3 returned 0 17:51:29.756327 Read 93 bytes 17:51:29.756338 Process 93 bytes request 17:51:29.756352 Got request: GET /verifiedserver HTTP/1.1 17:51:29.756361 Are-we-friendly question received 17:51:29.756391 Wrote request (93 bytes) input to log/2/server.input 17:51:29.756410 Identifying ourselves as friends 17:51:29.756498 Response sent (56 bytes) and written to log/2/server.response 17:51:29.756511 special request received, no persistency 17:51:29.756521 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 51890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file stderr1948 URL: http://127.0.0.1:38779/1948 === End of file stderr1948 === Start of file valgrind1948 ==171387== ==171387== Process terminating with default action of signal 4 (SIGILL) ==171387== Illegal opcode at address 0x51D97AF ==171387== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==171387== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==171387== by 0x51D97AF: Curl_open (url.c:502) ==171387== by 0x515120F: curl_easy_init (easy.c:365) ==171387== by 0x403A751: test_lib1948.lto_priv.0 (lib1948.c:51) ==171387== by 0x40034B5: main (first.c:279) ==171387== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==171387== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171387== by 0x51D96BD: Curl_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/3/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:45927 > log/3/stdout1964 2> log/3/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/12/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:36641/1977 > log/12/stdout1977 2> log/12/stderr1977 (url.c:479) ==171387== by 0x515120F: curl_easy_init (easy.c:365) ==171387== by 0x403A751: test_lib1948.lto_priv.0 (lib1948.c:51) ==171387== by 0x40034B5: main (first.c:279) ==171387== === End of file valgrind1948 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/3/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:45927 > log/3/stdout1964 2> log/3/stderr1964 1964: 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 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/3/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:45927 > log/3/stdout1964 2> log/3/stderr1964 === End of file commands.log === Start of file http_server.log 17:51:30.126243 ====> Client connect 17:51:30.126292 accept_connection 3 returned 4 17:51:30.126313 accept_connection 3 returned 0 17:51:30.126329 Read 93 bytes 17:51:30.126339 Process 93 bytes request 17:51:30.126353 Got request: GET /verifiedserver HTTP/1.1 17:51:30.126362 Are-we-friendly question received 17:51:30.126388 Wrote request (93 bytes) input to log/3/server.input 17:51:30.126405 Identifying ourselves as friends 17:51:30.126490 Response sent (56 bytes) and written to log/3/server.response 17:51:30.126500 special request received, no persistency 17:51:30.126510 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 50730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 75287 === End of file server.response === Start of file stderr1964 URL: http://xxx:yyy@127.0.0.1:9000/1964/testapi/test === End of file stderr1964 === Start of file valgrind1964 ==171568== ==171568== Process terminating with default action of signal 4 (SIGILL) ==171568== Illegal opcode at address 0x51D97AF ==171568== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==171568== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==171568== by 0x51D97AF: Curl_open (url.c:502) ==171568== by 0x515120F: curl_easy_init (easy.c:365) ==171568== by 0x403CD4C: UnknownInlinedFun (lib1964.c:34) ==171568== by 0x403CD4C: test_lib1964.lto_priv.0 (lib1964.c:26) ==171568== by 0x40034B5: main (first.c:279) ==171568== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==171568== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171568== by 0x51D96BD: Curl_open (url.c:479) ==171568== by 0x515120F: curl_easy_init (easy.c:365) ==171568== by 0x403CD4C: UnknownInlinedFun (lib1964.c:34) ==171568== by 0x403CD4C: test_lib1964.lto_priv.0 (lib1964.c:26) ==171568== by 0x40034B5: main (first.c:279) ==171568== === 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/19/valgrind2000 ../src/curl -q --trace-ascii log/19/trace2000 --trace-time ftp://127.0.0.1:40075/2000 file://localhost/startdir/src/build-curl/tests/log/19/test2000.txt > log/19/stdout2000 2> log/19/stderr2000 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/12/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:36641/1977 > log/12/stdout1977 2> log/12/stderr1977 1977: stdout FAILED: --- log/12/check-expected 2026-01-28 17:51:32.606555366 +0000 +++ log/12/check-generated 2026-01-28 17:51:32.606555366 +0000 @@ -1,3 +0,0 @@ -effective URL: http://127.0.0.1:36641/1977[LF] -effective URL: http://127.0.0.1:36641/1977?foo[LF] -effective URL: http://127.0.0.1:36641/1977?foo&bar[LF] == Contents of files in the log/12/ directory after test 1977 === Start of file check-expected effective URL: http://127.0.0.1:36641/1977[LF] effective URL: http://127.0.0.1:36641/1977?foo[LF] effective URL: http://127.0.0.1:36641/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/12/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:36641/1977 > log/12/stdout1977 2> log/12/stderr1977 === End of file commands.log === Start of file http_server.log 17:51:30.242761 ====> Client connect 17:51:30.242801 accept_connection 3 returned 4 17:51:30.242835 accept_connection 3 returned 0 17:51:30.246908 Read 93 bytes 17:51:30.246930 Process 93 bytes request 17:51:30.246944 Got request: GET /verifiedserver HTTP/1.1 17:51:30.246953 Are-we-friendly question received 17:51:30.246997 Wrote request (93 bytes) input to log/12/server.input 17:51:30.247018 Identifying ourselves as friends 17:51:30.247088 Response sent (56 bytes) and written to log/12/server.response 17:51:30.247101 special request received, no persistency 17:51:30.247111 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 53708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file stderr1977 URL: http://127.0.0.1:36641/1977 === End of file stderr1977 === Start of file valgrind1977 ==171669== ==171669== Process terminating with default action of signal 4 (SIGILL) ==171669== Illegal opcode at address 0x51D97AF ==171669== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==171669== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==171669== by 0x51D97AF: Curl_open (url.c:502) ==171669== by 0x515120F: curl_easy_init (easy.c:365) ==171669== by 0x403EC37: test_lib1977.lto_priv.0 (lib1977.c:35) ==171669== by 0x40034B5: main (first.c:279) ==171669== 88 bytes in 1 blocks are definitely lost in loss record 639 of 789 ==171669== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171669== by 0x403EC13: test_lib1977.lto_priv.0 (lib1977.c:30) ==171669== by 0x40034B5: main (first.c:279) ==171669== ==171669== 5,512 bytes in 1 blocks are definitely lost in loss record 778 of 789 ==171669== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==171669== by 0x51D96BD: Curl_open (url.c:479) ==171669== by 0x515120F: curl_easy_init (easy.c:365) ==171669== by 0x403EC37: test_lib1977.lto_priv.0 (lib1977.c:35) ==171669== by 0x40034B5: main (first.c:279) ==171669== === End of file valgrind1977 CMD (33792): ../libtool --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/valgrind2001 ../src/curl -q --trace-ascii log/15/trace2001 --trace-time http://127.0.0.1:41057/20010001 ftp://127.0.0.1:44375/20010002 file://localhost/startdir/src/build-curl/tests/log/15/test2001.txt > log/15/stdout2001 2> log/15/stderr2001 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/19/valgrind2000 ../src/curl -q --trace-ascii log/19/trace2000 --trace-time ftp://127.0.0.1:40075/2000 file://localhost/startdir/src/build-curl/tests/log/19/test2000.txt > log/19/stdout2000 2> log/19/stderr2000 2000: stdout FAILED: --- log/19/check-expected 2026-01-28 17:51:32.936555365 +0000 +++ log/19/check-generated 2026-01-28 17:51:32.936555365 +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/19/ 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/19/valgrind2000 ../src/curl -q --trace-ascii log/19/trace2000 --trace-time ftp://127.0.0.1:40075/2000 file://localhost/startdir/src/build-curl/tests/log/19/test2000.txt > log/19/stdout2000 2> log/19/stderr2000 === End of file commands.log === Start of file ftp_server.log 17:51:30.838868 ====> Client connect 17:51:30.839043 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:30.839433 < "USER anonymous" 17:51:30.839471 > "331 We are happy you popped in![CR][LF]" 17:51:30.839668 < "PASS ftp@example.com" 17:51:30.839695 > "230 Welcome you silly person[CR][LF]" 17:51:30.839858 < "PWD" 17:51:30.839890 > "257 "/" is current directory[CR][LF]" 17:51:30.840063 < "EPSV" 17:51:30.840091 ====> Passive DATA channel requested by client 17:51:30.840106 DATA sockfilt for passive data channel starting... 17:51:30.850082 DATA sockfilt for passive data channel started (pid 171825) 17:51:30.850239 DATA sockfilt for passive data channel listens on port 43839 17:51:30.850295 > "229 Entering Passive Mode (|||43839|)[CR][LF]" 17:51:30.850316 Client has been notified that DATA conn will be accepted on port 43839 17:51:30.850649 Client connects to port 43839 17:51:30.850683 ====> Client established passive DATA connection on port 43839 17:51:30.850789 < "TYPE I" 17:51:30.850835 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:30.851083 < "SIZE verifiedserver" 17:51:30.851130 > "213 17[CR][LF]" 17:51:30.851305 < "RETR verifiedserver" 17:51:30.851347 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:30.851454 =====> Closing passive DATA connection... 17:51:30.851478 Server disconnects passive DATA connection 17:51:30.851755 Server disconnected passive DATA connection 17:51:30.851790 DATA sockfilt for passive data channel quits (pid 171825) 17:51:30.852048 DATA sockfilt for passive data channel quit (pid 171825) 17:51:30.852078 =====> Closed passive DATA connection 17:51:30.852112 > "226 File transfer complete[CR][LF]" 17:51:30.896980 < "QUIT" 17:51:30.897038 > "221 bye bye baby[CR][LF]" 17:51:30.898216 MAIN sockfilt said DISC 17:51:30.898251 ====> Client disconnected 17:51:30.898332 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:30.684903 ====> Client connect 17:51:30.685231 Received DATA (on stdin) 17:51:30.685245 > 146 bytes data, server => client 17:51:30.685257 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:30.685267 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:30.685276 '220 \___|\___/|_| \_\_____|\r\n' 17:51:30.685350 < 16 bytes data, client => server 17:51:30.685363 'USER anonymous\r\n' 17:51:30.685658 Received DATA (on stdin) 17:51:30.685670 > 33 bytes data, server => client 17:51:30.685685 '331 We are happy you popped in!\r\n' 17:51:30.685740 < 22 bytes data, client => server 17:51:30.685765 'PASS ftp@example.com\r\n' 17:51:30.685871 Received DATA (on stdin) 17:51:30.685884 > 30 bytes data, server => client 17:51:30.685894 '230 Welcome you silly person\r\n' 17:51:30.685944 < 5 bytes data, client => server 17:51:30.685959 'PWD\r\n' 17:51:30.686063 Received DATA (on stdin) 17:51:30.686074 > 30 bytes data, server => client 17:51:30.686083 '257 "/" is current directory\r\n' 17:51:30.686138 < 6 bytes data, client => server 17:51:30.686162 'EPSV\r\n' 17:51:30.696505 Received DATA (on stdin) 17:51:30.696527 > 39 bytes data, server => client 17:51:30.696539 '229 Entering Passive Mode (|||43839|)\r\n' 17:51:30.696740 < 8 bytes data, client => server 17:51:30.696757 'TYPE I\r\n' 17:51:30.697017 Received DATA (on stdin) 17:51:30.697031 > 33 bytes data, server => client 17:51:30.697042 '200 I modify TYPE as you wanted\r\n' 17:51:30.697098 < 21 bytes data, client => server 17:51:30.697114 'SIZE verifiedserver\r\n' 17:51:30.697312 Received DATA (on stdin) 17:51:30.697325 > 8 bytes data, server => client 17:51:30.697334 '213 17\r\n' 17:51:30.697387 < 21 bytes data, client => server 17:51:30.697402 'RETR verifiedserver\r\n' 17:51:30.697659 Received DATA (on stdin) 17:51:30.697673 > 29 bytes data, server => client 17:51:30.697683 '150 Binary junk (17 bytes).\r\n' 17:51:30.698292 Received DATA (on stdin) 17:51:30.698305 > 28 bytes data, server => client 17:51:30.698316 '226 File transfer complete\r\n' 17:51:30.742953 < 6 bytes data, client => server 17:51:30.742986 'QUIT\r\n' 17:51:30.743219 Received DATA (on stdin) 17:51:30.743232 > 18 bytes data, server => client 17:51:30.743242 '221 bye bye baby\r\n' 17:51:30.744337 ====> Client disconnect 17:51:30.744510 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:30.690825 Running IPv4 version 17:51:30.690920 Listening on port 43839 17:51:30.690965 Wrote pid 171825 to log/19/server/ftp_sockdata.pid 17:51:30.696160 Received PING (on stdin) 17:51:30.696308 Received PORT (on stdin) 17:51:30.696778 ====> Client connect 17:51:30.697745 Received DATA (on stdin) 17:51:30.697762 > 17 bytes data, server => client 17:51:30.697773 'WE ROOLZ: 81054\r\n' 17:51:30.697804 Received DISC (on stdin) 17:51:30.697818 ====> Client forcibly disconnected 17:51:30.697979 Received QUIT (on stdin) 17:51:30.697992 quits 17:51:30.698055 ============> 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 ==171873== ==171873== Process terminating with default action of signal 4 (SIGILL) ==171873== Illegal opcode at address 0x4014520 ==171873== at 0x4014520: getparameter (tool_getparam.c:2862) ==171873== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==171873== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==171873== by 0x4003728: main (tool_main.c:186) === End of file valgrind2000 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/15/valgrind2001 ../src/curl -q --trace-ascii log/15/trace2001 --trace-time http://127.0.0.1:41057/20010001 ftp://127.0.0.1:44375/20010002 file://localhost/startdir/src/build-curl/tests/log/15/test2001.txt > log/15/stdout2001 2> log/15/stderr2001 2001: stdout FAILED: --- log/15/check-expected 2026-01-28 17:51:33.073222032 +0000 +++ log/15/check-generated 2026-01-28 17:51:33.073222032 +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/15/ 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/15/valgrind2001 ../src/curl -q --trace-ascii log/15/trace2001 --trace-time http://127.0.0.1:41057/20010001 ftp://127.0.0.1:44375/20010002 file://localhost/startdir/src/build-curl/tests/log/15/test2001.txt > log/15/stdout2001 2> log/15/stderr2001 === End of file commands.log === Start of file ftp_server.log 17:51:31.020194 ====> Client connect 17:51:31.020391 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:31.023572 < "USER anonymous" 17:51:31.023622 > "331 We are happy you popped in![CR][LF]" 17:51:31.023815 < "PASS ftp@example.com" 17:51:31.023845 > "230 Welcome you silly person[CR][LF]" 17:51:31.023993 < "PWD" 17:51:31.024024 > "257 "/" is current directory[CR][LF]" 17:51:31.024176 < "EPSV" 17:51:31.024203 ====> Passive DATA channel requested by client 17:51:31.024216 DATA sockfilt for passive data channel starting... 17:51:31.028244 DATA sockfilt for passive data channel started (pid 171954) 17:51:31.028363 DATA sockfilt for passive data channel listens on port 41397 17:51:31.028411 > "229 Entering Passive Mode (|||41397|)[CR][LF]" 17:51:31.028431 Client has been notified that DATA conn will be accepted on port 41397 17:51:31.030094 Client connects to port 41397 17:51:31.030134 ====> Client established passive DATA connection on port 41397 17:51:31.030236 < "TYPE I" 17:51:31.030280 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:31.030503 < "SIZE verifiedserver" 17:51:31.030549 > "213 17[CR][LF]" 17:51:31.030731 < "RETR verifiedserver" 17:51:31.030774 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:31.030875 =====> Closing passive DATA connection... 17:51:31.030893 Server disconnects passive DATA connection 17:51:31.031152 Server disconnected passive DATA connection 17:51:31.031185 DATA sockfilt for passive data channel quits (pid 171954) 17:51:31.031443 DATA sockfilt for passive data channel quit (pid 171954) 17:51:31.031472 =====> Closed passive DATA connection 17:51:31.031505 > "226 File transfer complete[CR][LF]" 17:51:31.075540 < "QUIT" 17:51:31.075605 > "221 bye bye baby[CR][LF]" 17:51:31.078304 MAIN sockfilt said DISC 17:51:31.078356 ====> Client disconnected 17:51:31.078447 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:30.865076 ====> Client connect 17:51:30.866589 Received DATA (on stdin) 17:51:30.866608 > 146 bytes data, server => client 17:51:30.866620 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:30.866630 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:30.866639 '220 \___|\___/|_| \_\_____|\r\n' 17:51:30.869571 < 16 bytes data, client => server 17:51:30.869596 'USER anonymous\r\n' 17:51:30.869805 Received DATA (on stdin) 17:51:30.869818 > 33 bytes data, server => client 17:51:30.869829 '331 We are happy you popped in!\r\n' 17:51:30.869892 < 22 bytes data, client => server 17:51:30.869903 'PASS ftp@example.com\r\n' 17:51:30.870021 Received DATA (on stdin) 17:51:30.870032 > 30 bytes data, server => client 17:51:30.870042 '230 Welcome you silly person\r\n' 17:51:30.870088 < 5 bytes data, client => server 17:51:30.870097 'PWD\r\n' 17:51:30.870197 Received DATA (on stdin) 17:51:30.870207 > 30 bytes data, server => client 17:51:30.870217 '257 "/" is current directory\r\n' 17:51:30.870273 < 6 bytes data, client => server 17:51:30.870283 'EPSV\r\n' 17:51:30.874616 Received DATA (on stdin) 17:51:30.874633 > 39 bytes data, server => client 17:51:30.874645 '229 Entering Passive Mode (|||41397|)\r\n' 17:51:30.876176 < 8 bytes data, client => server 17:51:30.876196 'TYPE I\r\n' 17:51:30.876465 Received DATA (on stdin) 17:51:30.876480 > 33 bytes data, server => client 17:51:30.876491 '200 I modify TYPE as you wanted\r\n' 17:51:30.876561 < 21 bytes data, client => server 17:51:30.876577 'SIZE verifiedserver\r\n' 17:51:30.876728 Received DATA (on stdin) 17:51:30.876740 > 8 bytes data, server => client 17:51:30.876751 '213 17\r\n' 17:51:30.876806 < 21 bytes data, client => server 17:51:30.876819 'RETR verifiedserver\r\n' 17:51:30.877071 Received DATA (on stdin) 17:51:30.877084 > 29 bytes data, server => client 17:51:30.877094 '150 Binary junk (17 bytes).\r\n' 17:51:30.877685 Received DATA (on stdin) 17:51:30.877698 > 28 bytes data, server => client 17:51:30.877709 '226 File transfer complete\r\n' 17:51:30.919818 < 6 bytes data, client => server 17:51:30.919839 'QUIT\r\n' 17:51:30.921800 Received DATA (on stdin) 17:51:30.921819 > 18 bytes data, server => client 17:51:30.921830 '221 bye bye baby\r\n' 17:51:30.924406 ====> Client disconnect 17:51:30.924640 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:31.874063 Running IPv4 version 17:51:31.874153 Listening on port 41397 17:51:31.874195 Wrote pid 171954 to log/15/server/ftp_sockdata.pid 17:51:31.874360 Received PING (on stdin) 17:51:31.874450 Received PORT (on stdin) 17:51:31.876220 ====> Client connect 17:51:31.877160 Received DATA (on stdin) 17:51:31.877175 > 17 bytes data, server => client 17:51:31.877185 'WE ROOLZ: 81145\r\n' 17:51:31.877212 Received DISC (on stdin) 17:51:31.877223 ====> Client forcibly disconnected 17:51:31.877374 Received QUIT (on stdin) 17:51:31.877386 quits 17:51:31.877460 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 17:51:30.774258 ====> Client connect 17:51:30.774296 accept_connection 3 returned 4 17:51:30.774314 accept_connection 3 returned 0 17:51:30.774328 Read 93 bytes 17:51:30.774338 Process 93 bytes request 17:51:30.774352 Got request: GET /verifiedserver HTTP/1.1 17:51:30.774361 Are-we-friendly question received 17:51:30.774391 Wrote request (93 bytes) input to log/15/server.input 17:51:30.774409 Identifying ourselves as friends 17:51:30.776212 Response sent (56 bytes) and written to log/15/server.response 17:51:30.776230 special request received, no persistency 17:51:30.776240 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 48268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 17 WE ROOLZ: 74820 === End of file server.response === Start of file test2001.txt foo CMD (33792): ../libtool --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/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:46875/2026 digest basic > log/5/stdout2026 2> log/5/stderr2026 CMD (33792): ../libtool --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/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:34411/2023 basic basic > log/4/stdout2023 2> log/4/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/17/valgrind2002 ../src/curl -q --trace-ascii log/17/trace2002 --trace-time http://127.0.0.1:44593/20020001 ftp://127.0.0.1:38963/20020002 file://localhost/startdir/src/build-curl/tests/log/17/test2002.txt tftp://127.0.0.1:55797//20020003 > log/17/stdout2002 2> log/17/stderr2002 bar bar foo moo === End of file test2001.txt === Start of file valgrind2001 ==171995== ==171995== Process terminating with default action of signal 4 (SIGILL) ==171995== Illegal opcode at address 0x4014520 ==171995== at 0x4014520: getparameter (tool_getparam.c:2862) ==171995== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==171995== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==171995== by 0x4003728: main (tool_main.c:186) === End of file valgrind2001 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/5/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:46875/2026 digest basic > log/5/stdout2026 2> log/5/stderr2026 2026: 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 2026 === Start of file commands.log ../libtool --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/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:46875/2026 digest basic > log/5/stdout2026 2> log/5/stderr2026 === End of file commands.log === Start of file http_server.log 17:51:31.389178 ====> Client connect 17:51:31.389212 accept_connection 3 returned 4 17:51:31.389228 accept_connection 3 returned 0 17:51:31.389242 Read 93 bytes 17:51:31.389252 Process 93 bytes request 17:51:31.389268 Got request: GET /verifiedserver HTTP/1.1 17:51:31.389277 Are-we-friendly question received 17:51:31.389305 Wrote request (93 bytes) input to log/5/server.input 17:51:31.389321 Identifying ourselves as friends 17:51:31.389379 Response sent (56 bytes) and written to log/5/server.response 17:51:31.389388 special request received, no persistency 17:51:31.389397 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 42934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file stderr2026 URL: http://127.0.0.1:46875/2026 === End of file stderr2026 === Start of file valgrind2026 ==172369== ==172369== Process terminating with default action of signal 4 (SIGILL) ==172369== Illegal opcode at address 0x51D97AF ==172369== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==172369== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==172369== by 0x51D97AF: Curl_open (url.c:502) ==172369== by 0x515120F: curl_easy_init (easy.c:365) ==172369== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172369== by 0x40034B5: main (first.c:279) ==172369== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==172369== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172369== by 0x51D96BD: Curl_open (url.c:479) ==172369== by 0x515120F: curl_easy_init (easy.c:365) ==172369== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172369== by 0x40034B5: main (first.c:279) ==172369== === End of file valgrind2026 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/4/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:34411/2023 basic basic > log/4/stdout2023 2> log/4/stderr2023 2023: 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 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/4/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:34411/2023 basic basic > log/4/stdout2023 2> log/4/stderr2023 === End of file commands.log === Start of file http_server.log 17:51:31.145557 ====> Client connect 17:51:31.145590 accept_connection 3 returned 4 17:51:31.145606 accept_connection 3 returned 0 17:51:31.163031 Read 93 bytes 17:51:31.163061 Process 93 bytes request 17:51:31.163097 Got request: GET /verifiedserver HTTP/1.1 17:51:31.163107 Are-we-friendly question received 17:51:31.163161 Wrote request (93 bytes) input to log/4/server.input 17:51:31.163181 Identifying ourselves as friends 17:51:31.163241 Response sent (56 bytes) and written to log/4/server.response 17:51:31.163251 special request received, no persistency 17:51:31.163260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 39042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file stderr2023 URL: http://127.0.0.1:34411/2023 === End of file stderr2023 === Start of file valgrind2023 ==172165== ==172165== Process terminating with default action of signal 4 (SIGILL) ==172165== Illegal opcode at address 0x51D97AF ==172165== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==172165== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==172165== by 0x51D97AF: Curl_open (url.c:502) ==172165== by 0x515120F: curl_easy_init (easy.c:365) ==172165== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172165== by 0x40034B5: main (first.c:279) ==172165== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==172165== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172165== by 0x51D96BD: Curl_open (url.c:479) ==172165== by 0x515120F: curl_easy_init (easy.c:365) ==172165== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172165== by 0x40034B5: main (first.c:279) ==172165== === End of file valgrind2023 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/17/valgrind2002 ../src/curl -q --trace-ascii log/17/trace2002 --trace-time http://127.0.0.1:44593/20020001 ftp://127.0.0.1:38963/20020002 file://localhost/startdir/src/build-curl/tests/log/17/test2002.txt tftp://127.0.0.1:55797//20020003 > log/17/stdout2002 2> log/17/stderr2002 2002: stdout FAILED: --- log/17/check-expected 2026-01-28 17:51:33.473222032 +0000 +++ log/17/check-generated 2026-01-28 17:51:33.473222032 +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/17/ 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/17/valgrind2002 ../src/curl -q --trace-ascii log/17/trace2002 --trace-time http://127.0.0.1:44593/20020001 ftp://127.0.0.1:38963/20020002 file://localhost/startdir/src/build-curl/tests/log/17/test2002.txt tftp://127.0.0.1:55797//20020003 > log/17/stdout2002 2> log/17/stderr2002 === End of file commands.log === Start of file ftp_server.log 17:51:31.062752 ====> Client connect 17:51:31.062959 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:31.063307 < "USER anonymous" 17:51:31.063370 > "331 We are happy you popped in![CR][LF]" 17:51:31.063566 < "PASS ftp@example.com" 17:51:31.063596 > "230 Welcome you silly person[CR][LF]" 17:51:31.063750 < "PWD" 17:51:31.063783 > "257 "/" is current directory[CR][LF]" 17:51:31.063931 < "EPSV" 17:51:31.063957 ====> Passive DATA channel requested by client 17:51:31.063971 DATA sockfilt for passive data channel starting... 17:51:31.076690 DATA sockfilt for passive data channel started (pid 171983) 17:51:31.083442 DATA sockfilt for passive data channel listens on port 34555 17:51:31.083557 > "229 Entering Passive Mode (|||34555|)[CR][LF]" 17:51:31.083588 Client has been notified that DATA conn will be accepted on port 34555 17:51:31.090018 Client connects to port 34555 17:51:31.090091 ====> Client established passive DATA connection on port 34555 17:51:31.090227 < "TYPE I" 17:51:31.090285 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:31.090563 < "SIZE verifiedserver" 17:51:31.090624 > "213 17[CR][LF]" 17:51:31.090853 < "RETR verifiedserver" 17:51:31.090903 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:31.091026 =====> Closing passive DATA connection... 17:51:31.091049 Server disconnects passive DATA connection 17:51:31.100018 Server disconnected passive DATA connection 17:51:31.100101 DATA sockfilt for passive data channel quits (pid 171983) 17:51:31.103532 DATA sockfilt for passive data channel quit (pid 171983) 17:51:31.103591 =====> Closed passive DATA connection 17:51:31.103637 > "226 File transfer complete[CR][LF]" 17:51:31.137026 < "QUIT" 17:51:31.137090 > "221 bye bye baby[CR][LF]" 17:51:31.138449 MAIN sockfilt said DISC 17:51:31.138498 ====> Client disconnected 17:51:31.138591 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:30.908165 ====> Client connect 17:51:30.909162 Received DATA (on stdin) 17:51:30.909187 > 146 bytes data, server => client 17:51:30.909199 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:30.909209 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:30.909218 '220 \___|\___/|_| \_\_____|\r\n' 17:51:30.909339 < 16 bytes data, client => server 17:51:30.909354 'USER anonymous\r\n' 17:51:30.909553 Received DATA (on stdin) 17:51:30.909565 > 33 bytes data, server => client 17:51:30.909576 '331 We are happy you popped in!\r\n' 17:51:30.909638 < 22 bytes data, client => server 17:51:30.909649 'PASS ftp@example.com\r\n' 17:51:30.909770 Received DATA (on stdin) 17:51:30.909781 > 30 bytes data, server => client 17:51:30.909791 '230 Welcome you silly person\r\n' 17:51:30.909842 < 5 bytes data, client => server 17:51:30.909851 'PWD\r\n' 17:51:30.909956 Received DATA (on stdin) 17:51:30.909966 > 30 bytes data, server => client 17:51:30.909976 '257 "/" is current directory\r\n' 17:51:30.910030 < 6 bytes data, client => server 17:51:30.910040 'EPSV\r\n' 17:51:30.929785 Received DATA (on stdin) 17:51:30.929811 > 39 bytes data, server => client 17:51:30.929823 '229 Entering Passive Mode (|||34555|)\r\n' 17:51:30.930048 < 8 bytes data, client => server 17:51:30.930069 'TYPE I\r\n' 17:51:30.936475 Received DATA (on stdin) 17:51:30.936495 > 33 bytes data, server => client 17:51:30.936507 '200 I modify TYPE as you wanted\r\n' 17:51:30.936610 < 21 bytes data, client => server 17:51:30.936629 'SIZE verifiedserver\r\n' 17:51:30.936814 Received DATA (on stdin) 17:51:30.936831 > 8 bytes data, server => client 17:51:30.936841 '213 17\r\n' 17:51:30.936911 < 21 bytes data, client => server 17:51:30.936928 'RETR verifiedserver\r\n' 17:51:30.937234 Received DATA (on stdin) 17:51:30.937248 > 29 bytes data, server => client 17:51:30.937259 '150 Binary junk (17 bytes).\r\n' 17:51:30.949829 Received DATA (on stdin) 17:51:30.949849 > 28 bytes data, server => client 17:51:30.949859 '226 File transfer complete\r\n' 17:51:30.983004 < 6 bytes data, client => server 17:51:30.983046 'QUIT\r\n' 17:51:30.983283 Received DATA (on stdin) 17:51:30.983300 > 18 bytes data, server => client 17:51:30.983311 '221 bye bye baby\r\n' 17:51:30.984562 ====> Client disconnect 17:51:30.984781 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:31.913899 Running IPv4 version 17:51:31.913988 Listening on port 34555 17:51:31.914025 Wrote pid 171983 to log/17/server/ftp_sockdata.pid 17:51:31.919667 Received PING (on stdin) 17:51:31.926296 Received PORT (on stdin) 17:51:31.932837 ====> Client connect 17:51:31.942833 Received DATA (on stdin) 17:51:31.942871 > 17 bytes data, server => client 17:51:31.942881 'WE ROOLZ: 95543\r\n' 17:51:31.942942 Received DISC (on stdin) 17:51:31.942956 ====> Client forcibly disconnected 17:51:31.946294 Received QUIT (on stdin) 17:51:31.946321 quits 17:51:31.949496 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 17:51:30.798671 ====> Client connect 17:51:30.798706 accept_connection 3 returned 4 17:51:30.798723 accept_connection 3 returned 0 17:51:30.798737 Read 93 bytes 17:51:30.798747 Process 93 bytes request 17:51:30.798760 Got request: GET /verifiedserver HTTP/1.1 17:51:30.798768 Are-we-friendly question received 17:51:30.798791 Wrote request (93 bytes) input to log/17/server.input 17:51:30.798806 Identifying ourselves as friends 17:51:30.798861 Response sent (56 bytes) and written to log/17/server.response 17:51:30.798871 special request received, no persistency 17:51:30.798879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 55434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === End of file http_verify.out === Start of file 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/1/valgrind2005 ../src/curl -q --output log/1/curl2005.out --include --trace-ascii log/1/trace2005 --trace-time --netrc-optional --netrc-file log/1/netrc2005 http://127.0.0.1:39589/ > log/1/stdout2005 2> log/1/stderr2005 CMD (33792): ../libtool --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/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:37569/2025 basic ntlm > log/14/stdout2025 2> log/14/stderr2025 CMD (33792): ../libtool --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/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:44137/2027 digest digest > log/10/stdout2027 2> log/10/stderr2027 rver.cmd Testnum 2002 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74818 === 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 17:51:31.041708 trying to get file: verifiedserver mode 1 17:51:31.041741 Are-we-friendly question received 17:51:31.041755 write 17:51:31.041775 read 17:51:31.043914 read: 4 17:51:31.043993 end of one transfer === End of file tftp_server.log === Start of file valgrind2002 ==172062== ==172062== Process terminating with default action of signal 4 (SIGILL) ==172062== Illegal opcode at address 0x4014520 ==172062== at 0x4014520: getparameter (tool_getparam.c:2862) ==172062== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==172062== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==172062== by 0x4003728: main (tool_main.c:186) === End of file valgrind2002 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/1/valgrind2005 ../src/curl -q --output log/1/curl2005.out --include --trace-ascii log/1/trace2005 --trace-time --netrc-optional --netrc-file log/1/netrc2005 http://127.0.0.1:39589/ > log/1/stdout2005 2> log/1/stderr2005 2005: 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 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/1/valgrind2005 ../src/curl -q --output log/1/curl2005.out --include --trace-ascii log/1/trace2005 --trace-time --netrc-optional --netrc-file log/1/netrc2005 http://127.0.0.1:39589/ > log/1/stdout2005 2> log/1/stderr2005 === End of file commands.log === Start of file http_server.log 17:51:31.056238 ====> Client connect 17:51:31.056282 accept_connection 3 returned 4 17:51:31.056302 accept_connection 3 returned 0 17:51:31.056319 Read 93 bytes 17:51:31.056330 Process 93 bytes request 17:51:31.056344 Got request: GET /verifiedserver HTTP/1.1 17:51:31.056354 Are-we-friendly question received 17:51:31.056386 Wrote request (93 bytes) input to log/1/server.input 17:51:31.056406 Identifying ourselves as friends 17:51:31.056483 Response sent (56 bytes) and written to log/1/server.response 17:51:31.056496 special request received, no persistency 17:51:31.056505 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind2005 ==172066== ==172066== Process terminating with default action of signal 4 (SIGILL) ==172066== Illegal opcode at address 0x4014520 ==172066== at 0x4014520: getparameter (tool_getparam.c:2862) ==172066== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==172066== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==172066== by 0x4003728: main (tool_main.c:186) === End of file valgrind2005 test 2025...[HTTP authorization retry (Basic switching to NTLM)] ../libtool --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/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:37569/2025 basic ntlm > log/14/stdout2025 2> log/14/stderr2025 2025: 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 2025 === Start of file commands.log ../libtool --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/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:37569/2025 basic ntlm > log/14/stdout2025 2> log/14/stderr2025 === End of file commands.log === Start of file http_server.log 17:51:32.301860 ====> Client connect 17:51:32.301894 accept_connection 3 returned 4 17:51:32.301911 accept_connection 3 returned 0 17:51:32.301925 Read 93 bytes 17:51:32.301934 Process 93 bytes request 17:51:32.301948 Got request: GET /verifiedserver HTTP/1.1 17:51:32.301957 Are-we-friendly question received 17:51:32.301983 Wrote request (93 bytes) input to log/14/server.input 17:51:32.302000 Identifying ourselves as friends 17:51:32.302055 Response sent (56 bytes) and written to log/14/server.response 17:51:32.302065 special request received, no persistency 17:51:32.302074 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 42946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === End of file http_verify.out === Start of file server.cmd Testnum 2025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74822 === End of file server.response === Start of file stderr2025 URL: http://127.0.0.1:37569/2025 === End of file stderr2025 === Start of file valgrind2025 ==172309== ==172309== Process terminating with default action of signal 4 (SIGILL) ==172309== Illegal opcode at address 0x51D97AF ==172309== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==172309== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==172309== by 0x51D97AF: Curl_open (url.c:502) ==172309== by 0x515120F: curl_easy_init (easy.c:365) ==172309== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172309== by 0x40034B5: main (first.c:279) ==172309== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==172309== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172309== by 0x51D96BD: Curl_open (url.c:479) ==172309== by 0x515120F: curl_easy_init (easy.c:365) ==172309== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172309== by 0x40034B5: main (first.c:279) ==172309== === End of file valgrind2025 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/10/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:44137/2027 digest digest > log/10/stdout2027 2> log/10/stderr2027 2027: 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 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-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/23/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:39173/2024 basic digest > log/23/stdout2024 2> log/23/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/16/valgrind2003 ../src/curl -q --trace-ascii log/16/trace2003 --trace-time http://127.0.0.1:40899/20030001 ftp://127.0.0.1:39205/20030002 file://localhost/startdir/src/build-curl/tests/log/16/test2003.txt tftp://127.0.0.1:41697//20030003 tftp://127.0.0.1:41697//20030003 file://localhost/startdir/src/build-curl/tests/log/16/test2003.txt ftp://127.0.0.1:39205/20030002 http://127.0.0.1:40899/20030001 > log/16/stdout2003 2> log/16/stderr2003 =log/10/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:44137/2027 digest digest > log/10/stdout2027 2> log/10/stderr2027 === End of file commands.log === Start of file http_server.log 17:51:31.396426 ====> Client connect 17:51:31.396457 accept_connection 3 returned 4 17:51:31.396473 accept_connection 3 returned 0 17:51:31.396486 Read 93 bytes 17:51:31.396495 Process 93 bytes request 17:51:31.396508 Got request: GET /verifiedserver HTTP/1.1 17:51:31.396516 Are-we-friendly question received 17:51:31.396540 Wrote request (93 bytes) input to log/10/server.input 17:51:31.396555 Identifying ourselves as friends 17:51:31.396609 Response sent (57 bytes) and written to log/10/server.response 17:51:31.396617 special request received, no persistency 17:51:31.396625 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Established connection to 127.0.0.1 (127.0.0.1 port 44137) from 127.0.0.1 port 37210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.18.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:44137 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161230 === 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: 18 WE ROOLZ: 161230 === End of file server.response === Start of file stderr2027 URL: http://127.0.0.1:44137/2027 === End of file stderr2027 === Start of file valgrind2027 ==172467== ==172467== Process terminating with default action of signal 4 (SIGILL) ==172467== Illegal opcode at address 0x51D97AF ==172467== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==172467== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==172467== by 0x51D97AF: Curl_open (url.c:502) ==172467== by 0x515120F: curl_easy_init (easy.c:365) ==172467== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172467== by 0x40034B5: main (first.c:279) ==172467== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==172467== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172467== by 0x51D96BD: Curl_open (url.c:479) ==172467== by 0x515120F: curl_easy_init (easy.c:365) ==172467== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172467== by 0x40034B5: main (first.c:279) ==172467== === End of file valgrind2027 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/23/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:39173/2024 basic digest > log/23/stdout2024 2> log/23/stderr2024 2024: 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 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/23/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:39173/2024 basic digest > log/23/stdout2024 2> log/23/stderr2024 === End of file commands.log === Start of file http_server.log 17:51:32.284461 ====> Client connect 17:51:32.284497 accept_connection 3 returned 4 17:51:32.284512 accept_connection 3 returned 0 17:51:32.284525 Read 93 bytes 17:51:32.284534 Process 93 bytes request 17:51:32.284546 Got request: GET /verifiedserver HTTP/1.1 17:51:32.284554 Are-we-friendly question received 17:51:32.284578 Wrote request (93 bytes) input to log/23/server.input 17:51:32.284592 Identifying ourselves as friends 17:51:32.284646 Response sent (56 bytes) and written to log/23/server.response 17:51:32.284655 special request received, no persistency 17:51:32.284663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 49718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file stderr2024 URL: http://127.0.0.1:39173/2024 === End of file stderr2024 === Start of file valgrind2024 ==172264== ==172264== Process terminating with default action of signal 4 (SIGILL) ==172264== Illegal opcode at address 0x51D97AF ==172264== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==172264== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==172264== by 0x51D97AF: Curl_open (url.c:502) ==172264== by 0x515120F: curl_easy_init (easy.c:365) ==172264== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172264== by 0x40034B5: main (first.c:279) ==172264== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==172264== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172264== by 0x51D96BD: Curl_open (url.c:479) ==172264== by 0x515120F: curl_easy_init (easy.c:365) ==172264== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172264== by 0x40034B5: main (first.c:279) ==172264== === End of file valgrind2024 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/16/server/tftp_server.pid" --portfile "log/16/server/tftp_server.port" --logfile "log/16/tftp_server.log" --logdir "log/16" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 171996 port 41697 * pid tftp => 171996 171996 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/16/valgrind2003 ../src/curl -q --trace-ascii log/16/trace2003 --trace-time http://127.0.0.1:40899/20030001 ftp://127.0.0.1:39205/20030002 file://localhost/startdir/src/build-curl/tests/log/16/test2003.txt tftp://127.0.0.1:41697//20030003 tftp://127.0.0.1:41697//20030003 file://localhost/startdir/src/build-curl/tests/log/16/test2003.txt ftp://127.0.0.1:39205/20030002 http://127.0.0.1:40899/20030001 > log/16/stdout2003 2> log/16/stderr2003 2003: stdout FAILED: --- log/16/check-expected 2026-01-28 17:51:34.249888698 +0000 +++ log/16/check-generated 2026-01-28 17:51:34.249888698 +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/16/ 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/16/valgrind2003 ../src/curl -q --trace-ascii log/16/trace2003 --trace-time http://127.0.0.1:40899/20030001 ftp://127.0.0.1:39205/20030002 file://localhost/startdir/src/build-curl/tests/log/16/test2003.txt tftp://127.0.0.1:41697//20030003 tftp://127.0.0.1:41697//20030003 file://localhost/startdir/src/build-curl/tests/log/16/test2003.txt ftp://127.0.0.1:39205/20030002 http://127.0.0.1:40899/20030001 > log/16/stdout2003 2> log/16/stderr2003 === End of file commands.log === Start of file ftp_server.log 17:51:31.066697 ====> Client connect 17:51:31.066882 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:31.067205 < "USER anonymous" 17:51:31.067256 > "331 We are happy you popped in![CR][LF]" 17:51:31.067471 < "PASS ftp@example.com" 17:51:31.067514 > "230 Welcome you silly person[CR][LF]" 17:51:31.067711 < "PWD" 17:51:31.067758 > "257 "/" is current directory[CR][LF]" 17:51:31.067947 < "EPSV" 17:51:31.067979 ====> Passive DATA channel requested by client 17:51:31.067996 DATA sockfilt for passive data channel starting... 17:51:31.073597 DATA sockfilt for passive data channel started (pid 171988) 17:51:31.073774 DATA sockfilt for passive data channel listens on port 35675 17:51:31.073848 > "229 Entering Passive Mode (|||35675|)[CR][LF]" 17:51:31.073874 Client has been notified that DATA conn will be accepted on port 35675 17:51:31.074218 Client connects to port 35675 17:51:31.074255 ====> Client established passive DATA connection on port 35675 17:51:31.074369 < "TYPE I" 17:51:31.074416 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:31.074623 < "SIZE verifiedserver" 17:51:31.074669 > "213 17[CR][LF]" 17:51:31.074867 < "RETR verifiedserver" 17:51:31.074913 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:31.075026 =====> Closing passive DATA connection... 17:51:31.075049 Server disconnects passive DATA connection 17:51:31.075317 Server disconnected passive DATA connection 17:51:31.075353 DATA sockfilt for passive data channel quits (pid 171988) 17:51:31.075684 DATA sockfilt for passive data channel quit (pid 171988) 17:51:31.075715 =====> Closed passive DATA connection 17:51:31.075749 > "226 File transfer complete[CR][LF]" 17:51:31.123646 < "QUIT" 17:51:31.123705 > "221 bye bye baby[CR][LF]" 17:51:31.125099 MAIN sockfilt said DISC 17:51:31.125144 ====> Client disconnected 17:51:31.125233 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:30.912386 ====> Client connect 17:51:30.913082 Received DATA (on stdin) 17:51:30.913102 > 146 bytes data, server => client 17:51:30.913115 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:30.913127 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:30.913137 '220 \___|\___/|_| \_\_____|\r\n' 17:51:30.913234 < 16 bytes data, client => server 17:51:30.913252 'USER anonymous\r\n' 17:51:30.913445 Received DATA (on stdin) 17:51:30.913459 > 33 bytes data, server => client 17:51:30.913470 '331 We are happy you popped in!\r\n' 17:51:30.913530 < 22 bytes data, client => server 17:51:30.913545 'PASS ftp@example.com\r\n' 17:51:30.913697 Received DATA (on stdin) 17:51:30.913710 > 30 bytes data, server => client 17:51:30.913722 '230 Welcome you silly person\r\n' 17:51:30.913780 < 5 bytes data, client => server 17:51:30.913795 'PWD\r\n' 17:51:30.913938 Received DATA (on stdin) 17:51:30.913952 > 30 bytes data, server => client 17:51:30.913963 '257 "/" is current directory\r\n' 17:51:30.914026 < 6 bytes data, client => server 17:51:30.914038 'EPSV\r\n' 17:51:30.920063 Received DATA (on stdin) 17:51:30.920083 > 39 bytes data, server => client 17:51:30.920095 '229 Entering Passive Mode (|||35675|)\r\n' 17:51:30.920294 < 8 bytes data, client => server 17:51:30.920314 'TYPE I\r\n' 17:51:30.920599 Received DATA (on stdin) 17:51:30.920615 > 33 bytes data, server => client 17:51:30.920626 '200 I modify TYPE as you wanted\r\n' 17:51:30.920692 < 21 bytes data, client => server 17:51:30.920709 'SIZE verifiedserver\r\n' 17:51:30.920850 Received DATA (on stdin) 17:51:30.920865 > 8 bytes data, server => client 17:51:30.920876 '213 17\r\n' 17:51:30.920939 < 21 bytes data, client => server 17:51:30.920955 'RETR verifiedserver\r\n' 17:51:30.921232 Received DATA (on stdin) 17:51:30.921247 > 29 bytes data, server => client 17:51:30.921258 '150 Binary junk (17 bytes).\r\n' 17:51:30.921936 Received DATA (on stdin) 17:51:30.921950 > 28 bytes data, server => client 17:51:30.921962 '226 File transfer complete\r\n' 17:51:30.969622 < 6 bytes data, client => server 17:51:30.969658 'QUIT\r\n' 17:51:30.969886 Received DATA (on stdin) 17:51:30.969899 > 18 bytes data, server => client 17:51:30.969910 '221 bye bye baby\r\n' 17:51:30.971210 ====> Client disconnect 17:51:30.971410 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:31.917292 Running IPv4 version 17:51:31.917379 Listening on port 35675 17:51:31.917428 Wrote pid 171988 to log/16/server/ftp_sockdata.pid 17:51:31.919683 Received PING (on stdin) 17:51:31.919834 Received PORT (on stdin) 17:51:31.920340 ====> Client connect 17:51:31.921289 Received DATA (on stdin) 17:51:31.921304 > 17 bytes data, server => client 17:51:31.921316 'WE ROOLZ: 81124\r\n' 17:51:31.921345 Received DISC (on stdin) 17:51:31.921358 ====> Client forcibly disconnected 17:51:31.921544 Received QUIT (on stdin) 17:51:31.921558 quits 17:51:31.921647 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 17:51:30.839156 ====> Client connect 17:51:30.839361 accept_connection 3 returned 4 17:51:30.839382 accept_connection 3 returnCMD (33792): ../libtool --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/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:39649/2029 ntlm basic > log/24/stdout2029 2> log/24/stderr2029 CMD (33792): ../libtool --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/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:43845/2030 ntlm digest > log/13/stdout2030 2> log/13/stderr2030 CMD (33792): ../libtool --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/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:41669/2032 > log/21/stdout2032 2> log/21/stderr2032 ed 0 17:51:30.839398 Read 93 bytes 17:51:30.839408 Process 93 bytes request 17:51:30.839423 Got request: GET /verifiedserver HTTP/1.1 17:51:30.839432 Are-we-friendly question received 17:51:30.839510 Wrote request (93 bytes) input to log/16/server.input 17:51:30.839531 Identifying ourselves as friends 17:51:30.840921 Response sent (56 bytes) and written to log/16/server.response 17:51:30.840940 special request received, no persistency 17:51:30.840950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 50630 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === 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 17:51:31.004852 Wrote pid 171996 to log/16/server/tftp_server.pid 17:51:31.004929 Wrote port 41697 to log/16/server/tftp_server.port 17:51:31.004940 Running IPv4 version on port UDP/41697 === End of file tftp_server.log === Start of file valgrind2003 ==172994== ==172994== Process terminating with default action of signal 4 (SIGILL) ==172994== Illegal opcode at address 0x4014520 ==172994== at 0x4014520: getparameter (tool_getparam.c:2862) ==172994== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==172994== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==172994== by 0x4003728: main (tool_main.c:186) === End of file valgrind2003 test 2029...[HTTP authorization retry (NTLM 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/24/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:39649/2029 ntlm basic > log/24/stdout2029 2> log/24/stderr2029 2029: 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 2029 === Start of file commands.log ../libtool --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/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:39649/2029 ntlm basic > log/24/stdout2029 2> log/24/stderr2029 === End of file commands.log === Start of file http_server.log 17:51:31.608091 ====> Client connect 17:51:31.608129 accept_connection 3 returned 4 17:51:31.608147 accept_connection 3 returned 0 17:51:31.608161 Read 93 bytes 17:51:31.608171 Process 93 bytes request 17:51:31.608185 Got request: GET /verifiedserver HTTP/1.1 17:51:31.608194 Are-we-friendly question received 17:51:31.608220 Wrote request (93 bytes) input to log/24/server.input 17:51:31.608237 Identifying ourselves as friends 17:51:31.608316 Response sent (56 bytes) and written to log/24/server.response 17:51:31.608327 special request received, no persistency 17:51:31.608336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 35086 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === End of file http_verify.out === Start of file server.cmd Testnum 2029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74811 === End of file server.response === Start of file stderr2029 URL: http://127.0.0.1:39649/2029 === End of file stderr2029 === Start of file valgrind2029 ==172607== ==172607== Process terminating with default action of signal 4 (SIGILL) ==172607== Illegal opcode at address 0x51D97AF ==172607== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==172607== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==172607== by 0x51D97AF: Curl_open (url.c:502) ==172607== by 0x515120F: curl_easy_init (easy.c:365) ==172607== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172607== by 0x40034B5: main (first.c:279) ==172607== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==172607== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172607== by 0x51D96BD: Curl_open (url.c:479) ==172607== by 0x515120F: curl_easy_init (easy.c:365) ==172607== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172607== by 0x40034B5: main (first.c:279) ==172607== === End of file valgrind2029 test 2030...[HTTP authorization retry (NTLM 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/13/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:43845/2030 ntlm digest > log/13/stdout2030 2> log/13/stderr2030 2030: 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 2030 === Start of file commands.log ../libtool --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/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:43845/2030 ntlm digest > log/13/stdout2030 2> log/13/stderr2030 === End of file commands.log === Start of file http_server.log 17:51:32.652179 ====> Client connect 17:51:32.652211 accept_connection 3 returned 4 17:51:32.652228 accept_connection 3 returned 0 17:51:32.652242 Read 93 bytes 17:51:32.652251 Process 93 bytes request 17:51:32.652265 Got request: GET /verifiedserver HTTP/1.1 17:51:32.652274 Are-we-friendly question received 17:51:32.652299 Wrote request (93 bytes) input to log/13/server.input 17:51:32.652316 Identifying ourselves as friends 17:51:32.652372 Response sent (56 bytes) and written to log/13/server.response 17:51:32.652381 special request received, no persistency 17:51:32.652390 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 42370 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === End of file http_verify.out === Start of file server.cmd Testnum 2030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74871 === End of file server.response === Start of file stderr2030 URL: http://127.0.0.1:43845/2030 === End of file stderr2030 === Start of file valgrind2030 ==172678== ==172678== Process terminating with default action of signal 4 (SIGILL) ==172678== Illegal opcode at address 0x51D97AF ==172678== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==172678== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==172678== by 0x51D97AF: Curl_open (url.c:502) ==172678== by 0x51CMD (33792): ../libtool --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/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:46725/2031 ntlm ntlm > log/20/stdout2031 2> log/20/stderr2031 CMD (33792): ../libtool --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/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:35671/2028 digest ntlm > log/7/stdout2028 2> log/7/stderr2028 5120F: curl_easy_init (easy.c:365) ==172678== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172678== by 0x40034B5: main (first.c:279) ==172678== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==172678== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172678== by 0x51D96BD: Curl_open (url.c:479) ==172678== by 0x515120F: curl_easy_init (easy.c:365) ==172678== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172678== by 0x40034B5: main (first.c:279) ==172678== === End of file valgrind2030 test 2032...[NTLM connection mapping] ../libtool --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/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:41669/2032 > log/21/stdout2032 2> log/21/stderr2032 2032: 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 2032 === Start of file commands.log ../libtool --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/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:41669/2032 > log/21/stdout2032 2> log/21/stderr2032 === End of file commands.log === Start of file http_server.log 17:51:31.709575 ====> Client connect 17:51:31.709622 accept_connection 3 returned 4 17:51:31.709640 accept_connection 3 returned 0 17:51:31.709658 Read 93 bytes 17:51:31.709668 Process 93 bytes request 17:51:31.709681 Got request: GET /verifiedserver HTTP/1.1 17:51:31.709690 Are-we-friendly question received 17:51:31.709720 Wrote request (93 bytes) input to log/21/server.input 17:51:31.709736 Identifying ourselves as friends 17:51:31.709812 Response sent (56 bytes) and written to log/21/server.response 17:51:31.709822 special request received, no persistency 17:51:31.709831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 51720 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === End of file http_verify.out === Start of file server.cmd Testnum 2032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74814 === End of file server.response === Start of file stderr2032 URL: http://127.0.0.1:41669/2032 === End of file stderr2032 === Start of file valgrind2032 ==172653== ==172653== Process terminating with default action of signal 4 (SIGILL) ==172653== Illegal opcode at address 0x51A0F00 ==172653== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==172653== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==172653== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==172653== by 0x4041D01: test_lib2032.lto_priv.0 (lib2032.c:113) ==172653== by 0x40034B5: main (first.c:279) ==172653== 728 bytes in 1 blocks are definitely lost in loss record 715 of 788 ==172653== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172653== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==172653== by 0x4041D01: test_lib2032.lto_priv.0 (lib2032.c:113) ==172653== by 0x40034B5: main (first.c:279) ==172653== === End of file valgrind2032 test 2031...[HTTP authorization retry (NTLM)] ../libtool --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/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:46725/2031 ntlm ntlm > log/20/stdout2031 2> log/20/stderr2031 2031: 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 2031 === Start of file commands.log ../libtool --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/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:46725/2031 ntlm ntlm > log/20/stdout2031 2> log/20/stderr2031 === End of file commands.log === Start of file http_server.log 17:51:31.729402 ====> Client connect 17:51:31.729441 accept_connection 3 returned 4 17:51:31.729460 accept_connection 3 returned 0 17:51:31.729495 Read 93 bytes 17:51:31.729505 Process 93 bytes request 17:51:31.729518 Got request: GET /verifiedserver HTTP/1.1 17:51:31.729528 Are-we-friendly question received 17:51:31.729559 Wrote request (93 bytes) input to log/20/server.input 17:51:31.729578 Identifying ourselves as friends 17:51:31.729643 Response sent (56 bytes) and written to log/20/server.response 17:51:31.729656 special request received, no persistency 17:51:31.729665 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 51374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === End of file http_verify.out === Start of file server.cmd Testnum 2031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74815 === End of file server.response === Start of file stderr2031 URL: http://127.0.0.1:46725/2031 === End of file stderr2031 === Start of file valgrind2031 ==172733== ==172733== Process terminating with default action of signal 4 (SIGILL) ==172733== Illegal opcode at address 0x51D97AF ==172733== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==172733== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==172733== by 0x51D97AF: Curl_open (url.c:502) ==172733== by 0x515120F: curl_easy_init (easy.c:365) ==172733== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172733== by 0x40034B5: main (first.c:279) ==172733== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==172733== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172733== by 0x51D96BD: Curl_open (url.c:479) ==172733== by 0x515120F: curl_easy_init (easy.c:365) ==172733== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172733== by 0x40034B5: main (first.c:279) ==172733== === End of file valgrind2031 test 2028...[HTTP authorization retry (Digest switching to NTLM)] ../libtool --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/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:35671/2028 digest ntlm > log/7/stdout2028 2> log/7/stderr2028 2028: 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 2028 === Start of file commands.log ../libtool --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/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:35671/2028 digest ntlm > log/7/stdout2028 2> log/7/stderr2028 === End of file commands.log === Start of file http_server.log 17:51:31.609919 ====> Client connect 17:51:31.609953 accept_connection 3 returned 4 17:51:31.609969 accept_connection 3 returned 0 17:51:31.CMD (33792): ../libtool --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/valgrind2039 ../src/curl -q --output log/18/curl2039.out --include --trace-ascii log/18/trace2039 --trace-time --netrc-optional --netrc-file log/18/netrc2039 ftp://127.0.0.1:36869/ > log/18/stdout2039 2> log/18/stderr2039 609983 Read 93 bytes 17:51:31.609993 Process 93 bytes request 17:51:31.610004 Got request: GET /verifiedserver HTTP/1.1 17:51:31.610013 Are-we-friendly question received 17:51:31.610037 Wrote request (93 bytes) input to log/7/server.input 17:51:31.610053 Identifying ourselves as friends 17:51:31.610114 Response sent (56 bytes) and written to log/7/server.response 17:51:31.610123 special request received, no persistency 17:51:31.610132 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 52286 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === End of file http_verify.out === Start of file server.cmd Testnum 2028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75084 === End of file server.response === Start of file stderr2028 URL: http://127.0.0.1:35671/2028 === End of file stderr2028 === Start of file valgrind2028 ==172597== ==172597== Process terminating with default action of signal 4 (SIGILL) ==172597== Illegal opcode at address 0x51D97AF ==172597== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==172597== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==172597== by 0x51D97AF: Curl_open (url.c:502) ==172597== by 0x515120F: curl_easy_init (easy.c:365) ==172597== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172597== by 0x40034B5: main (first.c:279) ==172597== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==172597== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172597== by 0x51D96BD: Curl_open (url.c:479) ==172597== by 0x515120F: curl_easy_init (easy.c:365) ==172597== by 0x4041A0C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172597== by 0x40034B5: main (first.c:279) ==172597== === End of file valgrind2028 test 2039...[FTP (optional .netrc with 'default' override; 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/18/valgrind2039 ../src/curl -q --output log/18/curl2039.out --include --trace-ascii log/18/trace2039 --trace-time --netrc-optional --netrc-file log/18/netrc2039 ftp://127.0.0.1:36869/ > log/18/stdout2039 2> log/18/stderr2039 2039: 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 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/18/valgrind2039 ../src/curl -q --output log/18/curl2039.out --include --trace-ascii log/18/trace2039 --trace-time --netrc-optional --netrc-file log/18/netrc2039 ftp://127.0.0.1:36869/ > log/18/stdout2039 2> log/18/stderr2039 === End of file commands.log === Start of file ftp_server.log 17:51:31.921694 ====> Client connect 17:51:31.921856 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:31.922117 < "USER anonymous" 17:51:31.922150 > "331 We are happy you popped in![CR][LF]" 17:51:31.922295 < "PASS ftp@example.com" 17:51:31.922318 > "230 Welcome you silly person[CR][LF]" 17:51:31.922452 < "PWD" 17:51:31.922477 > "257 "/" is current directory[CR][LF]" 17:51:31.922612 < "EPSV" 17:51:31.922634 ====> Passive DATA channel requested by client 17:51:31.922647 DATA sockfilt for passive data channel starting... 17:51:31.934753 DATA sockfilt for passive data channel started (pid 172664) 17:51:31.934906 DATA sockfilt for passive data channel listens on port 44345 17:51:31.934956 > "229 Entering Passive Mode (|||44345|)[CR][LF]" 17:51:31.934974 Client has been notified that DATA conn will be accepted on port 44345 17:51:31.935284 Client connects to port 44345 17:51:31.935319 ====> Client established passive DATA connection on port 44345 17:51:31.935467 < "TYPE I" 17:51:31.935509 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:31.935696 < "SIZE verifiedserver" 17:51:31.935738 > "213 17[CR][LF]" 17:51:31.935919 < "RETR verifiedserver" 17:51:31.935957 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:31.936056 =====> Closing passive DATA connection... 17:51:31.936080 Server disconnects passive DATA connection 17:51:31.936343 Server disconnected passive DATA connection 17:51:31.936375 DATA sockfilt for passive data channel quits (pid 172664) 17:51:31.936676 DATA sockfilt for passive data channel quit (pid 172664) 17:51:31.936707 =====> Closed passive DATA connection 17:51:31.936740 > "226 File transfer complete[CR][LF]" 17:51:31.983778 < "QUIT" 17:51:31.983834 > "221 bye bye baby[CR][LF]" 17:51:31.985062 MAIN sockfilt said DISC 17:51:31.985095 ====> Client disconnected 17:51:31.985163 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:32.767741 ====> Client connect 17:51:32.768042 Received DATA (on stdin) 17:51:32.768056 > 146 bytes data, server => client 17:51:32.768066 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:32.768075 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:32.768083 '220 \___|\___/|_| \_\_____|\r\n' 17:51:32.768153 < 16 bytes data, client => server 17:51:32.768164 'USER anonymous\r\n' 17:51:32.768324 Received DATA (on stdin) 17:51:32.768335 > 33 bytes data, server => client 17:51:32.768344 '331 We are happy you popped in!\r\n' 17:51:32.768389 < 22 bytes data, client => server 17:51:32.768399 'PASS ftp@example.com\r\n' 17:51:32.768490 Received DATA (on stdin) 17:51:32.768499 > 30 bytes data, server => client 17:51:32.768509 '230 Welcome you silly person\r\n' 17:51:32.768549 < 5 bytes data, client => server 17:51:32.768558 'PWD\r\n' 17:51:32.768648 Received DATA (on stdin) 17:51:32.768657 > 30 bytes data, server => client 17:51:32.768666 '257 "/" is current directory\r\n' 17:51:32.768715 < 6 bytes data, client => server 17:51:32.768724 'EPSV\r\n' 17:51:32.781157 Received DATA (on stdin) 17:51:32.781175 > 39 bytes data, server => client 17:51:32.781185 '229 Entering Passive Mode (|||44345|)\r\n' 17:51:32.781518 < 8 bytes data, client => server 17:51:32.781533 'TYPE I\r\n' 17:51:32.781694 Received DATA (on stdin) 17:51:32.781707 > 33 bytes data, server => client 17:51:32.781717 '200 I modify TYPE as you wanted\r\n' 17:51:32.781773 < 21 bytes data, client => server 17:51:32.781788 'SIZE verifiedserver\r\n' 17:51:32.781920 Received DATA (on stdin) 17:51:32.781933 > 8 bytes data, server => client 17:51:32.781943 '213 17\r\n' 17:51:32.781999 < 21 bytes data, client => server 17:51:32.782014 'RETR verifiedserver\r\n' 17:51:32.782261 Received DATA (on stdin) 17:51:32.782274 > 29 bytes data, server => client 17:51:32.782284 '150 Binary junk (17 bytes).\r\n' 17:51:32.782920 Received DATA (on stdin) 17:51:32.782933 > 28 bytes data, server => client 17:51:32.782944 '226 File transfer complete\r\n' 17:51:32.829368 < 6 bytes data, client => server 17:51:32.829396 'QUIT\r\n' 17:51:32.830017 Received DATA (on stdin) 17:51:32.830031 > 18 bytes data, server => client 17:51:32.830042 '221 bye bye baby\r\n' 17:51:32.831185 ====> Client disconnect 17:51:32.831345 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:31.780494 Running IPv4 version 17:51:31.780612 Listening on port 44345 17:51:31.780658 Wrote pid 172664 to log/18/server/ftp_sockdata.pid 17:51:31.780859 Received PING (on stdin) 17:51:31.780977 Received PORT (onCMD (33792): ../libtool --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/valgrind2045 ../src/curl -q --output log/8/curl2045.out --include --trace-ascii log/8/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:42799 > log/8/stdout2045 2> log/8/stderr2045 CMD (33792): ../libtool --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/valgrind2046 ../src/curl -q --include --trace-ascii log/9/trace2046 --trace-time http://åäö.se:37413/2046 --resolve xn--4cab6c.se:37413: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/9/stdout2046 2> log/9/stderr2046 stdin) 17:51:31.781405 ====> Client connect 17:51:31.782313 Received DATA (on stdin) 17:51:31.782327 > 17 bytes data, server => client 17:51:31.782337 'WE ROOLZ: 82094\r\n' 17:51:31.782370 Received DISC (on stdin) 17:51:31.782384 ====> Client forcibly disconnected 17:51:31.782566 Received QUIT (on stdin) 17:51:31.782579 quits 17:51:31.782655 ============> 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 ==172748== ==172748== Process terminating with default action of signal 4 (SIGILL) ==172748== Illegal opcode at address 0x4014520 ==172748== at 0x4014520: getparameter (tool_getparam.c:2862) ==172748== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==172748== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==172748== by 0x4003728: main (tool_main.c:186) === End of file valgrind2039 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/8/valgrind2045 ../src/curl -q --output log/8/curl2045.out --include --trace-ascii log/8/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:42799 > log/8/stdout2045 2> log/8/stderr2045 curl returned 132, when expecting 8 2045: exit FAILED == Contents of files in the log/8/ 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/8/valgrind2045 ../src/curl -q --output log/8/curl2045.out --include --trace-ascii log/8/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:42799 > log/8/stdout2045 2> log/8/stderr2045 === End of file commands.log === Start of file ftp_server.log 17:51:32.183249 ====> Client connect 17:51:32.183434 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:32.183718 < "USER anonymous" 17:51:32.183751 > "331 We are happy you popped in![CR][LF]" 17:51:32.183910 < "PASS ftp@example.com" 17:51:32.183937 > "230 Welcome you silly person[CR][LF]" 17:51:32.184076 < "PWD" 17:51:32.184105 > "257 "/" is current directory[CR][LF]" 17:51:32.184254 < "EPSV" 17:51:32.184276 ====> Passive DATA channel requested by client 17:51:32.184290 DATA sockfilt for passive data channel starting... 17:51:32.193637 DATA sockfilt for passive data channel started (pid 172998) 17:51:32.193797 DATA sockfilt for passive data channel listens on port 43857 17:51:32.193858 > "229 Entering Passive Mode (|||43857|)[CR][LF]" 17:51:32.193881 Client has been notified that DATA conn will be accepted on port 43857 17:51:32.203371 Client connects to port 43857 17:51:32.203489 ====> Client established passive DATA connection on port 43857 17:51:32.203633 < "TYPE I" 17:51:32.203685 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:32.203961 < "SIZE verifiedserver" 17:51:32.204003 > "213 17[CR][LF]" 17:51:32.204167 < "RETR verifiedserver" 17:51:32.204204 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:32.204312 =====> Closing passive DATA connection... 17:51:32.204330 Server disconnects passive DATA connection 17:51:32.204771 Server disconnected passive DATA connection 17:51:32.204801 DATA sockfilt for passive data channel quits (pid 172998) 17:51:32.205115 DATA sockfilt for passive data channel quit (pid 172998) 17:51:32.205143 =====> Closed passive DATA connection 17:51:32.205175 > "226 File transfer complete[CR][LF]" 17:51:32.251612 < "QUIT" 17:51:32.251677 > "221 bye bye baby[CR][LF]" 17:51:32.252938 MAIN sockfilt said DISC 17:51:32.252977 ====> Client disconnected 17:51:32.253076 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:33.029286 ====> Client connect 17:51:33.029623 Received DATA (on stdin) 17:51:33.029638 > 146 bytes data, server => client 17:51:33.029650 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:33.029661 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:33.029671 '220 \___|\___/|_| \_\_____|\r\n' 17:51:33.029746 < 16 bytes data, client => server 17:51:33.029758 'USER anonymous\r\n' 17:51:33.029927 Received DATA (on stdin) 17:51:33.029939 > 33 bytes data, server => client 17:51:33.029949 '331 We are happy you popped in!\r\n' 17:51:33.029998 < 22 bytes data, client => server 17:51:33.030008 'PASS ftp@example.com\r\n' 17:51:33.030110 Received DATA (on stdin) 17:51:33.030120 > 30 bytes data, server => client 17:51:33.030131 '230 Welcome you silly person\r\n' 17:51:33.030175 < 5 bytes data, client => server 17:51:33.030184 'PWD\r\n' 17:51:33.030279 Received DATA (on stdin) 17:51:33.030289 > 30 bytes data, server => client 17:51:33.030299 '257 "/" is current directory\r\n' 17:51:33.030351 < 6 bytes data, client => server 17:51:33.030361 'EPSV\r\n' 17:51:33.040070 Received DATA (on stdin) 17:51:33.040089 > 39 bytes data, server => client 17:51:33.040100 '229 Entering Passive Mode (|||43857|)\r\n' 17:51:33.040317 < 8 bytes data, client => server 17:51:33.040335 'TYPE I\r\n' 17:51:33.049877 Received DATA (on stdin) 17:51:33.049898 > 33 bytes data, server => client 17:51:33.049909 '200 I modify TYPE as you wanted\r\n' 17:51:33.050038 < 21 bytes data, client => server 17:51:33.050054 'SIZE verifiedserver\r\n' 17:51:33.050179 Received DATA (on stdin) 17:51:33.050191 > 8 bytes data, server => client 17:51:33.050201 '213 17\r\n' 17:51:33.050255 < 21 bytes data, client => server 17:51:33.050268 'RETR verifiedserver\r\n' 17:51:33.050508 Received DATA (on stdin) 17:51:33.050520 > 29 bytes data, server => client 17:51:33.050530 '150 Binary junk (17 bytes).\r\n' 17:51:33.051354 Received DATA (on stdin) 17:51:33.051366 > 28 bytes data, server => client 17:51:33.051377 '226 File transfer complete\r\n' 17:51:33.097568 < 6 bytes data, client => server 17:51:33.097605 'QUIT\r\n' 17:51:33.097866 Received DATA (on stdin) 17:51:33.097881 > 18 bytes data, server => client 17:51:33.097892 '221 bye bye baby\r\n' 17:51:33.099056 ====> Client disconnect 17:51:33.099262 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:32.034044 Running IPv4 version 17:51:32.034127 Listening on port 43857 17:51:32.034166 Wrote pid 172998 to log/8/server/ftp_sockdata.pid 17:51:32.039702 Received PING (on stdin) 17:51:32.039863 Received PORT (on stdin) 17:51:32.046189 ====> Client connect 17:51:32.050558 Received DATA (on stdin) 17:51:32.050574 > 17 bytes data, server => client 17:51:32.050585 'WE ROOLZ: 81155\r\n' 17:51:32.050791 Received DISC (on stdin) 17:51:32.050807 ====> Client forcibly disconnected 17:51:32.050988 Received QUIT (on stdin) 17:51:32.051000 quits 17:51:32.051081 ============> 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 ==173068== ==173068== Process terminating with default action of signal 4 (SIGILL) ==173068== Illegal opcode at address 0x4014520 ==173068== at 0x4014520: getparameter (tool_getparam.c:2862) ==173068== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173068== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173068== by 0x4003728: main (tool_main.c:186) === End of file valgrind2045 CMD (33792): ../libtool --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/valgrind2040 ../src/curl -q --trace-ascii log/22/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:42933/20400100 --next --no-basic http://127.0.0.1:42933/20400200 > log/22/stdout2040 2> log/22/stderr2040 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/9/valgrind2046 ../src/curl -q --include --trace-ascii log/9/trace2046 --trace-time http://åäö.se:37413/2046 --resolve xn--4cab6c.se:37413: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/9/stdout2046 2> log/9/stderr2046 2046: stdout FAILED: --- log/9/check-expected 2026-01-28 17:51:34.769888698 +0000 +++ log/9/check-generated 2026-01-28 17:51:34.769888698 +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:37413/20460001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/9/ 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:37413/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/9/valgrind2046 ../src/curl -q --include --trace-ascii log/9/trace2046 --trace-time http://åäö.se:37413/2046 --resolve xn--4cab6c.se:37413: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/9/stdout2046 2> log/9/stderr2046 === End of file commands.log === Start of file http_server.log 17:51:32.186217 ====> Client connect 17:51:32.186257 accept_connection 3 returned 4 17:51:32.186275 accept_connection 3 returned 0 17:51:32.186970 Read 93 bytes 17:51:32.186987 Process 93 bytes request 17:51:32.187004 Got request: GET /verifiedserver HTTP/1.1 17:51:32.187013 Are-we-friendly question received 17:51:32.187046 Wrote request (93 bytes) input to log/9/server.input 17:51:32.187064 Identifying ourselves as friends 17:51:32.187124 Response sent (56 bytes) and written to log/9/server.response 17:51:32.187134 special request received, no persistency 17:51:32.187142 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 58134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file valgrind2046 ==173156== ==173156== Process terminating with default action of signal 4 (SIGILL) ==173156== Illegal opcode at address 0x4014520 ==173156== at 0x4014520: getparameter (tool_getparam.c:2862) ==173156== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173156== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173156== by 0x4003728: main (tool_main.c:186) === End of file valgrind2046 CMD (33792): ../libtool --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/valgrind2044 ../src/curl -q --output log/11/curl2044.out --include --trace-ascii log/11/trace2044 --trace-time --proto-default DOESNOTEXIST > log/11/stdout2044 2> log/11/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/6/valgrind2047 ../src/curl -q --include --trace-ascii log/6/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:33191 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/6/stdout2047 2> log/6/stderr2047 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/22/valgrind2040 ../src/curl -q --trace-ascii log/22/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:42933/20400100 --next --no-basic http://127.0.0.1:42933/20400200 > log/22/stdout2040 2> log/22/stderr2040 2040: stdout FAILED: --- log/22/check-expected 2026-01-28 17:51:34.946555364 +0000 +++ log/22/check-generated 2026-01-28 17:51:34.946555364 +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/22/ 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/22/valgrind2040 ../src/curl -q --trace-ascii log/22/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:42933/20400100 --next --no-basic http://127.0.0.1:42933/20400200 > log/22/stdout2040 2> log/22/stderr2040 === End of file commands.log === Start of file http_server.log 17:51:31.913844 ====> Client connect 17:51:31.913880 accept_connection 3 returned 4 17:51:31.913895 accept_connection 3 returned 0 17:51:31.913910 Read 93 bytes 17:51:31.913918 Process 93 bytes request 17:51:31.913931 Got request: GET /verifiedserver HTTP/1.1 17:51:31.913939 Are-we-friendly question received 17:51:31.913962 Wrote request (93 bytes) input to log/22/server.input 17:51:31.913978 Identifying ourselves as friends 17:51:31.914035 Response sent (56 bytes) and written to log/22/server.response 17:51:31.914043 special request received, no persistency 17:51:31.914051 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 37054 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind2040 ==172885== ==172885== Process terminating with default action of signal 4 (SIGILL) ==172885== Illegal opcode at address 0x4014520 ==172885== at 0x4014520: getparameter (tool_getparam.c:2862) ==172885== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==172885== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==172885== by 0x4003728: main (tool_main.c:186) === End of file valgrind2040 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/11/valgrind2044 ../src/curl -q --output log/11/curl2044.out --include --trace-ascii log/11/trace2044 --trace-time --proto-default DOESNOTEXIST > log/11/stdout2044 2> log/11/stderr2044 curl returned 132, when expecting 1 2044: exit FAILED == Contents of files in the log/11/ 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/11/valgrind2044 ../src/curl -q --output log/11/curl2044.out --include --trace-ascii log/11/trace2044 --trace-time --proto-default DOESNOTEXIST > log/11/stdout2044 2> log/11/stderr2044 === End of file commands.log === Start of file server.cmd Testnum 2044 === End of file server.cmd === Start of file valgrind2044 ==172865== ==172865== Process terminating with default action of signal 4 (SIGILL) ==172865== Illegal opcode at address 0x4014520 ==172865== at 0x4014520: getparameter (tool_getparam.c:2862) ==172865== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==172865== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==172865== by 0x4003728: main (tool_main.c:186) === End of file valgrind2044 CMD (33792): ../libtool --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/valgrind2050 ../src/curl -q --output log/3/curl2050.out --include --trace-ascii log/3/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:45927 -x 127.0.0.1:36197 > log/3/stdout2050 2> log/3/stderr2050 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/6/valgrind2047 ../src/curl -q --include --trace-ascii log/6/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:33191 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/6/stdout2047 2> log/6/stderr2047 2047: stdout FAILED: --- log/6/check-expected 2026-01-28 17:51:35.133222031 +0000 +++ log/6/check-generated 2026-01-28 17:51:35.133222031 +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/6/ 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/6/valgrind2047 ../src/curl -q --include --trace-ascii log/6/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:33191 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/6/stdout2047 2> log/6/stderr2047 === End of file commands.log === Start of file http_server.log 17:51:32.312924 ====> Client connect 17:51:32.312967 accept_connection 3 returned 4 17:51:32.312986 accept_connection 3 returned 0 17:51:32.313001 Read 93 bytes 17:51:32.313010 Process 93 bytes request 17:51:32.313021 Got request: GET /verifiedserver HTTP/1.1 17:51:32.313029 Are-we-friendly question received 17:51:32.313052 Wrote request (93 bytes) input to log/6/server.input 17:51:32.313067 Identifying ourselves as friends 17:51:32.313139 Response sent (57 bytes) and written to log/6/server.response 17:51:32.313148 special request received, no persistency 17:51:32.313156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33191... * Established connection to 127.0.0.1 (127.0.0.1 port 33191) from 127.0.0.1 port 43974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33191 > User-Agent: curl/8.18.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:33191 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 164364 === 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: 18 WE ROOLZ: 164364 === End of file server.response === Start of file valgrind2047 ==173250== ==173250== Process terminating with default action of signal 4 (SIGILL) ==173250== Illegal opcode at address 0x4014520 ==173250== at 0x4014520: getparameter (tool_getparam.c:2862) ==173250== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173250== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173250== by 0x4003728: main (tool_main.c:186) === End of file valgrind2047 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/3/valgrind2050 ../src/curl -q --output log/3/curl2050.out --include --trace-ascii log/3/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:45927 -x 127.0.0.1:36197 > log/3/stdout2050 2> log/3/stderr2050 2050: 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 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/3/valgrind2050 ../src/curl -q --output log/3/curl2050.out --include --trace-ascii log/3/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:45927 -x 127.0.0.1:36197 > log/3/stdout2050 2> log/3/stderr2050 === End of file commands.log === Start of file http2_server.log 17:51:32.568732 ====> Client connect 17:51:32.568779 accept_connection 3 returned 4 17:51:32.568799 accept_connection 3 returned 0 17:51:32.568814 Read 93 bytes 17:51:32.568824 Process 93 bytes request 17:51:32.568846 Got request: GET /verifiedserver HTTP/1.1 17:51:32.568856 Are-we-friendly question received 17:51:32.568885 Wrote request (93 bytes) input to log/3/proxy.input 17:51:32.568910 Identifying ourselves as friends 17:51:32.568980 Response sent (57 bytes) and written to log/3/proxy.response 17:51:32.568995 special request received, no persistency 17:51:32.569005 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:36197... * Established connection to 127.0.0.1 (127.0.0.1 port 36197) from 127.0.0.1 port 52590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36197 > User-Agent: curl/8.18.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:36197 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 114234 === End of file http2_verify.out === Start of file http_server.log 17:51:32.478892 ====> Client connect 17:51:32.478934 accept_connection 3 returned 4 17:51:32.478954 accept_connection 3 returned 0 17:51:32.478970 Read 93 bytes 17:51:32.478979 Process 93 bytes request 17:51:32.478994 Got request: GET /verifiedserver HTTP/1.1 17:51:32.479003 Are-we-friendly question received 17:51:32.479030 Wrote request (93 bytes) input to log/3/server.input 17:51:32.479049 Identifying ourselves as friends 17:51:32.479112 Response sent (56 bytes) and written to log/3/server.response 17:51:32.479124 special request received, no persistency 17:51:32.479133 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 50732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 114234 === End of file proxy.response === 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 WE ROOLZ: 75287 === End of file server.response === Start of file valgrind2050 ==173412== ==173412== Process terminating with default action of signal 4 (SIGILL) ==173412== Illegal opcode at address 0x4014520 ==173412== at 0x4014520: getparameter (tool_getparam.c:2862) ==173412== CMD (33792): ../libtool --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/valgrind2049 ../src/curl -q --output log/2/curl2049.out --include --trace-ascii log/2/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:38779 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:38779 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:38779 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:38779 > log/2/stdout2049 2> log/2/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/12/valgrind2051 ../src/curl -q --include --trace-ascii log/12/trace2051 --trace-time http://127.0.0.1:36641/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:36641 http://127.0.0.1:36641/2051 -w "%{num_connects}\n" --next http://127.0.0.1:36641/2051 -w "%{num_connects}\n" > log/12/stdout2051 2> log/12/stderr2051 by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173412== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173412== by 0x4003728: main (tool_main.c:186) === End of file valgrind2050 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/2/valgrind2049 ../src/curl -q --output log/2/curl2049.out --include --trace-ascii log/2/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:38779 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:38779 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:38779 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:38779 > log/2/stdout2049 2> log/2/stderr2049 2049: 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 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/2/valgrind2049 ../src/curl -q --output log/2/curl2049.out --include --trace-ascii log/2/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:38779 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:38779 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:38779 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:38779 > log/2/stdout2049 2> log/2/stderr2049 === End of file commands.log === Start of file http_server.log 17:51:32.359551 ====> Client connect 17:51:32.359586 accept_connection 3 returned 4 17:51:32.359601 accept_connection 3 returned 0 17:51:32.359615 Read 93 bytes 17:51:32.359623 Process 93 bytes request 17:51:32.359634 Got request: GET /verifiedserver HTTP/1.1 17:51:32.359642 Are-we-friendly question received 17:51:32.359665 Wrote request (93 bytes) input to log/2/server.input 17:51:32.359680 Identifying ourselves as friends 17:51:32.359743 Response sent (56 bytes) and written to log/2/server.response 17:51:32.359752 special request received, no persistency 17:51:32.359761 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 51900 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind2049 ==173252== ==173252== Process terminating with default action of signal 4 (SIGILL) ==173252== Illegal opcode at address 0x4014520 ==173252== at 0x4014520: getparameter (tool_getparam.c:2862) ==173252== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173252== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173252== by 0x4003728: main (tool_main.c:186) === 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/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:41057 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:41057 > log/15/stdout2053 2> log/15/stderr2053 CMD (33792): ../libtool --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/valgrind2052 ../src/curl -q --include --trace-ascii log/19/trace2052 --trace-time http://www.example.com:36987/2052 --resolve www.example.com:36987:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:36987 --connect-to ::127.0.0.1:36987 http://www.example.com:36987/2052 -w "%{num_connects}\n" > log/19/stdout2052 2> log/19/stderr2052 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/12/valgrind2051 ../src/curl -q --include --trace-ascii log/12/trace2051 --trace-time http://127.0.0.1:36641/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:36641 http://127.0.0.1:36641/2051 -w "%{num_connects}\n" --next http://127.0.0.1:36641/2051 -w "%{num_connects}\n" > log/12/stdout2051 2> log/12/stderr2051 2051: stdout FAILED: --- log/12/check-expected 2026-01-28 17:51:35.296555365 +0000 +++ log/12/check-generated 2026-01-28 17:51:35.296555365 +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/12/ 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/12/valgrind2051 ../src/curl -q --include --trace-ascii log/12/trace2051 --trace-time http://127.0.0.1:36641/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:36641 http://127.0.0.1:36641/2051 -w "%{num_connects}\n" --next http://127.0.0.1:36641/2051 -w "%{num_connects}\n" > log/12/stdout2051 2> log/12/stderr2051 === End of file commands.log === Start of file http_server.log 17:51:32.572182 ====> Client connect 17:51:32.572219 accept_connection 3 returned 4 17:51:32.572236 accept_connection 3 returned 0 17:51:32.572251 Read 93 bytes 17:51:32.572261 Process 93 bytes request 17:51:32.572274 Got request: GET /verifiedserver HTTP/1.1 17:51:32.572283 Are-we-friendly question received 17:51:32.572312 Wrote request (93 bytes) input to log/12/server.input 17:51:32.572330 Identifying ourselves as friends 17:51:32.572392 Response sent (56 bytes) and written to log/12/server.response 17:51:32.572402 special request received, no persistency 17:51:32.572411 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 53714 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 17 WE ROOLZ: 74920 === End of file server.response === Start of file valgrind2051 ==173424== ==173424== Process terminating with default action of signal 4 (SIGILL) ==173424== Illegal opcode at address 0x4014520 ==173424== at 0x4014520: getparameter (tool_getparam.c:2862) ==173424== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173424== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173424== by 0x4003728: main (tool_main.c:186) === End of file valgrind2051 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:41057 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:41057 > 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:41057 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:41057 > log/15/stdout2053 2> log/15/stderr2053 === End of file commands.log === Start of file http_server.log 17:51:33.042197 ====> Client connect 17:51:33.042233 accept_connection 3 returned 4 17:51:33.042250 accept_connection 3 returned 0 17:51:33.042264 Read 93 bytes 17:51:33.042273 Process 93 bytes request 17:51:33.042288 Got request: GET /verifiedserver HTTP/1.1 17:51:33.042296 Are-we-friendly question received 17:51:33.042324 Wrote request (93 bytes) input to log/15/server.input 17:51:33.042341 Identifying ourselves as friends 17:51:33.042403 Response sent (56 bytes) and written to log/15/server.response 17:51:33.042414 special request received, no persistency 17:51:33.042422 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 48284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind2053 ==173606== ==173606== Process terminating with default action of signal 4 (SIGILL) ==173606== Illegal opcode at address 0x4014520 ==173606== at 0x4014520: getparameter (tool_getparam.c:2862) ==173606== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173606== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173606== by 0x4003728: main (tool_main.c:186) === End of file valgrind2053 CMD (33792): ../libtool --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/valgrind2058 ../src/curl -q --output log/17/curl2058.out --include --trace-ascii log/17/trace2058 --trace-time http://127.0.0.1:44593/2058 -u auser:apasswd --digest -T log/17/2058 -x http://127.0.0.1:44593 -C 2 -X GET > log/17/stdout2058 2> log/17/stderr2058 CMD (33792): ../libtool --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/valgrind2055 ../src/curl -q --output log/4/curl2055.out --include --trace-ascii log/4/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:34411 -x 127.0.0.1:42141 --preproxy socks5://127.0.0.1:46615 > log/4/stdout2055 2> log/4/stderr2055 test 2052...[--connect-to: do not mix connections with and without 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/19/valgrind2052 ../src/curl -q --include --trace-ascii log/19/trace2052 --trace-time http://www.example.com:36987/2052 --resolve www.example.com:36987:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:36987 --connect-to ::127.0.0.1:36987 http://www.example.com:36987/2052 -w "%{num_connects}\n" > log/19/stdout2052 2> log/19/stderr2052 2052: stdout FAILED: --- log/19/check-expected 2026-01-28 17:51:35.406555365 +0000 +++ log/19/check-generated 2026-01-28 17:51:35.406555365 +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/19/ 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/19/valgrind2052 ../src/curl -q --include --trace-ascii log/19/trace2052 --trace-time http://www.example.com:36987/2052 --resolve www.example.com:36987:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:36987 --connect-to ::127.0.0.1:36987 http://www.example.com:36987/2052 -w "%{num_connects}\n" > log/19/stdout2052 2> log/19/stderr2052 === End of file commands.log === Start of file http_server.log 17:51:32.885964 ====> Client connect 17:51:32.886006 accept_connection 3 returned 4 17:51:32.886024 accept_connection 3 returned 0 17:51:32.886039 Read 93 bytes 17:51:32.886049 Process 93 bytes request 17:51:32.886061 Got request: GET /verifiedserver HTTP/1.1 17:51:32.886071 Are-we-friendly question received 17:51:32.886100 Wrote request (93 bytes) input to log/19/server.input 17:51:32.886118 Identifying ourselves as friends 17:51:32.886194 Response sent (56 bytes) and written to log/19/server.response 17:51:32.886206 special request received, no persistency 17:51:32.886215 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 59916 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind2052 ==173560== ==173560== Process terminating with default action of signal 4 (SIGILL) ==173560== Illegal opcode at address 0x4014520 ==173560== at 0x4014520: getparameter (tool_getparam.c:2862) ==173560== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173560== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173560== by 0x4003728: main (tool_main.c:186) === End of file valgrind2052 test 2058...[HTTP Digest with PUT, resumed upload, 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/17/valgrind2058 ../src/curl -q --output log/17/curl2058.out --include --trace-ascii log/17/trace2058 --trace-time http://127.0.0.1:44593/2058 -u auser:apasswd --digest -T log/17/2058 -x http://127.0.0.1:44593 -C 2 -X GET > log/17/stdout2058 2> log/17/stderr2058 2058: 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 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/17/valgrind2058 ../src/curl -q --output log/17/curl2058.out --include --trace-ascii log/17/trace2058 --trace-time http://127.0.0.1:44593/2058 -u auser:apasswd --digest -T log/17/2058 -x http://127.0.0.1:44593 -C 2 -X GET > log/17/stdout2058 2> log/17/stderr2058 === End of file commands.log === Start of file http_server.log 17:51:33.422923 ====> Client connect 17:51:33.422973 accept_connection 3 returned 4 17:51:33.422993 accept_connection 3 returned 0 17:51:33.423009 Read 93 bytes 17:51:33.423019 Process 93 bytes request 17:51:33.423033 Got request: GET /verifiedserver HTTP/1.1 17:51:33.423041 Are-we-friendly question received 17:51:33.423069 Wrote request (93 bytes) input to log/17/server.input 17:51:33.423085 Identifying ourselves as friends 17:51:33.423162 Response sent (56 bytes) and written to log/17/server.response 17:51:33.423172 special request received, no persistency 17:51:33.423180 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 55438 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file valgrind2058 ==173764== ==173764== Process terminating with default action of signal 4 (SIGILL) ==173764== Illegal opcode at address 0x4014520 ==173764== at 0x4014520: getparameter (tool_getparam.c:2862) ==173764== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173764== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173764== by 0x4003728: main (tool_main.c:186) === End of file valgrind2058 test 2055...[--connect-to via SOCKS proxy and 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/4/valgrind2055 ../src/curl -q --output log/4/curl2055.out --include --trace-ascii log/4/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:34411 -x 127.0.0.1:42141 --preproxy socks5://127.0.0.1:46615 > log/4/stdout2055 2> log/4/stderr2055 2055: 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 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/4/valgrind2055 ../src/curl -q --output log/4/curl2055.out --include --trace-ascii log/4/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:34411 -x 127.0.0.1:42141 --preproxy socks5://127.0.0.1:46615 > log/4/stdout2055 2> log/4/stderr2055 === End of file commands.log === Start of file http2_server.log 17:51:33.516268 ====> Client connect 17:51:33.516321 accept_connection 3 returned 4 17:51:33.516345 accept_connection 3 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/1/valgrind2059 ../src/curl -q --output log/1/curl2059.out --include --trace-ascii log/1/trace2059 --trace-time http://127.0.0.1:39589/2059 -u auser:apasswd --digest -T log/1/2059 -x http://127.0.0.1:39589 -C 2 -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/5/valgrind2054 ../src/curl -q --output log/5/curl2054.out --include --trace-ascii log/5/trace2054 --trace-time http://127.0.0.1:46875/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:46875/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::46875 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:46875 --connect-to www.example.com:8084:foo:123 > log/5/stdout2054 2> log/5/stderr2054 eturned 0 17:51:33.516363 Read 93 bytes 17:51:33.516378 Process 93 bytes request 17:51:33.516400 Got request: GET /verifiedserver HTTP/1.1 17:51:33.516411 Are-we-friendly question received 17:51:33.516442 Wrote request (93 bytes) input to log/4/proxy.input 17:51:33.516466 Identifying ourselves as friends 17:51:33.516571 Response sent (57 bytes) and written to log/4/proxy.response 17:51:33.516589 special request received, no persistency 17:51:33.516599 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:42141... * Established connection to 127.0.0.1 (127.0.0.1 port 42141) from 127.0.0.1 port 60136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42141 > User-Agent: curl/8.18.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:42141 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 162974 === End of file http2_verify.out === Start of file http_server.log 17:51:33.409598 ====> Client connect 17:51:33.409649 accept_connection 3 returned 4 17:51:33.409671 accept_connection 3 returned 0 17:51:33.409879 Read 93 bytes 17:51:33.409891 Process 93 bytes request 17:51:33.409906 Got request: GET /verifiedserver HTTP/1.1 17:51:33.409915 Are-we-friendly question received 17:51:33.409943 Wrote request (93 bytes) input to log/4/server.input 17:51:33.409960 Identifying ourselves as friends 17:51:33.410012 Response sent (56 bytes) and written to log/4/server.response 17:51:33.410021 special request received, no persistency 17:51:33.410030 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 39058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162974 === End of file proxy.response === 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: 75148 === End of file server.response === Start of file valgrind2055 ==173844== ==173844== Process terminating with default action of signal 4 (SIGILL) ==173844== Illegal opcode at address 0x4014520 ==173844== at 0x4014520: getparameter (tool_getparam.c:2862) ==173844== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173844== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173844== by 0x4003728: main (tool_main.c:186) === End of file valgrind2055 test 2059...[HTTP Digest with PUT, resumed upload, 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:39589/2059 -u auser:apasswd --digest -T log/1/2059 -x http://127.0.0.1:39589 -C 2 -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:39589/2059 -u auser:apasswd --digest -T log/1/2059 -x http://127.0.0.1:39589 -C 2 -X GET > log/1/stdout2059 2> log/1/stderr2059 === End of file commands.log === Start of file http_server.log 17:51:33.611513 ====> Client connect 17:51:33.611550 accept_connection 3 returned 4 17:51:33.611589 accept_connection 3 returned 0 17:51:33.611606 Read 93 bytes 17:51:33.611615 Process 93 bytes request 17:51:33.611629 Got request: GET /verifiedserver HTTP/1.1 17:51:33.611638 Are-we-friendly question received 17:51:33.611666 Wrote request (93 bytes) input to log/1/server.input 17:51:33.611684 Identifying ourselves as friends 17:51:33.611747 Response sent (56 bytes) and written to log/1/server.response 17:51:33.611758 special request received, no persistency 17:51:33.611767 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file valgrind2059 ==173874== ==173874== Process terminating with default action of signal 4 (SIGILL) ==173874== Illegal opcode at address 0x4014520 ==173874== at 0x4014520: getparameter (tool_getparam.c:2862) ==173874== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173874== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173874== by 0x4003728: main (tool_main.c:186) === End of file valgrind2059 test 2054...[Connect to specific host: use the first "connect-to" string that matches] ../libtool --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/valgrind2054 ../src/curl -q --output log/5/curl2054.out --include --trace-ascii log/5/trace2054 --trace-time http://127.0.0.1:46875/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:46875/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::46875 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:46875 --connect-to www.example.com:8084:foo:123 > log/5/stdout2054 2> log/5/stderr2054 2054: 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 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/5/valgrind2054 ../src/curl -q --output log/5/curl2054.out --include --trace-ascii log/5/trace2054 --trace-time http://127.0.0.1:46875/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:46875/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::46875 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:46875 --connect-to www.example.com:8084:foo:123 > log/5/stdout2054 2> log/5/stderr2054 === End of file commands.log === Start of file http_server.log 17:51:33.411436 ====> Client connect 17:51:33.411467 accept_connection 3 returned 4 17:51:33.411482 accept_connection 3 returned 0 17:51:33.411496 Read 93 bytes 17:51:33.411505 ProcessCMD (33792): ../libtool --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/valgrind2063 ../src/curl -q --output log/16/curl2063.out --include --trace-ascii log/16/trace2063 --trace-time http://127.0.0.1:40899/2063 -u testuser:testpass --digest > log/16/stdout2063 2> log/16/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/23/valgrind2062 ../src/curl -q --output log/23/curl2062.out --include --trace-ascii log/23/trace2062 --trace-time http://127.0.0.1:39173/2062 -u testuser:testpass --digest > log/23/stdout2062 2> log/23/stderr2062 CMD (33792): ../libtool --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/valgrind2060 ../src/curl -q --output log/14/curl2060.out --include --trace-ascii log/14/trace2060 --trace-time http://127.0.0.1:37569/2060 -u auser:apasswd --digest -T log/14/2060 -x http://127.0.0.1:37569 -C 2 -X GET > log/14/stdout2060 2> log/14/stderr2060 93 bytes request 17:51:33.411516 Got request: GET /verifiedserver HTTP/1.1 17:51:33.411525 Are-we-friendly question received 17:51:33.411549 Wrote request (93 bytes) input to log/5/server.input 17:51:33.411565 Identifying ourselves as friends 17:51:33.411619 Response sent (56 bytes) and written to log/5/server.response 17:51:33.411628 special request received, no persistency 17:51:33.411637 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 42940 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file valgrind2054 ==173769== ==173769== Process terminating with default action of signal 4 (SIGILL) ==173769== Illegal opcode at address 0x4014520 ==173769== at 0x4014520: getparameter (tool_getparam.c:2862) ==173769== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==173769== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==173769== by 0x4003728: main (tool_main.c:186) === End of file valgrind2054 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/16/valgrind2063 ../src/curl -q --output log/16/curl2063.out --include --trace-ascii log/16/trace2063 --trace-time http://127.0.0.1:40899/2063 -u testuser:testpass --digest > log/16/stdout2063 2> log/16/stderr2063 2063: 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 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/16/valgrind2063 ../src/curl -q --output log/16/curl2063.out --include --trace-ascii log/16/trace2063 --trace-time http://127.0.0.1:40899/2063 -u testuser:testpass --digest > log/16/stdout2063 2> log/16/stderr2063 === End of file commands.log === Start of file http_server.log 17:51:34.156224 ====> Client connect 17:51:34.156278 accept_connection 3 returned 4 17:51:34.156300 accept_connection 3 returned 0 17:51:34.156319 Read 93 bytes 17:51:34.156331 Process 93 bytes request 17:51:34.156348 Got request: GET /verifiedserver HTTP/1.1 17:51:34.156358 Are-we-friendly question received 17:51:34.156391 Wrote request (93 bytes) input to log/16/server.input 17:51:34.156412 Identifying ourselves as friends 17:51:34.156502 Response sent (56 bytes) and written to log/16/server.response 17:51:34.156516 special request received, no persistency 17:51:34.156525 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 50636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind2063 ==174147== ==174147== Process terminating with default action of signal 4 (SIGILL) ==174147== Illegal opcode at address 0x4014520 ==174147== at 0x4014520: getparameter (tool_getparam.c:2862) ==174147== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174147== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174147== by 0x4003728: main (tool_main.c:186) === End of file valgrind2063 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/23/valgrind2062 ../src/curl -q --output log/23/curl2062.out --include --trace-ascii log/23/trace2062 --trace-time http://127.0.0.1:39173/2062 -u testuser:testpass --digest > log/23/stdout2062 2> log/23/stderr2062 2062: 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 2062 === Start of file commands.log ../libtool --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/valgrind2062 ../src/curl -q --output log/23/curl2062.out --include --trace-ascii log/23/trace2062 --trace-time http://127.0.0.1:39173/2062 -u testuser:testpass --digest > log/23/stdout2062 2> log/23/stderr2062 === End of file commands.log === Start of file http_server.log 17:51:35.162881 ====> Client connect 17:51:35.162918 accept_connection 3 returned 4 17:51:35.162934 accept_connection 3 returned 0 17:51:35.162947 Read 93 bytes 17:51:35.162956 Process 93 bytes request 17:51:35.162969 Got request: GET /verifiedserver HTTP/1.1 17:51:35.162977 Are-we-friendly question received 17:51:35.163001 Wrote request (93 bytes) input to log/23/server.input 17:51:35.163017 Identifying ourselves as friends 17:51:35.163078 Response sent (56 bytes) and written to log/23/server.response 17:51:35.163087 special request received, no persistency 17:51:35.163094 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 49724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind2062 ==174170== ==174170== Process terminating with default action of signal 4 (SIGILL) ==174170== Illegal opcode at address 0x4014520 ==174170== at 0x4014520: getparameter (tool_getparam.c:2862) ==174170== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174170== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174170== by 0x4003728: main (tool_main.c:186) === End of file valgrind2062 test 2060...[HTTP Digest with PUT, resumed upload, SHA-512-256, 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/14/valgrind2060 ../src/curl -q --output log/14/curl2060.out --include --trace-ascii log/14/trace2060 --trace-time http://127.0.0.1:37569/2060 -u auser:apasswd --digest -T log/14/2060 -x http://127.0.0.1:37569 -C 2 -X GET > log/14/stdout2060 2> log/14/stderr2060 2060: protocol FAILED! There was no content at all in the file log/14/server.input. 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/8/valgrind2071 ../src/curl -q --output log/8/curl2071.out --trace-ascii log/8/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/8/test2070.txt > log/8/stdout2071 2> log/8/stderr2071 r glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ 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/14/valgrind2060 ../src/curl -q --output log/14/curl2060.out --include --trace-ascii log/14/trace2060 --trace-time http://127.0.0.1:37569/2060 -u auser:apasswd --digest -T log/14/2060 -x http://127.0.0.1:37569 -C 2 -X GET > log/14/stdout2060 2> log/14/stderr2060 === End of file commands.log === Start of file http_server.log 17:51:34.988498 ====> Client connect 17:51:34.988540 accept_connection 3 returned 4 17:51:34.988560 accept_connection 3 returned 0 17:51:34.988576 Read 93 bytes 17:51:34.988587 Process 93 bytes request 17:51:34.988601 Got request: GET /verifiedserver HTTP/1.1 17:51:34.988611 Are-we-friendly question received 17:51:34.988640 Wrote request (93 bytes) input to log/14/server.input 17:51:34.988659 Identifying ourselves as friends 17:51:34.988724 Response sent (56 bytes) and written to log/14/server.response 17:51:34.988736 special request received, no persistency 17:51:34.988746 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37569... * Established connection to 127.0.0.1 (127.0.0.1 port 37569) from 127.0.0.1 port 42958 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37569 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37569 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74822 === 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: 74822 === End of file server.response === Start of file valgrind2060 ==174041== ==174041== Process terminating with default action of signal 4 (SIGILL) ==174041== Illegal opcode at address 0x4014520 ==174041== at 0x4014520: getparameter (tool_getparam.c:2862) ==174041== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174041== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174041== by 0x4003728: main (tool_main.c:186) === End of file valgrind2060 CMD (33792): ../libtool --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/valgrind2067 ../src/curl -q --output log/20/curl2067.out --include --trace-ascii log/20/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:46725/2067 > log/20/stdout2067 2> log/20/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/10/valgrind2061 ../src/curl -q --output log/10/curl2061.out --include --trace-ascii log/10/trace2061 --trace-time http://127.0.0.1:44137/2061 -u testuser:testpass --digest > log/10/stdout2061 2> log/10/stderr2061 CMD (33792): ../libtool --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/valgrind2068 ../src/curl -q --output log/7/curl2068.out --include --trace-ascii log/7/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:35671/2068 > log/7/stdout2068 2> log/7/stderr2068 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/8/valgrind2071 ../src/curl -q --output log/8/curl2071.out --trace-ascii log/8/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/8/test2070.txt > log/8/stdout2071 2> log/8/stderr2071 2071: data FAILED: --- log/8/check-expected 2026-01-28 17:51:36.723222030 +0000 +++ log/8/check-generated 2026-01-28 17:51:36.723222030 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/8/ 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/8/valgrind2071 ../src/curl -q --output log/8/curl2071.out --trace-ascii log/8/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/8/test2070.txt > log/8/stdout2071 2> log/8/stderr2071 === End of file commands.log === Start of file server.cmd Testnum 2071 === End of file server.cmd === Start of file valgrind2071 ==174444== ==174444== Process terminating with default action of signal 4 (SIGILL) ==174444== Illegal opcode at address 0x4014520 ==174444== at 0x4014520: getparameter (tool_getparam.c:2862) ==174444== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174444== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174444== by 0x4003728: main (tool_main.c:186) === End of file valgrind2071 test 2067...[HTTP POST --digest with SHA256 and 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/20/valgrind2067 ../src/curl -q --output log/20/curl2067.out --include --trace-ascii log/20/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:46725/2067 > log/20/stdout2067 2> log/20/stderr2067 2067: 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 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/20/valgrind2067 ../src/curl -q --output log/20/curl2067.out --include --trace-ascii log/20/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:46725/2067 > log/20/stdout2067 2> log/20/stderr2067 === End of file commands.log === Start of file http_server.log 17:51:34.431860 ====> Client connect 17:51:34.431892 accept_connection 3 returned 4 17:51:34.431909 accept_connection 3 returned 0 17:51:34.431924 Read 93 bytes 17:51:34.431934 Process 93 bytes request 17:51:34.431948 Got request: GET /verifiedserver HTTP/1.1 17:51:34.431956 Are-we-friendly question received 17:51:34.431982 Wrote request (93 bytes) input to log/20/server.input 17:51:34.431998 Identifying ourselves as friends 17:51:34.432055 Response sent (56 bytes) and written to log/20/server.response 17:51:34.432064 special request received, no persistency 17:51:34.432072 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 51380 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind2067 ==174423== ==174423== Process terminating with default action of signal 4 (SIGILL) ==174423== Illegal opcode at address 0x4014520 ==174423== at 0x4014520: getparameter (tool_getparam.c:2862) ==174423== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174423== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174423== by 0x4003728: main (tool_main.c:186) === End of file valgrind2067 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/10/valgrind2061 ../src/curl -q --output log/10/curl2061.out --include --trace-ascii log/10/trace2061 --trace-time http://127.0.0.1:44137/2061 -u testuser:testpass --digest > log/10/stdout2061 2> log/10/stderr2061 2061: 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 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/10/valgrind2061 ../src/curl -q --output log/10/curl2061.out --include --trace-ascii log/10/trace2061 --trace-time http://127.0.0.1:44137/2061 -u testuser:testpass --digest > log/10/stdout2061 2> log/10/stderr2061 === End of file commands.log === Start of file http_server.log 17:51:34.166269 ====> Client connect 17:51:34.166342 accept_connection 3 returned 4 17:51:34.166362 accept_connection 3 returned 0 17:51:34.166378 Read 93 bytes 17:51:34.166388 Process 93 bytes request 17:51:34.166401 Got request: GET /verifiedserver HTTP/1.1 17:51:34.166411 Are-we-friendly question received 17:51:34.166442 Wrote request (93 bytes) input to log/10/server.input 17:51:34.166460 Identifying ourselves as friends 17:51:34.166533 Response sent (57 bytes) and written to log/10/server.response 17:51:34.166545 special request received, no persistency 17:51:34.166554 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Established connection to 127.0.0.1 (127.0.0.1 port 44137) from 127.0.0.1 port 37224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.18.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:44137 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161230 === 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: 18 WE ROOLZ: 161230 === End of file server.response === Start of file valgrind2061 ==174143== ==174143== Process terminating with default action of signal 4 (SIGILL) ==174143== Illegal opcode at address 0x4014520 ==174143== at 0x4014520: getparameter (tool_getparam.c:2862) ==174143== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174143== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174143== by 0x4003728: main (tool_main.c:186) === End of file valgrind2061 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/7/valgrind2068 ../src/curl -q --output log/7/curl2068.out --include --trace-ascii log/7/trace2068 --trace-time -H "Content-Length: 11" -u auser: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/24/valgrind2064 ../src/curl -q --output log/24/curl2064.out --include --trace-ascii log/24/trace2064 --trace-time http://127.0.0.1:39649/2064 -u testuser:test2pass --digest > log/24/stdout2064 2> log/24/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/9/valgrind2072 ../src/curl -q --output log/9/curl2072.out --trace-ascii log/9/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/9/test2072.txt > log/9/stdout2072 2> log/9/stderr2072 passwd --digest -d "junkelijunk" http://127.0.0.1:35671/2068 > log/7/stdout2068 2> log/7/stderr2068 2068: 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 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/7/valgrind2068 ../src/curl -q --output log/7/curl2068.out --include --trace-ascii log/7/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:35671/2068 > log/7/stdout2068 2> log/7/stderr2068 === End of file commands.log === Start of file http_server.log 17:51:34.446847 ====> Client connect 17:51:34.446889 accept_connection 3 returned 4 17:51:34.446907 accept_connection 3 returned 0 17:51:34.446923 Read 93 bytes 17:51:34.446933 Process 93 bytes request 17:51:34.446948 Got request: GET /verifiedserver HTTP/1.1 17:51:34.446957 Are-we-friendly question received 17:51:34.446984 Wrote request (93 bytes) input to log/7/server.input 17:51:34.447002 Identifying ourselves as friends 17:51:34.447062 Response sent (56 bytes) and written to log/7/server.response 17:51:34.447071 special request received, no persistency 17:51:34.447079 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 52300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind2068 ==174421== ==174421== Process terminating with default action of signal 4 (SIGILL) ==174421== Illegal opcode at address 0x4014520 ==174421== at 0x4014520: getparameter (tool_getparam.c:2862) ==174421== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174421== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174421== by 0x4003728: main (tool_main.c:186) === End of file valgrind2068 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/24/valgrind2064 ../src/curl -q --output log/24/curl2064.out --include --trace-ascii log/24/trace2064 --trace-time http://127.0.0.1:39649/2064 -u testuser:test2pass --digest > log/24/stdout2064 2> log/24/stderr2064 2064: 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 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/24/valgrind2064 ../src/curl -q --output log/24/curl2064.out --include --trace-ascii log/24/trace2064 --trace-time http://127.0.0.1:39649/2064 -u testuser:test2pass --digest > log/24/stdout2064 2> log/24/stderr2064 === End of file commands.log === Start of file http_server.log 17:51:34.352895 ====> Client connect 17:51:34.352936 accept_connection 3 returned 4 17:51:34.352953 accept_connection 3 returned 0 17:51:34.352969 Read 93 bytes 17:51:34.352978 Process 93 bytes request 17:51:34.352992 Got request: GET /verifiedserver HTTP/1.1 17:51:34.353000 Are-we-friendly question received 17:51:34.353024 Wrote request (93 bytes) input to log/24/server.input 17:51:34.353041 Identifying ourselves as friends 17:51:34.356220 Response sent (56 bytes) and written to log/24/server.response 17:51:34.356241 special request received, no persistency 17:51:34.356249 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 35092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind2064 ==174334== ==174334== Process terminating with default action of signal 4 (SIGILL) ==174334== Illegal opcode at address 0x4014520 ==174334== at 0x4014520: getparameter (tool_getparam.c:2862) ==174334== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174334== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174334== by 0x4003728: main (tool_main.c:186) === 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/21/valgrind2066 ../src/curl -q --output log/21/curl2066.out --include --trace-ascii log/21/trace2066 --trace-time http://127.0.0.1:41669/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/13/valgrind2065 ../src/curl -q --output log/13/curl2065.out --include --trace-ascii log/13/trace2065 --trace-time http://127.0.0.1:43845/2065 -u testuser:test2pass --digest > log/13/stdout2065 2> log/13/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/valgrind2075 ../src/curl -q --output log/6/curl2075.out --include --trace-ascii log/6/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/6/stdout2075 2> log/6/stderr2075 prechecked /usr/bin/perl -e "print 'Test requires a Unix system' if($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'dos' || $^O eq 'msys');" test 2072...[file:// with Unix path resolution behavior 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/9/valgrind2072 ../src/curl -q --output log/9/curl2072.out --trace-ascii log/9/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/9/test2072.txt > log/9/stdout2072 2> log/9/stderr2072 2072: data FAILED: --- log/9/check-expected 2026-01-28 17:51:36.923222030 +0000 +++ log/9/check-generated 2026-01-28 17:51:36.923222030 +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 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/9/valgrind2072 ../src/curl -q --output log/9/curl2072.out --trace-ascii log/9/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/9/test2072.txt > log/9/stdout2072 2> log/9/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 ==174719== ==174719== Process terminating with default action of signal 4 (SIGILL) ==174719== Illegal opcode at address 0x4014520 ==174719== at 0x4014520: getparameter (tool_getparam.c:2862) ==174719== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174719== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174719== by 0x4003728: main (tool_main.c:186) === End of file valgrind2072 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:41669/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:41669/2066 -u testuser:test2pass --digest > log/21/stdout2066 2> log/21/stderr2066 === End of file commands.log === Start of file http_server.log 17:51:34.435382 ====> Client connect 17:51:34.435415 accept_connection 3 returned 4 17:51:34.435430 accept_connection 3 returned 0 17:51:34.435443 Read 93 bytes 17:51:34.435451 Process 93 bytes request 17:51:34.435462 Got request: GET /verifiedserver HTTP/1.1 17:51:34.435470 Are-we-friendly question received 17:51:34.435496 Wrote request (93 bytes) input to log/21/server.input 17:51:34.435510 Identifying ourselves as friends 17:51:34.435567 Response sent (56 bytes) and written to log/21/server.response 17:51:34.435576 special request received, no persistency 17:51:34.435585 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 51722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file valgrind2066 ==174395== ==174395== Process terminating with default action of signal 4 (SIGILL) ==174395== Illegal opcode at address 0x4014520 ==174395== at 0x4014520: getparameter (tool_getparam.c:2862) ==174395== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174395== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174395== by 0x4003728: main (tool_main.c:186) === End of file valgrind2066 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/13/valgrind2065 ../src/curl -q --output log/13/curl2065.out --include --trace-ascii log/13/trace2065 --trace-time http://127.0.0.1:43845/2065 -u testuser:test2pass --digest > log/13/stdout2065 2> log/13/stderr2065 2065: 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 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/13/valgrind2065 ../src/curl -q --output log/13/curl2065.out --include --trace-ascii log/13/trace2065 --trace-time http://127.0.0.1:43845/2065 -u testuser:test2pass --digest > log/13/stdout2065 2> log/13/stderr2065 === End of file commands.log === Start of file http_server.log 17:51:35.456246 ====> Client connect 17:51:35.456297 accept_connection 3 returned 4 17:51:35.456315 accept_connection 3 returned 0 17:51:35.456331 Read 93 bytes 17:51:35.456340 Process 93 bytes request 17:51:35.456354 Got request: GET /verifiedserver HTTP/1.1 17:51:35.456364 Are-we-friendly question received 17:51:35.456391 Wrote request (93 bytes) input to log/13/server.input 17:51:35.456407 Identifying ourselves as friends 17:51:35.456487 Response sent (56 bytes) and written to log/13/server.response 17:51:35.456496 special request received, no persistency 17:51:35.456504 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 42386 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 17 WE ROOLZ: 74871 === End of file server.response === Start of file valgrind2065 ==174438== ==174438== Process terminating with default action of signal 4 (SIGILL) ==174438== Illegal opcode at address 0x4014520 ==174438== at 0x4014520: getparameter (tool_getparam.c:2862) ==174438== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174438== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174438== by 0x4003728: main (tool_main.c:186) === End of file valgrind2065 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-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/11/valgrind2074 ../src/curl -q --output log/11/curl2074.out --include --trace-ascii log/11/trace2074 --trace-time http://127.0.0.1:46439/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout2074 2> log/11/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/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:34067/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/2/valgrind2077 ../src/curl -q --output log/2/curl2077.out --include --trace-ascii log/2/trace2077 --trace-time http://127.0.0.1:38779/2077 --fail --negotiate > log/2/stdout2077 2> log/2/stderr2077 ile=log/6/valgrind2075 ../src/curl -q --output log/6/curl2075.out --include --trace-ascii log/6/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/6/stdout2075 2> log/6/stderr2075 curl returned 132, when expecting 67 2075: exit FAILED == Contents of files in the log/6/ 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/6/valgrind2075 ../src/curl -q --output log/6/curl2075.out --include --trace-ascii log/6/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/6/stdout2075 2> log/6/stderr2075 === End of file commands.log === Start of file server.cmd Testnum 2075 === End of file server.cmd === Start of file valgrind2075 ==174878== ==174878== Process terminating with default action of signal 4 (SIGILL) ==174878== Illegal opcode at address 0x4014520 ==174878== at 0x4014520: getparameter (tool_getparam.c:2862) ==174878== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174878== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174878== by 0x4003728: main (tool_main.c:186) === End of file valgrind2075 test 2074...[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/11/valgrind2074 ../src/curl -q --output log/11/curl2074.out --include --trace-ascii log/11/trace2074 --trace-time http://127.0.0.1:46439/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout2074 2> log/11/stderr2074 2074: 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 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/11/valgrind2074 ../src/curl -q --output log/11/curl2074.out --include --trace-ascii log/11/trace2074 --trace-time http://127.0.0.1:46439/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout2074 2> log/11/stderr2074 === End of file commands.log === Start of file http_server.log 17:51:34.892901 ====> Client connect 17:51:34.892949 accept_connection 3 returned 4 17:51:34.892971 accept_connection 3 returned 0 17:51:34.892989 Read 93 bytes 17:51:34.893000 Process 93 bytes request 17:51:34.893015 Got request: GET /verifiedserver HTTP/1.1 17:51:34.893025 Are-we-friendly question received 17:51:34.893055 Wrote request (93 bytes) input to log/11/server.input 17:51:34.893074 Identifying ourselves as friends 17:51:34.893163 Response sent (56 bytes) and written to log/11/server.response 17:51:34.893177 special request received, no persistency 17:51:34.893186 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46439... * Established connection to 127.0.0.1 (127.0.0.1 port 46439) from 127.0.0.1 port 36632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46439 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46439 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74921 === 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: 74921 === End of file server.response === Start of file valgrind2074 ==174841== ==174841== Process terminating with default action of signal 4 (SIGILL) ==174841== Illegal opcode at address 0x4014520 ==174841== at 0x4014520: getparameter (tool_getparam.c:2862) ==174841== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174841== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174841== by 0x4003728: main (tool_main.c:186) === End of file valgrind2074 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:34067/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:34067/2069 > log/18/stdout2069 2> log/18/stderr2069 === End of file commands.log === Start of file http_server.log 17:51:34.539704 ====> Client connect 17:51:34.539752 accept_connection 3 returned 4 17:51:34.539774 accept_connection 3 returned 0 17:51:34.539794 Read 93 bytes 17:51:34.539804 Process 93 bytes request 17:51:34.539819 Got request: GET /verifiedserver HTTP/1.1 17:51:34.539828 Are-we-friendly question received 17:51:34.539858 Wrote request (93 bytes) input to log/18/server.input 17:51:34.539881 Identifying ourselves as friends 17:51:34.539961 Response sent (56 bytes) and written to log/18/server.response 17:51:34.539972 special request received, no persistency 17:51:34.539981 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34067... * Established connection to 127.0.0.1 (127.0.0.1 port 34067) from 127.0.0.1 port 41864 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34067 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34067 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74817 === 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: 74817 === End of file server.response === Start of file valgrind2069 ==174552== ==174552== Process terminating with default action of signal 4 (SIGILL) ==174552== Illegal opcode at address 0x4014520 ==174552== at 0x4014520: getparameter (tool_getparam.c:2862) ==174552== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174552== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174552== by 0x4003728: main (tool_main.c:186) === End of file valgrind2069 CMD (33792): ../libtool --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/valgrind2080 ../src/curl -q --output log/15/curl2080.out --include --trace-ascii log/15/trace2080 --trace-time -K log/15/config2080 file://de\>v/null > log/15/stdout2080 2> log/15/stderr2080 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/2/valgrind2077 ../src/curl -q --output log/2/curl2077.out --include --trace-ascii log/2/trace2077 --trace-time http://127.0.0.1:38779/2077 --fail --negotiate > log/2/stdout2077 2> log/2/stderr2077 2077: data FAILED: --- log/2/check-expected 2026-01-28 17:51:37.383222030 +0000 +++ log/2/check-generated 2026-01-28 17:51:37.383222030 +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/2/ 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/2/valgrind2077 ../src/curl -q --output log/2/curl2077.out --include --trace-ascii log/2/trace2077 --trace-time http://127.0.0.1:38779/2077 --fail --negotiate > log/2/stdout2077 2> log/2/stderr2077 === End of file commands.log === Start of file http_server.log 17:51:35.239564 ====> Client connect 17:51:35.239602 accept_connection 3 returned 4 17:51:35.239620 accept_connection 3 returned 0 17:51:35.239634 Read 93 bytes 17:51:35.239644 Process 93 bytes request 17:51:35.239657 Got request: GET /verifiedserver HTTP/1.1 17:51:35.239666 Are-we-friendly question received 17:51:35.239692 Wrote request (93 bytes) input to log/2/server.input 17:51:35.239708 Identifying ourselves as friends 17:51:35.239774 Response sent (56 bytes) and written to log/2/server.response 17:51:35.239783 special request received, no persistency 17:51:35.239792 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38779... * Established connection to 127.0.0.1 (127.0.0.1 port 38779) from 127.0.0.1 port 51906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38779 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38779 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76626 === 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: 76626 === End of file server.response === Start of file valgrind2077 ==175117== ==175117== Process terminating with default action of signal 4 (SIGILL) ==175117== Illegal opcode at address 0x4014520 ==175117== at 0x4014520: getparameter (tool_getparam.c:2862) ==175117== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==175117== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==175117== by 0x4003728: main (tool_main.c:186) === End of file valgrind2077 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/15/valgrind2080 ../src/curl -q --output log/15/curl2080.out --include --trace-ascii log/15/trace2080 --trace-time -K log/15/config2080 file://de\>v/null > log/15/stdout2080 2> log/15/stderr2080 curl returned 132, when expecting 2 2080: exit FAILED == Contents of files in the log/15/ 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/15/valgrind2080 ../src/curl -q --output log/15/curl2080.out --include --trace-ascii log/15/trace2080 --trace-time -K log/15/config2080 file://de\>v/null > log/15/stdout2080 2> log/15/stderr2080 === End of file commands.log === Start of file config2080 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD === End of file config2080 === Start of file server.cmd Testnum 2080 === End of file server.cmd === Start of file valgrind2080 ==175028== ==175028== Process terminating with default action of signal 4 (SIGILL) ==175028== Illegal opcode at address 0x4014520 ==175028== at 0x4014520: getparameter (tool_getparam.c:2862) ==175028== by 0x4003728: UnknownInlCMD (33792): ../libtool --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/valgrind2076 ../src/curl -q --output log/3/curl2076.out --include --trace-ascii log/3/trace2076 --trace-time "http://127.0.0.1:45927/2076?query" -u testuser:testpass --digest > log/3/stdout2076 2> log/3/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/22/valgrind2073 ../src/curl -q --output log/22/curl2073.out --include --trace-ascii log/22/trace2073 --trace-time http://127.0.0.1:42933/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:42933/2073 -F 'name=b;filename=b.jpg' > log/22/stdout2073 2> log/22/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/12/valgrind2078 ../src/curl -q --output log/12/curl2078.out --include --trace-ascii log/12/trace2078 --trace-time http://127.0.0.1:36641/2078 --negotiate --data name=value > log/12/stdout2078 2> log/12/stderr2078 inedFun (tool_getparam.c:3045) ==175028== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==175028== by 0x4003728: main (tool_main.c:186) === End of file valgrind2080 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/3/valgrind2076 ../src/curl -q --output log/3/curl2076.out --include --trace-ascii log/3/trace2076 --trace-time "http://127.0.0.1:45927/2076?query" -u testuser:testpass --digest > log/3/stdout2076 2> log/3/stderr2076 2076: 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 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/3/valgrind2076 ../src/curl -q --output log/3/curl2076.out --include --trace-ascii log/3/trace2076 --trace-time "http://127.0.0.1:45927/2076?query" -u testuser:testpass --digest > log/3/stdout2076 2> log/3/stderr2076 === End of file commands.log === Start of file http_server.log 17:51:35.092471 ====> Client connect 17:51:35.092505 accept_connection 3 returned 4 17:51:35.092523 accept_connection 3 returned 0 17:51:35.096305 Read 93 bytes 17:51:35.096328 Process 93 bytes request 17:51:35.096344 Got request: GET /verifiedserver HTTP/1.1 17:51:35.096353 Are-we-friendly question received 17:51:35.096393 Wrote request (93 bytes) input to log/3/server.input 17:51:35.096411 Identifying ourselves as friends 17:51:35.096475 Response sent (56 bytes) and written to log/3/server.response 17:51:35.096486 special request received, no persistency 17:51:35.096495 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45927... * Established connection to 127.0.0.1 (127.0.0.1 port 45927) from 127.0.0.1 port 50736 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45927 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45927 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75287 === 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: 17 WE ROOLZ: 75287 === End of file server.response === Start of file valgrind2076 ==174976== ==174976== Process terminating with default action of signal 4 (SIGILL) ==174976== Illegal opcode at address 0x4014520 ==174976== at 0x4014520: getparameter (tool_getparam.c:2862) ==174976== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174976== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174976== by 0x4003728: main (tool_main.c:186) === End of file valgrind2076 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/22/valgrind2073 ../src/curl -q --output log/22/curl2073.out --include --trace-ascii log/22/trace2073 --trace-time http://127.0.0.1:42933/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:42933/2073 -F 'name=b;filename=b.jpg' > log/22/stdout2073 2> log/22/stderr2073 2073: 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 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/22/valgrind2073 ../src/curl -q --output log/22/curl2073.out --include --trace-ascii log/22/trace2073 --trace-time http://127.0.0.1:42933/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:42933/2073 -F 'name=b;filename=b.jpg' > log/22/stdout2073 2> log/22/stderr2073 === End of file commands.log === Start of file http_server.log 17:51:34.905115 ====> Client connect 17:51:34.905159 accept_connection 3 returned 4 17:51:34.905177 accept_connection 3 returned 0 17:51:34.905192 Read 93 bytes 17:51:34.905202 Process 93 bytes request 17:51:34.905216 Got request: GET /verifiedserver HTTP/1.1 17:51:34.905225 Are-we-friendly question received 17:51:34.905253 Wrote request (93 bytes) input to log/22/server.input 17:51:34.905271 Identifying ourselves as friends 17:51:34.905340 Response sent (56 bytes) and written to log/22/server.response 17:51:34.905350 special request received, no persistency 17:51:34.905359 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 127.0.0.1 port 37058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind2073 ==174845== ==174845== Process terminating with default action of signal 4 (SIGILL) ==174845== Illegal opcode at address 0x4014520 ==174845== at 0x4014520: getparameter (tool_getparam.c:2862) ==174845== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==174845== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==174845== by 0x4003728: main (tool_main.c:186) === End of file valgrind2073 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/12/valgrind2078 ../src/curl -q --output log/12/curl2078.out --include --trace-ascii log/12/trace2078 --trace-time http://127.0.0.1:36641/2078 --negotiate --data name=value > log/12/stdout2078 2> log/12/stderr2078 2078: 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 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/12/valgrind2078 ../src/curl -q --output log/12/curl2078.out --include --trace-ascii log/12/trace2078 --trace-time http://127.0.0.1:36641/2078 --negotiate --data name=value > log/12/stdout2078 2> log/12/stderr2078 === End of file commands.log === Start of file http_server.log 17:51:35.243305 ====> Client connect 17:51:35.243345 accept_connection 3 returned 4 17:51:35.243362 accept_connection 3 returned 0 17:51:35.243377 Read 93 bytes 17:51:35.243387 Process 93 bytes request 17:51:35.243400 Got request: GET /verifiedserver HTTP/1.1 17:51:35.243408 Are-we-friendly question received 17:51:35.243436 Wrote request (93 bytes) input to log/12/server.input 17:51:35.243454 Identifying ourselves as friends 17:51:35.243514 Response sent (56 bytes) and written to log/12/server.response 17:51:35.243525 special request received, no persistency 17:51:35.243534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 53716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > HosCMD (33792): ../libtool --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/valgrind2081 ../src/curl -q --include --trace-ascii log/19/trace2081 --trace-time http://user:pass@127.0.0.1:36987/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/19/stdout2081 2> log/19/stderr2081 t: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind2078 ==175139== ==175139== Process terminating with default action of signal 4 (SIGILL) ==175139== Illegal opcode at address 0x4014520 ==175139== at 0x4014520: getparameter (tool_getparam.c:2862) ==175139== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==175139== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==175139== by 0x4003728: main (tool_main.c:186) === 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/17/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:44593/2082 > log/17/stdout2082 2> log/17/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/1/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:39589/2084#err > log/1/stdout2084 2> log/1/stderr2084 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/19/valgrind2081 ../src/curl -q --include --trace-ascii log/19/trace2081 --trace-time http://user:pass@127.0.0.1:36987/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/19/stdout2081 2> log/19/stderr2081 2081: stdout FAILED: --- log/19/check-expected 2026-01-28 17:51:37.776555363 +0000 +++ log/19/check-generated 2026-01-28 17:51:37.776555363 +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:36987/we/want/our/2081[LF] == Contents of files in the log/19/ 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:36987/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/19/valgrind2081 ../src/curl -q --include --trace-ascii log/19/trace2081 --trace-time http://user:pass@127.0.0.1:36987/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/19/stdout2081 2> log/19/stderr2081 === End of file commands.log === Start of file http_server.log 17:51:35.342177 ====> Client connect 17:51:35.342218 accept_connection 3 returned 4 17:51:35.342236 accept_connection 3 returned 0 17:51:35.342252 Read 93 bytes 17:51:35.342263 Process 93 bytes request 17:51:35.342276 Got request: GET /verifiedserver HTTP/1.1 17:51:35.342286 Are-we-friendly question received 17:51:35.342315 Wrote request (93 bytes) input to log/19/server.input 17:51:35.342334 Identifying ourselves as friends 17:51:35.342402 Response sent (56 bytes) and written to log/19/server.response 17:51:35.342412 special request received, no persistency 17:51:35.342421 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 59926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file valgrind2081 ==175217== ==175217== Process terminating with default action of signal 4 (SIGILL) ==175217== Illegal opcode at address 0x4014520 ==175217== at 0x4014520: getparameter (tool_getparam.c:2862) ==175217== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==175217== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==175217== by 0x4003728: main (tool_main.c:186) === End of file valgrind2081 CMD (33792): ../libtool --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/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:40307/test-2083/ > log/4/stdout2083 2> log/4/stderr2083 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/17/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:44593/2082 > log/17/stdout2082 2> log/17/stderr2082 2082: stdout FAILED: --- log/17/check-expected 2026-01-28 17:51:38.069888696 +0000 +++ log/17/check-generated 2026-01-28 17:51:38.069888696 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 44593[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/17/ 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 = 44593[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/17/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:44593/2082 > log/17/stdout2082 2> log/17/stderr2082 === End of file commands.log === Start of file http_server.log 17:51:35.579593 ====> Client connect 17:51:35.579644 accept_connection 3 returned 4 17:51:35.579664 accept_connection 3 returned 0 17:51:35.579681 Read 93 bytes 17:51:35.579691 Process 93 bytes request 17:51:35.579705 Got request: GET /verifiedserver HTTP/1.1 17:51:35.579714 Are-we-friendly question received 17:51:35.579745 Wrote request (93 bytes) input to log/17/server.input 17:51:35.579762 Identifying ourselves as friends 17:51:35.579851 Response sent (56 bytes) and written to log/17/server.response 17:51:35.579866 special request received, no persistency 17:51:35.579876 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44593... * Established connection to 127.0.0.1 (127.0.0.1 port 44593) from 127.0.0.1 port 55454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44593 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74818 === 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: 74818 === End of file server.response === Start of file stderr2082 URL: 127.0.0.1:44593/2082 === End of file stderr2082 === Start of file valgrind2082 ==175344== ==175344== Process terminating with default action of signal 4 (SIGILL) ==175344== Illegal opcode at address 0x51D97AF ==175344== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==175344== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==175344== by 0x51D97AF: Curl_open (url.c:502) ==175344== by 0x515120F: curl_easy_init (easy.c:365) ==175344== by 0x4042917: test_lib2082.lto_priv.0 (lib2082.c:65) ==175344== by 0x40034B5: main (first.c:279) ==175344== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==175344== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==175344== by 0x51D96BD: Curl_open (url.c:479) ==175344== by 0x515120F: curl_easy_init (easy.c:365) ==175344== by 0x4042917: test_lib2082.lto_priv.0 (lib2082.c:65) ==175344== by 0x40034B5: main (first.c:279) ==175344== === End of file valgrind2082 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/1/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:39589/2084#err > log/1/stdout2084 2> log/1/stderr2084 2084: stdout FAILED: --- log/1/check-expected 2026-01-28 17:51:38.076555363 +0000 +++ log/1/check-generated 2026-01-28 17:51:38.076555363 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 39589[LF] -Local port = stripped[LF] -Returning = 1[LF] == Contents of files in the log/1/ 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 = 39589[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/1/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:39589/2084#err > log/1/stdout2084 2> log/1/stderr2084 === End of file commands.log === Start of file http_server.log 17:51:36.046848 ====> Client connect 17:51:36.046885 accept_connection 3 returned 4 17:51:36.046903 accept_connection 3 returned 0 17:51:36.046919 Read 93 bytes 17:51:36.046929 Process 93 bytes request 17:51:36.046942 Got request: GET /verifiedserver HTTP/1.1 17:51:36.046952 Are-we-friendly question received 17:51:36.046980 Wrote request (93 bytes) input to log/1/server.input 17:51:36.046998 Identifying ourselves as friends 17:51:36.047067 Response sent (56 bytes) and written to log/1/server.response 17:51:36.047080 special request received, no persistency 17:51:36.047089 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39589... * Established connection to 127.0.0.1 (127.0.0.1 port 39589) from 127.0.0.1 port 42910 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39589 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39589 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75347 === 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: 75347 === End of file server.response === Start of file stderr2084 URL: 127.0.0.1:39589/2084#err === End of file stderr2084 === Start of file valgrind2084 ==175462== ==175462== Process terminating with default action of signal 4 (SIGILL) ==175462== Illegal opcode at address 0x51D97AF ==175462== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==175462== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==175462== by 0x51D97AF: Curl_open (url.c:502) ==175462== by 0x515120F: curl_easy_init (easy.c:365) ==175462== by 0x4042917: test_lib2082.lto_priv.0 (lib2082.c:65) ==175462== by 0x40034B5: main (first.c:279) ==175462== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==175462== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==175462== by 0x51D96BD: Curl_open (url.c:479) ==175462== by 0x515120F: curl_easy_init (easy.c:365) ==175462== by 0x4042917: test_lib2082.lto_priv.0 (lib2082.c:65) ==175462== by 0x40034B5: main (first.c:279) ==175462== === 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/5/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:46875/2085#redir > log/5/stdout2085 2> log/5/stderr2085 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/4/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:40307/test-2083/ > log/4/stdout2083 2> log/4/stderr2083 2083: stdout FAILED: --- log/4/check-expected 2026-01-28 17:51:38.099888696 +0000 +++ log/4/check-generated 2026-01-28 17:51:38.099888696 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 40307[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/4/ 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 = 40307[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/4/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:40307/test-2083/ > log/4/stdout2083 2> log/4/stderr2083 === End of file commands.log === Start of file ftp_server.log 17:51:36.149501 ====> Client connect 17:51:36.149678 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:36.149982 < "USER anonymous" 17:51:36.150250 > "331 We are happy you popped in![CR][LF]" 17:51:36.150444 < "PASS ftp@example.com" 17:51:36.150474 > "230 Welcome you silly person[CR][LF]" 17:51:36.150627 < "PWD" 17:51:36.150659 > "257 "/" is current directory[CR][LF]" 17:51:36.150815 < "EPSV" 17:51:36.150841 ====> Passive DATA channel requested by client 17:51:36.150855 DATA sockfilt for passive data channel starting... 17:51:36.156883 DATA sockfilt for passive data channel started (pid 175432) 17:51:36.157019 DATA sockfilt for passive data channel listens on port 34053 17:51:36.157071 > "229 Entering Passive Mode (|||34053|)[CR][LF]" 17:51:36.157091 Client has been notified that DATA conn will be accepted on port 34053 17:51:36.163435 Client connects to port 34053 17:51:36.163515 ====> Client established passive DATA connection on port 34053 17:51:36.163655 < "TYPE I" 17:51:36.163705 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:36.170215 < "SIZE verifiedserver" 17:51:36.170297 > "213 17[CR][LF]" 17:51:36.176929 < "RETR verifiedserver" 17:51:36.177000 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:36.177106 =====> Closing passive DATA connection... 17:51:36.177126 Server disconnects passive DATA connection 17:51:36.177345 Server disconnected passive DATA connection 17:51:36.177370 DATA sockfilt for passive data channel quits (pid 175432) 17:51:36.177652 DATA sockfilt for passive data channel quit (pid 175432) 17:51:36.177678 =====> Closed passive DATA connection 17:51:36.177707 > "226 File transfer complete[CR][LF]" 17:51:36.227026 < "QUIT" 17:51:36.227096 > "221 bye bye baby[CR][LF]" 17:51:36.228319 MAIN sockfilt said DISC 17:51:36.228354 ====> Client disconnected 17:51:36.228452 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:35.995536 ====> Client connect 17:51:35.995867 Received DATA (on stdin) 17:51:35.995882 > 146 bytes data, server => client 17:51:35.995894 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:35.995905 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:35.995914 '220 \___|\___/|_| \_\_____|\r\n' 17:51:35.995997 < 16 bytes data, client => server 17:51:35.996009 'USER anonymous\r\n' 17:51:35.996432 Received DATA (on stdin) 17:51:35.996445 > 33 bytes data, server => client 17:51:35.996456 '331 We are happy you popped in!\r\n' 17:51:35.996515 < 22 bytes data, client => server 17:51:35.996526 'PASS ftp@example.com\r\n' 17:51:35.996648 Received DATA (on stdin) 17:51:35.996662 > 30 bytes data, server => client 17:51:35.996674 '230 Welcome you silly person\r\n' 17:51:35.996720 < 5 bytes data, client => server 17:51:35.996731 'PWD\r\n' 17:51:35.996832 Received DATA (on stdin) 17:51:35.996843 > 30 bytes data, server => client 17:51:35.996853 '257 "/" is current directory\r\n' 17:51:35.996908 < 6 bytes data, client => server 17:51:35.996918 'EPSV\r\n' 17:51:36.006170 Received DATA (on stdin) 17:51:36.006208 > 39 bytes data, server => client 17:51:36.006220 '229 Entering Passive Mode (|||34053|)\r\n' 17:51:36.006432 < 8 bytes data, client => server 17:51:36.006450 'TYPE I\r\n' 17:51:36.012840 Received DATA (on stdin) 17:51:36.012879 > 33 bytes data, server => client 17:51:36.012890 '200 I modify TYPE as you wanted\r\n' 17:51:36.012992 < 21 bytes data, client => server 17:51:36.013007 'SIZE verifiedserver\r\n' 17:51:36.016487 Received DATA (on stdin) 17:51:36.016509 > 8 bytes data, server => client 17:51:36.016521 '213 17\r\n' 17:51:36.022865 < 21 bytes data, client => server 17:51:36.022918 'RETR verifiedserver\r\n' 17:51:36.023304 Received DATA (on stdin) 17:51:36.023317 > 29 bytes data, server => client 17:51:36.023328 '150 Binary junk (17 bytes).\r\n' 17:51:36.023886 Received DATA (on stdin) 17:51:36.023898 > 28 bytes data, server => client 17:51:36.023909 '226 File transfer complete\r\n' 17:51:36.072971 < 6 bytes data, client => server 17:51:36.073010 'QUIT\r\n' 17:51:36.073284 Received DATA (on stdin) 17:51:36.073299 > 18 bytes data, server => client 17:51:36.073310 '221 bye bye baby\r\n' 17:51:36.074438 ====> Client disconnect 17:51:36.074632 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:36.000254 Running IPv4 version 17:51:36.000320 Listening on port 34053 17:51:36.000363 Wrote pid 175432 to log/4/server/ftp_sockdata.pid 17:51:36.002991 Received PING (on stdin) 17:51:36.003096 Received PORT (on stdin) 17:51:36.009522 ====> Client connect 17:51:36.023388 Received DATA (on stdin) 17:51:36.023407 > 17 bytes data, server => client 17:51:36.023417 'WE ROOLZ: 80996\r\n' 17:51:36.023449 Received DISC (on stdin) 17:51:36.023462 ====> Client forcibly disconnected 17:51:36.023554 Received QUIT (on stdin) 17:51:36.023565 quits 17:51:36.023652 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2083 === End of file server.cmd === Start of file stderr2083 URL: ftp://127.0.0.1:40307/test-2083/ === End of file stderr2083 === Start of file valgrind2083 ==175472== ==175472== Process terminating with default action of signal 4 (SIGILL) ==175472== Illegal opcode at address 0x51D97AF ==175472== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==175472== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==175472== by 0x51D97AF: Curl_open (url.c:502) ==175472== by 0x515120F: curl_easy_init (easy.c:365) ==175472== by 0x4042917: test_lib2082.lto_priv.0 (lib2082.c:65) ==175472== by 0x40034B5: main (first.c:279) ==175472== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==175472== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==175472== by 0x51D96BD: Curl_open (url.c:479) ==175472== by 0x515120F: curl_easy_init (easy.c:365) ==175472== by 0x4042917: test_lib2082.lto_priv.0 (lib2082.c:65) ==175472== by 0x40034B5: main (first.c:279) ==175472== === 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/14/valgrind2200 ../src/curl -q --output log/14/curl2200.out --include --trace log/14/trace2200 --trace-time mqtt://127.0.0.1:37843/2200 -u fakeuser:fakepasswd > log/14/stdout2200 2> log/14/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/22/valgrind2601 ./unit/units unit2601 - > log/22/stdout2601 2> log/22/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/7/valgrind2204 ../src/curl -q --output log/7/curl2204.out --include --trace log/7/trace2204 --trace-time mqtt://127.0.0.1:39193/2204 -u testuser:testpasswd > log/7/stdout2204 2> log/7/stderr2204 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/5/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:46875/2085#redir > log/5/stdout2085 2> log/5/stderr2085 2085: stdout FAILED: --- log/5/check-expected 2026-01-28 17:51:38.509888695 +0000 +++ log/5/check-generated 2026-01-28 17:51:38.509888695 +0000 @@ -1,10 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 46875[LF] -Local port = stripped[LF] -Returning = 0[LF] -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 46875[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/5/ 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 = 46875[LF] Local port = stripped[LF] Returning = 0[LF] Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 46875[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/5/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:46875/2085#redir > log/5/stdout2085 2> log/5/stderr2085 === End of file commands.log === Start of file http_server.log 17:51:36.079550 ====> Client connect 17:51:36.079586 accept_connection 3 returned 4 17:51:36.079604 accept_connection 3 returned 0 17:51:36.079619 Read 93 bytes 17:51:36.079630 Process 93 bytes request 17:51:36.079643 Got request: GET /verifiedserver HTTP/1.1 17:51:36.079652 Are-we-friendly question received 17:51:36.079679 Wrote request (93 bytes) input to log/5/server.input 17:51:36.079696 Identifying ourselves as friends 17:51:36.079770 Response sent (56 bytes) and written to log/5/server.response 17:51:36.079781 special request received, no persistency 17:51:36.079790 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 42950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === 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: 77918 === End of file server.response === Start of file stderr2085 URL: 127.0.0.1:46875/2085#redir === End of file stderr2085 === Start of file valgrind2085 ==175479== ==175479== Process terminating with default action of signal 4 (SIGILL) ==175479== Illegal opcode at address 0x51D97AF ==175479== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==175479== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==175479== by 0x51D97AF: Curl_open (url.c:502) ==175479== by 0x515120F: curl_easy_init (easy.c:365) ==175479== by 0x4042917: test_lib2082.lto_priv.0 (lib2082.c:65) ==175479== by 0x40034B5: main (first.c:279) ==175479== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==175479== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==175479== by 0x51D96BD: Curl_open (url.c:479) ==175479== by 0x515120F: curl_easy_init (easy.c:365) ==175479== by 0x4042917: test_lib2082.lto_priv.0 (lib2082.c:65) ==175479== by 0x40034B5: main (first.c:279) ==175479== === End of file valgrind2085 test 2200...[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/14/valgrind2200 ../src/curl -q --output log/14/curl2200.out --include --trace log/14/trace2200 --trace-time mqtt://127.0.0.1:37843/2200 -u fakeuser:fakepasswd > log/14/stdout2200 2> log/14/stderr2200 2200: 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 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/14/valgrind2200 ../src/curl -q --output log/14/curl2200.out --include --trace log/14/trace2200 --trace-time mqtt://127.0.0.1:37843/2200 -u fakeuser:fakepasswd > log/14/stdout2200 2> log/14/stderr2200 === End of file commands.log === Start of file server.cmd error-CONNACK 5 Testnum 2200 === End of file server.cmd === Start of file valgrind2200 ==175647== ==175647== Process terminating with default action of signal 4 (SIGILL) ==175647== Illegal opcode at address 0x4014520 ==175647== at 0x4014520: getparameter (tool_getparam.c:2862) ==175647== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==175647== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==175647== by 0x4003728: main (tool_main.c:186) === End of file valgrind2200 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/22/valgrind2601 ./unit/units unit2601 - > log/22/stdout2601 2> log/22/stderr2601 units returned 132, when expecting 0 2601: exit FAILED == Contents of files in the log/22/ 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/22/valgrind2601 ./unit/units unit2601 - > log/22/stdout2601 2> log/22/stderr2601 === End of file commands.log === Start of file server.cmd Testnum 2601 === End of file server.cmd === Start of file stderr2601 URL: - === End of file stderr2601 === Start of file valgrind2601 ==176247== ==176247== Process terminating with default action of signal 4 (SIGILL) ==176247== Illegal opcode at address 0x401EEA7 ==176247== at 0x401EEA7: UnknownInlinedFun (string_fortified.h:59) ==176247== by 0x401EEA7: UnknownInlinedFun (bufq.c:211) ==176247== by 0x401EEA7: UnknownInlinedFun (bufq.c:226) ==176247== by 0x401EEA7: test_unit2601.lto_priv.0 (unit2601.c:217) ==176247== by 0x400B165: main (first.c:279) === End of file valgrind2601 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/7/valgrind2204 ../src/curl -q --output log/7/curl2204.out --include --trace log/7/trace2204 --trace-time mqtt://127.0.0.1:39193/2204 -u testuser:testpasswd > log/7/stdout2204 2> log/7/stderr2204 2204: 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 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/7/valgrind2204 ../src/curl -q --output log/7/curl2204.out --include --trace log/7/trace2204 --trace-time mqtt://127.0.0.1:39193/2204 -u testuser:testpasswd > log/7/stdout2204 2> log/7/stderr2204 === End of file commands.log === Start of file server.cmd Testnum 2204 === End of file server.cmd === Start of file valgrind2204 ==175751== ==175751== Process terminating with default action of signal 4 (SIGILL) ==175751== Illegal opcode at address 0x4014520 ==175751== at 0x4014520: getparameteCMD (33792): ../libtool --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/valgrind2603 ./unit/units unit2603 - > log/19/stdout2603 2> log/19/stderr2603 CMD (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/12/valgrind2602 ./unit/units unit2602 - > log/12/stdout2602 2> log/12/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/23/valgrind2091 ../src/curl -q --output log/23/curl2091.out --include --trace-ascii log/23/trace2091 --trace-time http://127.0.0.1:39173/20910001 -u testuser:testpass --digest --next http://127.0.0.1:39173/20910003 -u testuser:testpass --digest > log/23/stdout2091 2> log/23/stderr2091 CMD (33792): ../libtool --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/valgrind2307 ../src/curl -q --output log/21/curl2307.out --include --trace-ascii log/21/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:37113/2307 > log/21/stdout2307 2> log/21/stderr2307 r (tool_getparam.c:2862) ==175751== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==175751== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==175751== by 0x4003728: main (tool_main.c:186) === End of file valgrind2204 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/19/valgrind2603 ./unit/units unit2603 - > log/19/stdout2603 2> log/19/stderr2603 units returned 132, when expecting 0 2603: exit FAILED == Contents of files in the log/19/ 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/19/valgrind2603 ./unit/units unit2603 - > log/19/stdout2603 2> log/19/stderr2603 === End of file commands.log === Start of file server.cmd Testnum 2603 === End of file server.cmd === Start of file stderr2603 URL: - === End of file stderr2603 === Start of file valgrind2603 ==176403== ==176403== Process terminating with default action of signal 4 (SIGILL) ==176403== Illegal opcode at address 0x402080F ==176403== at 0x402080F: UnknownInlinedFun (string_fortified.h:59) ==176403== by 0x402080F: UnknownInlinedFun (http1.c:38) ==176403== by 0x402080F: parse_success (unit2603.c:71) ==176403== by 0x4020E33: test_unit2603.lto_priv.0 (unit2603.c:182) ==176403== by 0x400B165: main (first.c:279) === End of file valgrind2603 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/12/valgrind2602 ./unit/units unit2602 - > log/12/stdout2602 2> log/12/stderr2602 -------e-v- OK (1700 out of 1760, remaining: 00:05, took 1.207s, duration: 02:47) 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/23/valgrind2091 ../src/curl -q --output log/23/curl2091.out --include --trace-ascii log/23/trace2091 --trace-time http://127.0.0.1:39173/20910001 -u testuser:testpass --digest --next http://127.0.0.1:39173/20910003 -u testuser:testpass --digest > log/23/stdout2091 2> log/23/stderr2091 2091: 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 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/23/valgrind2091 ../src/curl -q --output log/23/curl2091.out --include --trace-ascii log/23/trace2091 --trace-time http://127.0.0.1:39173/20910001 -u testuser:testpass --digest --next http://127.0.0.1:39173/20910003 -u testuser:testpass --digest > log/23/stdout2091 2> log/23/stderr2091 === End of file commands.log === Start of file http_server.log 17:51:37.536229 ====> Client connect 17:51:37.536282 accept_connection 3 returned 4 17:51:37.536301 accept_connection 3 returned 0 17:51:37.536319 Read 93 bytes 17:51:37.536329 Process 93 bytes request 17:51:37.536343 Got request: GET /verifiedserver HTTP/1.1 17:51:37.536353 Are-we-friendly question received 17:51:37.536384 Wrote request (93 bytes) input to log/23/server.input 17:51:37.536403 Identifying ourselves as friends 17:51:37.536491 Response sent (56 bytes) and written to log/23/server.response 17:51:37.536503 special request received, no persistency 17:51:37.536512 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 49732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 17 WE ROOLZ: 74812 === End of file server.response === Start of file valgrind2091 ==175646== ==175646== Process terminating with default action of signal 4 (SIGILL) ==175646== Illegal opcode at address 0x4014520 ==175646== at 0x4014520: getparameter (tool_getparam.c:2862) ==175646== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==175646== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==175646== by 0x4003728: main (tool_main.c:186) === End of file valgrind2091 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/21/valgrind2307 ../src/curl -q --output log/21/curl2307.out --include --trace-ascii log/21/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:37113/2307 > log/21/stdout2307 2> log/21/stderr2307 2307: 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 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/21/valgrind2307 ../src/curl -q --output log/21/curl2307.out --include --trace-ascii log/21/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:37113/2307 > log/21/stdout2307 2> log/21/stderr2307 === End of file commands.log === Start of file ftp_server.log 17:51:37.066698 ====> Client connect 17:51:37.066913 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:37.067287 < "USER anonymous" 17:51:37.067329 > "331 We are happy you popped in![CR][LF]" 17:51:37.067500 < "PASS ftp@example.com" 17:51:37.067528 > "230 Welcome you silly person[CR][LF]" 17:51:37.067689 < "PWD" 17:51:37.067725 > "257 "/" is current directory[CR][LF]" 17:51:37.067902 < "EPSV" 17:51:37.067930 ====> Passive DATA channel requested by client 17:51:37.067946 DATA sockfilt for passive data channel starting... 17:51:37.074868 DATA sockfilt for passive data channel started (pid 175878) 17:51:37.075040 DATA sockfilt for passive data channel listens on port 38473 17:51:37.075110 > "229 Entering Passive Mode (|||38473|)[CR][LF]" 17:51:37.075140 Client has been notified that DATA conn will be accepted on port 38473 17:51:37.080080 Client connects to port 38473 17:51:37.080149 ====> Client established passive DATA connection on port 38473 17:51:37.080298 < "TYPE I" 17:51:37.080355 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:37.080608 < "SIZE verifiedserver" 17:51:37.080655 > "213 17[CR][LF]" 17:51:37.080850 < "RETR verifiedserver" 17:51:37.080894 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:37.081014 =====> Closing passive DATA connection... 17:51:37.081041 Server disconnects passive DATA connection 17:51:37.081184 Server disconnected passive DATA connection 17:51:37.081217 DATA sockfilt for passive data channel quits (pid 175878) 17:51:37.081607 DATA sockfilt for passive data channel quit (pid 175878) 17:51:37.081637 =====> Closed passive DATA connection 17:51:37.081670 > "226 File transfer complete[CR][LF]" 17:51:37.125917 < "QUIT" 17:51:37.125975 > "221 bye bye baby[CR][LF]" 17:51:37.127197 MAIN sockfilt said DISC 17:51:37.127236 ====> Client disconnected 17:51:37.127333 Awaiting input === End of file ftp_server.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/6/valgrind2309 ./libtest/libtests lib2309 http://github.com log/6/netrc2309 http://127.0.0.1:33191/ > log/6/stdout2309 2> log/6/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/9/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:37413/2306 http://127.0.0.1:37413/23060002 > log/9/stdout2306 2> log/9/stderr2306 == Start of file ftp_sockctrl.log 17:51:36.909525 ====> Client connect 17:51:36.913109 Received DATA (on stdin) 17:51:36.913131 > 146 bytes data, server => client 17:51:36.913144 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:36.913154 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:36.913164 '220 \___|\___/|_| \_\_____|\r\n' 17:51:36.913301 < 16 bytes data, client => server 17:51:36.913316 'USER anonymous\r\n' 17:51:36.913508 Received DATA (on stdin) 17:51:36.913520 > 33 bytes data, server => client 17:51:36.913530 '331 We are happy you popped in!\r\n' 17:51:36.913584 < 22 bytes data, client => server 17:51:36.913596 'PASS ftp@example.com\r\n' 17:51:36.913702 Received DATA (on stdin) 17:51:36.913713 > 30 bytes data, server => client 17:51:36.913723 '230 Welcome you silly person\r\n' 17:51:36.913774 < 5 bytes data, client => server 17:51:36.913786 'PWD\r\n' 17:51:36.913900 Received DATA (on stdin) 17:51:36.913911 > 30 bytes data, server => client 17:51:36.913921 '257 "/" is current directory\r\n' 17:51:36.913986 < 6 bytes data, client => server 17:51:36.913998 'EPSV\r\n' 17:51:36.921332 Received DATA (on stdin) 17:51:36.921354 > 39 bytes data, server => client 17:51:36.921366 '229 Entering Passive Mode (|||38473|)\r\n' 17:51:36.923103 < 8 bytes data, client => server 17:51:36.923124 'TYPE I\r\n' 17:51:36.926545 Received DATA (on stdin) 17:51:36.926564 > 33 bytes data, server => client 17:51:36.926575 '200 I modify TYPE as you wanted\r\n' 17:51:36.926676 < 21 bytes data, client => server 17:51:36.926694 'SIZE verifiedserver\r\n' 17:51:36.926841 Received DATA (on stdin) 17:51:36.926854 > 8 bytes data, server => client 17:51:36.926865 '213 17\r\n' 17:51:36.926923 < 21 bytes data, client => server 17:51:36.926940 'RETR verifiedserver\r\n' 17:51:36.927852 Received DATA (on stdin) 17:51:36.927867 > 29 bytes data, server => client 17:51:36.927878 '150 Binary junk (17 bytes).\r\n' 17:51:36.927903 Received DATA (on stdin) 17:51:36.927915 > 28 bytes data, server => client 17:51:36.927926 '226 File transfer complete\r\n' 17:51:36.971889 < 6 bytes data, client => server 17:51:36.971918 'QUIT\r\n' 17:51:36.972155 Received DATA (on stdin) 17:51:36.972169 > 18 bytes data, server => client 17:51:36.972179 '221 bye bye baby\r\n' 17:51:36.973310 ====> Client disconnect 17:51:36.973519 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:37.917440 Running IPv4 version 17:51:37.917525 Listening on port 38473 17:51:37.917588 Wrote pid 175878 to log/21/server/ftp_sockdata.pid 17:51:37.920942 Received PING (on stdin) 17:51:37.921097 Received PORT (on stdin) 17:51:37.926168 ====> Client connect 17:51:37.927226 Received DATA (on stdin) 17:51:37.927241 > 17 bytes data, server => client 17:51:37.927252 'WE ROOLZ: 81123\r\n' 17:51:37.927285 Received DISC (on stdin) 17:51:37.927300 ====> Client forcibly disconnected 17:51:37.927406 Received QUIT (on stdin) 17:51:37.927419 quits 17:51:37.927604 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2307 === End of file server.cmd === Start of file valgrind2307 ==175924== ==175924== Process terminating with default action of signal 4 (SIGILL) ==175924== Illegal opcode at address 0x4014520 ==175924== at 0x4014520: getparameter (tool_getparam.c:2862) ==175924== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==175924== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==175924== by 0x4003728: main (tool_main.c:186) === End of file valgrind2307 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/6/valgrind2309 ./libtest/libtests lib2309 http://github.com log/6/netrc2309 http://127.0.0.1:33191/ > log/6/stdout2309 2> log/6/stderr2309 2309: 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 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/6/valgrind2309 ./libtest/libtests lib2309 http://github.com log/6/netrc2309 http://127.0.0.1:33191/ > log/6/stdout2309 2> log/6/stderr2309 === End of file commands.log === Start of file http_server.log 17:51:37.129908 ====> Client connect 17:51:37.129942 accept_connection 3 returned 4 17:51:37.129958 accept_connection 3 returned 0 17:51:37.129973 Read 93 bytes 17:51:37.129982 Process 93 bytes request 17:51:37.130000 Got request: GET /verifiedserver HTTP/1.1 17:51:37.130009 Are-we-friendly question received 17:51:37.130038 Wrote request (93 bytes) input to log/6/server.input 17:51:37.130057 Identifying ourselves as friends 17:51:37.130125 Response sent (57 bytes) and written to log/6/server.response 17:51:37.130138 special request received, no persistency 17:51:37.130147 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33191... * Established connection to 127.0.0.1 (127.0.0.1 port 33191) from 127.0.0.1 port 43988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33191 > User-Agent: curl/8.18.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:33191 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 164364 === 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: 18 WE ROOLZ: 164364 === End of file server.response === Start of file stderr2309 URL: http://github.com === End of file stderr2309 === Start of file valgrind2309 ==176035== ==176035== Process terminating with default action of signal 4 (SIGILL) ==176035== Illegal opcode at address 0x51D97AF ==176035== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==176035== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==176035== by 0x51D97AF: Curl_open (url.c:502) ==176035== by 0x515120F: curl_easy_init (easy.c:365) ==176035== by 0x4043BEF: UnknownInlinedFun (lib2309.c:42) ==176035== by 0x4043BEF: test_lib2309.lto_priv.0 (lib2309.c:35) ==176035== by 0x40034B5: main (first.c:279) ==176035== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==176035== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==176035== by 0x51D96BD: Curl_open (url.c:479) ==176035== by 0x515120F: curl_easy_init (easy.c:365) ==176035== by 0x4043BEF: UnknownInlinedFun (lib2309.c:42) ==176035== by 0x4043BEF: test_lib2309.lto_priv.0 (lib2309.c:35) ==176035== by 0x40034B5: main (first.c:279) ==176035== === End of file valgrind2309 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/9/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:37413/2306 http://127.0.0.1:37413/23060002 > log/9/stdout2306 2> log/9/stderr2306 2306: 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 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/9/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:37413/2306 http://127.0.0.1:37413/23060002 CMD (33792): ../libtool --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/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:43845/2308 > log/13/stdout2308 2> log/13/stderr2308 > log/9/stdout2306 2> log/9/stderr2306 === End of file commands.log === Start of file http_server.log 17:51:36.849585 ====> Client connect 17:51:36.849632 accept_connection 3 returned 4 17:51:36.849654 accept_connection 3 returned 0 17:51:36.856376 Read 93 bytes 17:51:36.856402 Process 93 bytes request 17:51:36.856419 Got request: GET /verifiedserver HTTP/1.1 17:51:36.856428 Are-we-friendly question received 17:51:36.856465 Wrote request (93 bytes) input to log/9/server.input 17:51:36.856483 Identifying ourselves as friends 17:51:36.856545 Response sent (56 bytes) and written to log/9/server.response 17:51:36.856556 special request received, no persistency 17:51:36.856565 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 58148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file stderr2306 URL: http://127.0.0.1:37413/2306 === End of file stderr2306 === Start of file valgrind2306 ==175862== ==175862== Process terminating with default action of signal 4 (SIGILL) ==175862== Illegal opcode at address 0x51D97AF ==175862== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==175862== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==175862== by 0x51D97AF: Curl_open (url.c:502) ==175862== by 0x515120F: curl_easy_init (easy.c:365) ==175862== by 0x4042EC8: UnknownInlinedFun (lib2306.c:34) ==175862== by 0x4042EC8: test_lib2306.lto_priv.0 (lib2306.c:26) ==175862== by 0x40034B5: main (first.c:279) ==175862== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==175862== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==175862== by 0x51D96BD: Curl_open (url.c:479) ==175862== by 0x515120F: curl_easy_init (easy.c:365) ==175862== by 0x4042EC8: UnknownInlinedFun (lib2306.c:34) ==175862== by 0x4042EC8: test_lib2306.lto_priv.0 (lib2306.c:26) ==175862== by 0x40034B5: main (first.c:279) ==175862== === End of file valgrind2306 CMD (33792): ../libtool --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/valgrind2205 ../src/curl -q --output log/24/curl2205.out --include --trace log/24/trace2205 --trace-time mqtt://127.0.0.1:35741/2205 -K log/24/input2205 > log/24/stdout2205 2> log/24/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/13/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:43845/2308 > log/13/stdout2308 2> log/13/stderr2308 2308: stdout FAILED: --- log/13/check-expected 2026-01-28 17:51:39.226555362 +0000 +++ log/13/check-generated 2026-01-28 17:51:39.226555362 +0000 @@ -1 +0,0 @@ -Returned 23, should be 23.[CR][LF] == Contents of files in the log/13/ 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/13/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:43845/2308 > log/13/stdout2308 2> log/13/stderr2308 === End of file commands.log === Start of file http_server.log 17:51:38.145523 ====> Client connect 17:51:38.145565 accept_connection 3 returned 4 17:51:38.145581 accept_connection 3 returned 0 17:51:38.145596 Read 93 bytes 17:51:38.145606 Process 93 bytes request 17:51:38.145619 Got request: GET /verifiedserver HTTP/1.1 17:51:38.145628 Are-we-friendly question received 17:51:38.145659 Wrote request (93 bytes) input to log/13/server.input 17:51:38.145676 Identifying ourselves as friends 17:51:38.145737 Response sent (56 bytes) and written to log/13/server.response 17:51:38.145748 special request received, no persistency 17:51:38.145757 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 42402 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file stderr2308 URL: http://127.0.0.1:43845/2308 === End of file stderr2308 === Start of file valgrind2308 ==176034== ==176034== Process terminating with default action of signal 4 (SIGILL) ==176034== Illegal opcode at address 0x51D97AF ==176034== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==176034== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==176034== by 0x51D97AF: Curl_open (url.c:502) ==176034== by 0x515120F: curl_easy_init (easy.c:365) ==176034== by 0x4043B0A: UnknownInlinedFun (lib2308.c:41) ==176034== by 0x4043B0A: test_lib2308.lto_priv.0 (lib2308.c:35) ==176034== by 0x40034B5: main (first.c:279) ==176034== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==176034== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==176034== by 0x51D96BD: Curl_open (url.c:479) ==176034== by 0x515120F: curl_easy_init (easy.c:365) ==176034== by 0x4043B0A: UnknownInlinedFun (lib2308.c:41) ==176034== by 0x4043B0A: test_lib2308.lto_priv.0 (lib2308.c:35) ==176034== by 0x40034B5: main (first.c:279) ==176034== === End of file valgrind2308 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/24/valgrind2205 ../src/curl -q --output log/24/curl2205.out --include --trace log/24/trace2205 --trace-time mqtt://127.0.0.1:35741/2205 -K log/24/input2205 > log/24/stdout2205 2> log/24/stderr2205 curl returned 132, when expecting 8 2205: exit FAILED == Contents of files in the log/24/ 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/24/valgrind2205 ../src/curl -q --output log/24/curl2205.out --include --trace log/24/trace2205 --trace-time mqtt://127.0.0.1:35741/2205 -K log/24/input2205 > log/24/stdout2205 2> log/24/stderr2205 === End of file commands.log === Start of file input2205 user = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind2086 ./libtest/libtests lib2082 [::1]:35625/2086#ipv6 > log/16/stdout2086 2> log/16/stderr2086 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:fakepasswd === End of file input2205 === Start of file server.cmd Testnum 2205 === End of file server.cmd === Start of file valgrind2205 ==175758== ==175758== Process terminating with default action of signal 4 (SIGILL) ==175758== Illegal opcode at address 0x4014520 ==175758== at 0x4014520: getparameter (tool_getparam.c:2862) ==175758== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==175758== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==175758== by 0x4003728: main (tool_main.c:186) === 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/17/valgrind2604 ./unit/units unit2604 - > log/17/stdout2604 2> log/17/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/8/valgrind2201 ../src/curl -q --output log/8/curl2201.out --include --trace log/8/trace2201 --trace-time mqtt://127.0.0.1:45945/2201 -d something -u testuser:testpasswd > log/8/stdout2201 2> log/8/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/20/valgrind2202 ../src/curl -q --output log/20/curl2202.out --include --trace log/20/trace2202 --trace-time mqtt://127.0.0.1:46265/2202 -d something -u fakeuser:fakepasswd > log/20/stdout2202 2> log/20/stderr2202 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 175611 port 35625 * pid http-ipv6 => 175611 175611 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/16/valgrind2086 ./libtest/libtests lib2082 [::1]:35625/2086#ipv6 > log/16/stdout2086 2> log/16/stderr2086 2086: stdout FAILED: --- log/16/check-expected 2026-01-28 17:51:39.333222029 +0000 +++ log/16/check-generated 2026-01-28 17:51:39.333222029 +0000 @@ -1,5 +0,0 @@ -Connected to [::1][LF] -Connected from [::1][LF] -Remote port = 35625[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/16/ directory after test 2086 === Start of file check-expected Connected to [::1][LF] Connected from [::1][LF] Remote port = 35625[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/16/valgrind2086 ./libtest/libtests lib2082 [::1]:35625/2086#ipv6 > log/16/stdout2086 2> log/16/stderr2086 === End of file commands.log === Start of file http_ipv6_server.log 17:51:36.382332 Running HTTP IPv6 version on port 35625 17:51:36.382484 Wrote pid 175611 to log/16/server/http_ipv6_server.pid 17:51:36.382525 Wrote port 35625 to log/16/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 stderr2086 URL: [::1]:35625/2086#ipv6 === End of file stderr2086 === Start of file valgrind2086 ==176193== ==176193== Process terminating with default action of signal 4 (SIGILL) ==176193== Illegal opcode at address 0x51D97AF ==176193== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==176193== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==176193== by 0x51D97AF: Curl_open (url.c:502) ==176193== by 0x515120F: curl_easy_init (easy.c:365) ==176193== by 0x4042917: test_lib2082.lto_priv.0 (lib2082.c:65) ==176193== by 0x40034B5: main (first.c:279) ==176193== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==176193== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==176193== by 0x51D96BD: Curl_open (url.c:479) ==176193== by 0x515120F: curl_easy_init (easy.c:365) ==176193== by 0x4042917: test_lib2082.lto_priv.0 (lib2082.c:65) ==176193== by 0x40034B5: main (first.c:279) ==176193== === End of file valgrind2086 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/17/valgrind2604 ./unit/units unit2604 - > log/17/stdout2604 2> log/17/stderr2604 units returned 132, when expecting 0 2604: exit FAILED == Contents of files in the log/17/ 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/17/valgrind2604 ./unit/units unit2604 - > log/17/stdout2604 2> log/17/stderr2604 === End of file commands.log === Start of file server.cmd Testnum 2604 === End of file server.cmd === Start of file stderr2604 URL: - === End of file stderr2604 === Start of file valgrind2604 ==176603== ==176603== Process terminating with default action of signal 4 (SIGILL) ==176603== Illegal opcode at address 0x4020F8A ==176603== at 0x4020F8A: test_unit2604.lto_priv.0 (unit2604.c:52) ==176603== by 0x400B165: main (first.c:279) === End of file valgrind2604 startnew: ./server/servers mqttd --port 0 --pidfile log/8/server/mqtt_server.pid --portfile log/8/server/mqtt_server.port --config log/8/server.cmd --logfile log/8/mqtt_server.log --logdir log/8 RUN: MQTT server is now running PID 175643 on PORT 45945 * pid mqtt => 175643 175643 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/8/valgrind2201 ../src/curl -q --output log/8/curl2201.out --include --trace log/8/trace2201 --trace-time mqtt://127.0.0.1:45945/2201 -d something -u testuser:testpasswd > log/8/stdout2201 2> log/8/stderr2201 2201: 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 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/8/valgrind2201 ../src/curl -q --output log/8/curl2201.out --include --trace log/8/trace2201 --trace-time mqtt://127.0.0.1:45945/2201 -d something -u testuser:testpasswd > log/8/stdout2201 2> log/8/stderr2201 === End of file commands.log === Start of file mqtt_server.log 17:51:36.588980 Running IPv4 version 17:51:36.589062 Listening on port 45945 17:51:36.589106 Wrote pid 175643 to log/8/server/mqtt_server.pid 17:51:36.589136 Wrote port 45945 to log/8/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 2201 === End of file server.cmd === Start of file valgrind2201 ==176377== ==176377== Process terminating with default action of signal 4 (SIGILL) ==176377== Illegal opcode at address 0x4014520 ==176377== at 0x4014520: getparameter (tool_getparam.c:2862) ==176377== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==176377== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==176377== by 0x4003728: main (tool_main.c:186) === End of file valgrind2201 startnew: ./server/servers mqttd --port 0 --pidfile log/20/server/mqtt_server.pid --portfile log/20/server/mqtt_server.port --config log/20/server.cmd --logfile log/20/mqtt_server.log --logdir log/20 RUN: MQTT server is now running PID 175652 on PORT 46265 * pid mqtt => 175652 175652 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/20/valgrind2202 ../src/curl -q --output log/20/curl2202.out --include --trace log/20/trace2202 --trace-time mqtt://127.0.0.1:46265/2202 -d something -u fakeuser:fakepasswd > log/20/stdout2202 2> log/20/stderr2202 2202: 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 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/20/valgrind2202 ../src/curl -q --output log/20/curl2202.out --include --trace log/20/trace2202 --trace-time mqtt://127.0.0.1:46265/2202 -d something -u fakeuser:fakepasswd > log/20/stdout2202 2> log/20/stderr2202 === End of file commands.log === Start of file mqtt_server.log 17:51:36.625730 Running IPv4 version 17:51:36.625820 Listening on port 46265 17:51:36.625859 Wrote pid 175652 to log/20/server/mqtt_server.pid 17:51:36.625889 Wrote port 46265 to log/20/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 5 Testnum 2202 === End of file server.cmd === Start of file valgrind2202 ==176400== ==176400== Process terminating with default action of signal 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/15/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:41057/2405 > log/15/stdout2405 2> log/15/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/4/valgrind2605 ./unit/units unit2605 - > log/4/stdout2605 2> log/4/stderr2605 CMD (33792): ../libtool --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/valgrind2203 ../src/curl -q --output log/10/curl2203.out --include --trace log/10/trace2203 --trace-time mqtt://127.0.0.1:35763/2203 > log/10/stdout2203 2> log/10/stderr2203 CMD (33792): ../libtool --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/valgrind3002 ../src/curl -q --output log/1/curl3002.out --include --trace-ascii log/1/trace3002 --trace-time smtp://127.0.0.1:37191/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/1/stdout3002 2> log/1/stderr3002 SIGILL) ==176400== Illegal opcode at address 0x4014520 ==176400== at 0x4014520: getparameter (tool_getparam.c:2862) ==176400== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==176400== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==176400== by 0x4003728: main (tool_main.c:186) === End of file valgrind2202 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/15/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:41057/2405 > log/15/stdout2405 2> log/15/stderr2405 libtests returned 132, when expecting 0 2405: exit FAILED == Contents of files in the log/15/ 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/15/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:41057/2405 > log/15/stdout2405 2> log/15/stderr2405 === End of file commands.log === Start of file http_server.log 17:51:37.328295 ====> Client connect 17:51:37.328326 accept_connection 3 returned 4 17:51:37.328341 accept_connection 3 returned 0 17:51:37.328354 Read 93 bytes 17:51:37.328363 Process 93 bytes request 17:51:37.328373 Got request: GET /verifiedserver HTTP/1.1 17:51:37.328381 Are-we-friendly question received 17:51:37.328406 Wrote request (93 bytes) input to log/15/server.input 17:51:37.328421 Identifying ourselves as friends 17:51:37.328478 Response sent (56 bytes) and written to log/15/server.response 17:51:37.328487 special request received, no persistency 17:51:37.328496 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 48294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file stderr2405 URL: http://127.0.0.1:41057/2405 === End of file stderr2405 === Start of file valgrind2405 ==176209== ==176209== Process terminating with default action of signal 4 (SIGILL) ==176209== Illegal opcode at address 0x51A0F00 ==176209== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==176209== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==176209== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==176209== by 0x4046A14: UnknownInlinedFun (lib2405.c:323) ==176209== by 0x4046A14: test_lib2405.lto_priv.0 (lib2405.c:378) ==176209== by 0x40034B5: main (first.c:279) ==176209== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==176209== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==176209== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==176209== by 0x4046A14: UnknownInlinedFun (lib2405.c:323) ==176209== by 0x4046A14: test_lib2405.lto_priv.0 (lib2405.c:378) ==176209== by 0x40034B5: main (first.c:279) ==176209== === End of file valgrind2405 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/4/valgrind2605 ./unit/units unit2605 - > log/4/stdout2605 2> log/4/stderr2605 units returned 132, when expecting 0 2605: exit FAILED == Contents of files in the log/4/ 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/4/valgrind2605 ./unit/units unit2605 - > log/4/stdout2605 2> log/4/stderr2605 === End of file commands.log === Start of file server.cmd Testnum 2605 === End of file server.cmd === Start of file stderr2605 URL: - === End of file stderr2605 === Start of file valgrind2605 ==176602== ==176602== Process terminating with default action of signal 4 (SIGILL) ==176602== Illegal opcode at address 0x408094F ==176602== at 0x408094F: UnknownInlinedFun (string_fortified.h:59) ==176602== by 0x408094F: UnknownInlinedFun (request.c:40) ==176602== by 0x408094F: Curl_open (url.c:502) ==176602== by 0x4040E25: curl_easy_init (easy.c:365) ==176602== by 0x40215A3: test_unit2605.lto_priv.0 (unit2605.c:73) ==176602== by 0x400B165: main (first.c:279) ==176602== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==176602== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==176602== by 0x408085D: Curl_open (url.c:479) ==176602== by 0x4040E25: curl_easy_init (easy.c:365) ==176602== by 0x40215A3: test_unit2605.lto_priv.0 (unit2605.c:73) ==176602== by 0x400B165: main (first.c:279) ==176602== === End of file valgrind2605 startnew: ./server/servers mqttd --port 0 --pidfile log/10/server/mqtt_server.pid --portfile log/10/server/mqtt_server.port --config log/10/server.cmd --logfile log/10/mqtt_server.log --logdir log/10 RUN: MQTT server is now running PID 175726 on PORT 35763 * pid mqtt => 175726 175726 test 2203...[MQTT with error in 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/10/valgrind2203 ../src/curl -q --output log/10/curl2203.out --include --trace log/10/trace2203 --trace-time mqtt://127.0.0.1:35763/2203 > log/10/stdout2203 2> log/10/stderr2203 2203: 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 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/10/valgrind2203 ../src/curl -q --output log/10/curl2203.out --include --trace log/10/trace2203 --trace-time mqtt://127.0.0.1:35763/2203 > log/10/stdout2203 2> log/10/stderr2203 === End of file commands.log === Start of file mqtt_server.log 17:51:36.710085 Running IPv4 version 17:51:36.710169 Listening on port 35763 17:51:36.710213 Wrote pid 175726 to log/10/server/mqtt_server.pid 17:51:36.710244 Wrote port 35763 to log/10/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 ==176510== ==176510== Process terminating with default action of signal 4 (SIGILL) ==176510== Illegal opcode at address 0x4014520 ==176510== at 0x4014520: getparameter (tool_getparam.c:2862) ==176510== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==176510== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==176510== by 0x4003728: main (tool_main.c:186) === End of file valgrind2203 test 3002...[SMTP multiple and 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/1/valgrind3002 ../src/curl -q --output log/1/curl3002.out --include --trace-ascii log/1/trace3002 --trace-time smtp://127.0.0.1:37191/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/1/stdout3002 2> 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/valgrind3004 ../src/curl -q --output log/14/curl3004.out --include --trace-ascii log/14/trace3004 --trace-time smtp://127.0.0.1:37041/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/14/stdout3004 2> log/14/stderr3004 CMD (33792): ../libtool --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/valgrind3003 ../src/curl -q --output log/5/curl3003.out --include --trace-ascii log/5/trace3003 --trace-time smtp://127.0.0.1:41899/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/5/stdout3003 2> log/5/stderr3003 og/1/stderr3002 3002: 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 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/1/valgrind3002 ../src/curl -q --output log/1/curl3002.out --include --trace-ascii log/1/trace3002 --trace-time smtp://127.0.0.1:37191/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/1/stdout3002 2> log/1/stderr3002 === End of file commands.log === Start of file server.cmd Testnum 3002 === End of file server.cmd === Start of file smtp_server.log 17:51:38.220030 ====> Client connect 17:51:38.220246 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:38.220611 < "EHLO verifiedserver" 17:51:38.220653 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:38.220819 < "HELP" 17:51:38.220850 > "214 WE ROOLZ: 126197[CR][LF]" 17:51:38.220864 return proof we are we 17:51:38.221081 < "QUIT" 17:51:38.221112 > "221 curl ESMTP server signing off[CR][LF]" 17:51:38.222409 MAIN sockfilt said DISC 17:51:38.222441 ====> Client disconnected 17:51:38.222517 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:38.059360 ====> Client connect 17:51:38.066442 Received DATA (on stdin) 17:51:38.066469 > 146 bytes data, server => client 17:51:38.066482 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:38.066492 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:38.066502 '220 \___|\___/|_| \_\_____|\r\n' 17:51:38.066632 < 21 bytes data, client => server 17:51:38.066646 'EHLO verifiedserver\r\n' 17:51:38.066831 Received DATA (on stdin) 17:51:38.066843 > 53 bytes data, server => client 17:51:38.066853 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:51:38.066906 < 6 bytes data, client => server 17:51:38.066919 'HELP\r\n' 17:51:38.067036 Received DATA (on stdin) 17:51:38.067046 > 22 bytes data, server => client 17:51:38.067056 '214 WE ROOLZ: 126197\r\n' 17:51:38.067162 < 6 bytes data, client => server 17:51:38.067177 'QUIT\r\n' 17:51:38.067288 Received DATA (on stdin) 17:51:38.067301 > 35 bytes data, server => client 17:51:38.067311 '221 curl ESMTP server signing off\r\n' 17:51:38.068530 ====> Client disconnect 17:51:38.068702 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 ==176680== ==176680== Process terminating with default action of signal 4 (SIGILL) ==176680== Illegal opcode at address 0x4014520 ==176680== at 0x4014520: getparameter (tool_getparam.c:2862) ==176680== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==176680== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==176680== by 0x4003728: main (tool_main.c:186) === End of file valgrind3002 test 3004...[SMTP multiple and 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/14/valgrind3004 ../src/curl -q --output log/14/curl3004.out --include --trace-ascii log/14/trace3004 --trace-time smtp://127.0.0.1:37041/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/14/stdout3004 2> log/14/stderr3004 3004: 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 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/14/valgrind3004 ../src/curl -q --output log/14/curl3004.out --include --trace-ascii log/14/trace3004 --trace-time smtp://127.0.0.1:37041/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/14/stdout3004 2> log/14/stderr3004 === End of file commands.log === Start of file server.cmd Testnum 3004 === End of file server.cmd === Start of file smtp_server.log 17:51:38.593498 ====> Client connect 17:51:38.593676 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:38.600256 < "EHLO verifiedserver" 17:51:38.600324 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:38.600580 < "HELP" 17:51:38.600620 > "214 WE ROOLZ: 126067[CR][LF]" 17:51:38.600639 return proof we are we 17:51:38.600911 < "QUIT" 17:51:38.600945 > "221 curl ESMTP server signing off[CR][LF]" 17:51:38.602107 MAIN sockfilt said DISC 17:51:38.602140 ====> Client disconnected 17:51:38.602219 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:38.439515 ====> Client connect 17:51:38.439870 Received DATA (on stdin) 17:51:38.439887 > 146 bytes data, server => client 17:51:38.439900 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:38.439910 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:38.439919 '220 \___|\___/|_| \_\_____|\r\n' 17:51:38.446178 < 21 bytes data, client => server 17:51:38.446214 'EHLO verifiedserver\r\n' 17:51:38.446510 Received DATA (on stdin) 17:51:38.446525 > 53 bytes data, server => client 17:51:38.446536 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:51:38.446640 < 6 bytes data, client => server 17:51:38.446654 'HELP\r\n' 17:51:38.446814 Received DATA (on stdin) 17:51:38.446826 > 22 bytes data, server => client 17:51:38.446836 '214 WE ROOLZ: 126067\r\n' 17:51:38.446962 < 6 bytes data, client => server 17:51:38.446977 'QUIT\r\n' 17:51:38.447122 Received DATA (on stdin) 17:51:38.447135 > 35 bytes data, server => client 17:51:38.447145 '221 curl ESMTP server signing off\r\n' 17:51:38.448227 ====> Client disconnect 17:51:38.448399 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 ==176789== ==176789== Process terminating with default action of signal 4 (SIGILL) ==176789== Illegal opcode at address 0x4014520 ==176789== at 0x4014520: getparameter (tool_getparam.c:2862) ==176789== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==176789== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==176789== by 0x4003728: main (tool_main.c:186) === End of file valgrind3004 test 3003...[SMTP multiple and 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/5/valgrind3003 ../src/curl -q --output log/5/curl3003.out --include --trace-ascii log/5/trace3003 --trace-time smtp://127.0.0.1:41899/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 --mailCMD (33792): ../libtool --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/valgrind3009 ../src/curl -q --trace-ascii log/23/trace3009 --trace-time http://127.0.0.1:39173/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/23/stdout3009 2> log/23/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/7/valgrind3006 ../src/curl -q --output log/7/curl3006.out --include --trace-ascii log/7/trace3006 --trace-time smtp://127.0.0.1:44215/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/7/stdout3006 2> log/7/stderr3006 -rcpt invalid.five --mail-from sender@example.com -T - log/5/stdout3003 2> log/5/stderr3003 3003: 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 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/5/valgrind3003 ../src/curl -q --output log/5/curl3003.out --include --trace-ascii log/5/trace3003 --trace-time smtp://127.0.0.1:41899/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/5/stdout3003 2> log/5/stderr3003 === End of file commands.log === Start of file server.cmd Testnum 3003 === End of file server.cmd === Start of file smtp_server.log 17:51:38.633569 ====> Client connect 17:51:38.633800 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:38.634472 < "EHLO verifiedserver" 17:51:38.634516 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:38.634681 < "HELP" 17:51:38.634711 > "214 WE ROOLZ: 126218[CR][LF]" 17:51:38.634725 return proof we are we 17:51:38.634916 < "QUIT" 17:51:38.634944 > "221 curl ESMTP server signing off[CR][LF]" 17:51:38.635970 MAIN sockfilt said DISC 17:51:38.635997 ====> Client disconnected 17:51:38.636060 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:39.476917 ====> Client connect 17:51:39.479904 Received DATA (on stdin) 17:51:39.479923 > 146 bytes data, server => client 17:51:39.479982 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:39.479993 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:39.480002 '220 \___|\___/|_| \_\_____|\r\n' 17:51:39.480491 < 21 bytes data, client => server 17:51:39.480507 'EHLO verifiedserver\r\n' 17:51:39.480693 Received DATA (on stdin) 17:51:39.480704 > 53 bytes data, server => client 17:51:39.480715 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:51:39.480771 < 6 bytes data, client => server 17:51:39.480782 'HELP\r\n' 17:51:39.480897 Received DATA (on stdin) 17:51:39.480907 > 22 bytes data, server => client 17:51:39.480916 '214 WE ROOLZ: 126218\r\n' 17:51:39.481009 < 6 bytes data, client => server 17:51:39.481020 'QUIT\r\n' 17:51:39.481114 Received DATA (on stdin) 17:51:39.481124 > 35 bytes data, server => client 17:51:39.481133 '221 curl ESMTP server signing off\r\n' 17:51:39.482098 ====> Client disconnect 17:51:39.486159 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 ==176809== ==176809== Process terminating with default action of signal 4 (SIGILL) ==176809== Illegal opcode at address 0x4014520 ==176809== at 0x4014520: getparameter (tool_getparam.c:2862) ==176809== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==176809== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==176809== by 0x4003728: main (tool_main.c:186) === End of file valgrind3003 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/23/valgrind3009 ../src/curl -q --trace-ascii log/23/trace3009 --trace-time http://127.0.0.1:39173/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/23/stdout3009 2> log/23/stderr3009 3009: 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 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/23/valgrind3009 ../src/curl -q --trace-ascii log/23/trace3009 --trace-time http://127.0.0.1:39173/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/23/stdout3009 2> log/23/stderr3009 === End of file commands.log === Start of file http_server.log 17:51:39.833265 ====> Client connect 17:51:39.833315 accept_connection 3 returned 4 17:51:39.833339 accept_connection 3 returned 0 17:51:39.833357 Read 93 bytes 17:51:39.833366 Process 93 bytes request 17:51:39.833380 Got request: GET /verifiedserver HTTP/1.1 17:51:39.833389 Are-we-friendly question received 17:51:39.833421 Wrote request (93 bytes) input to log/23/server.input 17:51:39.833439 Identifying ourselves as friends 17:51:39.833530 Response sent (56 bytes) and written to log/23/server.response 17:51:39.833542 special request received, no persistency 17:51:39.833551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 38840 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind3009 ==177094== ==177094== Process terminating with default action of signal 4 (SIGILL) ==177094== Illegal opcode at address 0x4014520 ==177094== at 0x4014520: getparameter (tool_getparam.c:2862) ==177094== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177094== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177094== by 0x4003728: main (tool_main.c:186) === End of file valgrind3009 test 3006...[SMTP with multiple 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/7/valgrind3006 ../src/curl -q --output log/7/curl3006.out --include --trace-ascii log/7/trace3006 --trace-time smtp://127.0.0.1:44215/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/7/stdout3006 2> log/7/stderr3006 3006: 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 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/7/valgrind3006 ../src/curl -q --output log/7/curl3006.out --include --trace-ascii log/7/trace3006 --trace-time smtp://127.0.0.1:44215/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/7/stdout3006 2> log/7/stderr3006 === End of file commands.log === Start of file server.cmd Testnum 3006 === End of file server.cmd === Start of file smtp_server.log 17:51:38.860114 ====> Client connect 17:51:38.860279 > "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/12/valgrind3008 ../src/curl -q --trace-ascii log/12/trace3008 --trace-time http://127.0.0.1:36641/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/12 > log/12/stdout3008 2> log/12/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/22/valgrind3005 ../src/curl -q --output log/22/curl3005.out --include --trace-ascii log/22/trace3005 --trace-time smtp://127.0.0.1:40615/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/22/stdout3005 2> log/22/stderr3005 __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:38.863940 < "EHLO verifiedserver" 17:51:38.863992 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:38.864165 < "HELP" 17:51:38.864196 > "214 WE ROOLZ: 125702[CR][LF]" 17:51:38.864211 return proof we are we 17:51:38.864427 < "QUIT" 17:51:38.864452 > "221 curl ESMTP server signing off[CR][LF]" 17:51:38.865718 MAIN sockfilt said DISC 17:51:38.865744 ====> Client disconnected 17:51:38.865814 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:38.706170 ====> Client connect 17:51:38.706472 Received DATA (on stdin) 17:51:38.706490 > 146 bytes data, server => client 17:51:38.706501 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:38.706511 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:38.706521 '220 \___|\___/|_| \_\_____|\r\n' 17:51:38.709908 < 21 bytes data, client => server 17:51:38.709931 'EHLO verifiedserver\r\n' 17:51:38.710170 Received DATA (on stdin) 17:51:38.710181 > 53 bytes data, server => client 17:51:38.710192 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:51:38.710255 < 6 bytes data, client => server 17:51:38.710265 'HELP\r\n' 17:51:38.710383 Received DATA (on stdin) 17:51:38.710393 > 22 bytes data, server => client 17:51:38.710403 '214 WE ROOLZ: 125702\r\n' 17:51:38.710514 < 6 bytes data, client => server 17:51:38.710529 'QUIT\r\n' 17:51:38.710868 Received DATA (on stdin) 17:51:38.710882 > 35 bytes data, server => client 17:51:38.710893 '221 curl ESMTP server signing off\r\n' 17:51:38.711846 ====> Client disconnect 17:51:38.711985 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 ==176970== ==176970== Process terminating with default action of signal 4 (SIGILL) ==176970== Illegal opcode at address 0x4014520 ==176970== at 0x4014520: getparameter (tool_getparam.c:2862) ==176970== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==176970== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==176970== by 0x4003728: main (tool_main.c:186) === End of file valgrind3006 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/12/valgrind3008 ../src/curl -q --trace-ascii log/12/trace3008 --trace-time http://127.0.0.1:36641/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/12 > log/12/stdout3008 2> log/12/stderr3008 3008: 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 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/12/valgrind3008 ../src/curl -q --trace-ascii log/12/trace3008 --trace-time http://127.0.0.1:36641/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/12 > log/12/stdout3008 2> log/12/stderr3008 === End of file commands.log === Start of file http_server.log 17:51:38.797225 ====> Client connect 17:51:38.797258 accept_connection 3 returned 4 17:51:38.797273 accept_connection 3 returned 0 17:51:38.797288 Read 93 bytes 17:51:38.797297 Process 93 bytes request 17:51:38.797309 Got request: GET /verifiedserver HTTP/1.1 17:51:38.797318 Are-we-friendly question received 17:51:38.797343 Wrote request (93 bytes) input to log/12/server.input 17:51:38.797359 Identifying ourselves as friends 17:51:38.797416 Response sent (56 bytes) and written to log/12/server.response 17:51:38.797425 special request received, no persistency 17:51:38.797433 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 57110 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === 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: 74920 === End of file server.response === Start of file valgrind3008 ==177054== ==177054== Process terminating with default action of signal 4 (SIGILL) ==177054== Illegal opcode at address 0x4014520 ==177054== at 0x4014520: getparameter (tool_getparam.c:2862) ==177054== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177054== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177054== by 0x4003728: main (tool_main.c:186) === End of file valgrind3008 test 3005...[SMTP multiple 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/22/valgrind3005 ../src/curl -q --output log/22/curl3005.out --include --trace-ascii log/22/trace3005 --trace-time smtp://127.0.0.1:40615/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/22/stdout3005 2> log/22/stderr3005 3005: 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 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/22/valgrind3005 ../src/curl -q --output log/22/curl3005.out --include --trace-ascii log/22/trace3005 --trace-time smtp://127.0.0.1:40615/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/22/stdout3005 2> log/22/stderr3005 === End of file commands.log === Start of file server.cmd Testnum 3005 === End of file server.cmd === Start of file smtp_server.log 17:51:38.796811 ====> Client connect 17:51:38.796980 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:38.797318 < "EHLO verifiedserver" 17:51:38.797359 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:38.797508 < "HELP" 17:51:38.797538 > "214 WE ROOLZ: 110701[CR][LF]" 17:51:38.797553 return proof we are we 17:51:38.797775 < "QUIT" 17:51:38.797801 > "221 curl ESMTP server signing off[CR][LF]" 17:51:38.798998 MAIN sockfilt said DISC 17:51:38.799028 ====> Client disconnected 17:51:38.799224 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:38.642840 ====> Client connect 17:51:38.643166 Received DATA (on stdin) 17:51:38.643179 > 146 bytes data, server => client 17:51:38.643190 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:38.643199 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:38.643207 '220 \___|\___/|_| \_\_____|\r\n' 17:51:38.643341 < 21 bytes data, client => server 17:51:38.643352 'EHLO verifiedserver\r\n' 17:51:38.643536 Received DATA (on stdin) 17:51:38.643545 > 53 bytes data, server => client 17:51:38.643555 '250 ESMTP pingpong test server Hello veriCMD (33792): ../libtool --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:40777/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/19/stdout3007 2> log/19/stderr3007 CMD (33792): ../libtool --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/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:41669/3010 > log/21/stdout3010 2> log/21/stderr3010 fiedserver\r\n' 17:51:38.643604 < 6 bytes data, client => server 17:51:38.643613 'HELP\r\n' 17:51:38.643725 Received DATA (on stdin) 17:51:38.643735 > 22 bytes data, server => client 17:51:38.643744 '214 WE ROOLZ: 110701\r\n' 17:51:38.643865 < 6 bytes data, client => server 17:51:38.643877 'QUIT\r\n' 17:51:38.643973 Received DATA (on stdin) 17:51:38.643982 > 35 bytes data, server => client 17:51:38.643992 '221 curl ESMTP server signing off\r\n' 17:51:38.645123 ====> Client disconnect 17:51:38.645406 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 ==176910== ==176910== Process terminating with default action of signal 4 (SIGILL) ==176910== Illegal opcode at address 0x4014520 ==176910== at 0x4014520: getparameter (tool_getparam.c:2862) ==176910== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==176910== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==176910== by 0x4003728: main (tool_main.c:186) === End of file valgrind3005 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:40777/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:40777/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 17:51:38.943493 ====> Client connect 17:51:38.943664 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:38.944022 < "EHLO verifiedserver" 17:51:38.944066 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:38.944243 < "HELP" 17:51:38.944279 > "214 WE ROOLZ: 126194[CR][LF]" 17:51:38.944294 return proof we are we 17:51:38.944511 < "QUIT" 17:51:38.944540 > "221 curl ESMTP server signing off[CR][LF]" 17:51:38.946712 MAIN sockfilt said DISC 17:51:38.946745 ====> Client disconnected 17:51:38.946822 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:38.789518 ====> Client connect 17:51:38.789854 Received DATA (on stdin) 17:51:38.789869 > 146 bytes data, server => client 17:51:38.789882 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:38.789893 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:38.789903 '220 \___|\___/|_| \_\_____|\r\n' 17:51:38.790030 < 21 bytes data, client => server 17:51:38.790046 'EHLO verifiedserver\r\n' 17:51:38.790244 Received DATA (on stdin) 17:51:38.790256 > 53 bytes data, server => client 17:51:38.790267 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:51:38.790325 < 6 bytes data, client => server 17:51:38.790337 'HELP\r\n' 17:51:38.790466 Received DATA (on stdin) 17:51:38.790477 > 22 bytes data, server => client 17:51:38.790487 '214 WE ROOLZ: 126194\r\n' 17:51:38.790597 < 6 bytes data, client => server 17:51:38.790610 'QUIT\r\n' 17:51:38.790715 Received DATA (on stdin) 17:51:38.790726 > 35 bytes data, server => client 17:51:38.790737 '221 curl ESMTP server signing off\r\n' 17:51:38.792832 ====> Client disconnect 17:51:38.793002 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 ==177041== ==177041== Process terminating with default action of signal 4 (SIGILL) ==177041== Illegal opcode at address 0x4014520 ==177041== at 0x4014520: getparameter (tool_getparam.c:2862) ==177041== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177041== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177041== by 0x4003728: main (tool_main.c:186) === End of file valgrind3007 CMD (33792): ../libtool --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:33191/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/valgrind3013 ../src/curl -q --trace-ascii log/13/trace3013 --trace-time http://127.0.0.1:43845/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/13 http://127.0.0.1:43845/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3013 2> log/13/stderr3013 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/21/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:41669/3010 > log/21/stdout3010 2> log/21/stderr3010 3010: stdout FAILED: --- log/21/check-expected 2026-01-28 17:51:41.153222028 +0000 +++ log/21/check-generated 2026-01-28 17:51:41.153222028 +0000 @@ -1,2 +0,0 @@ -Retry-After 2[LF] -Retry-After 0[LF] == Contents of files in the log/21/ 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/21/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:41669/3010 > log/21/stdout3010 2> log/21/stderr3010 === End of file commands.log === Start of file http_server.log 17:51:38.930440 ====> Client connect 17:51:38.930477 accept_connection 3 returned 4 17:51:38.930494 accept_connection 3 returned 0 17:51:38.930508 Read 93 bytes 17:51:38.930518 Process 93 bytes request 17:51:38.930532 Got request: GET /verifiedserver HTTP/1.1 17:51:38.930541 Are-we-friendly question received 17:51:38.930568 Wrote request (93 bytes) input to log/21/server.input 17:51:38.930584 Identifying ourselves as friends 17:51:38.930641 Response sent (56 bytes) and written to log/21/server.response 17:51:38.930651 special request received, no persistency 17:51:38.930660 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 55916 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stderr3010 URL: 127.0.0.1:41669/3010 === End of file stderr3010 === Start of file valgrind3010 ==177214== ==177214== Process terminating with default action of signal 4 (SIGILL) ==177214== Illegal opcode at address 0x51D97AF ==177214== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==177214== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==177214== by 0x51D97AF: Curl_open (url.c:502) ==177214== by 0x515120F: curl_easy_init (easy.c:365) ==177214== by 0x404785E: test_lib3010.lto_priv.0 (lib3010.c:34) ==177214== by 0x40034B5: main (first.c:279) ==177214== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==177214== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==177214== by 0x51D96BD: Curl_open (url.c:479) ==177214== by 0x515120F: curl_easy_init (easy.c:365) ==177214== by 0x404785E: test_lib3010.lto_priv.0 (lib3010.c:34) ==177214== by 0x40034B5: main (first.c:279) ==177214== === End of file valgrind3010 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:33191/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:33191/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 17:51:38.994403 ====> Client connect 17:51:38.994442 accept_connection 3 returned 4 17:51:38.994460 accept_connection 3 returned 0 17:51:38.994476 Read 93 bytes 17:51:38.994486 Process 93 bytes request 17:51:38.994502 Got request: GET /verifiedserver HTTP/1.1 17:51:38.994511 Are-we-friendly question received 17:51:38.994538 Wrote request (93 bytes) input to log/6/server.input 17:51:38.994555 Identifying ourselves as friends 17:51:38.994616 Response sent (57 bytes) and written to log/6/server.response 17:51:38.994625 special request received, no persistency 17:51:38.994634 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33191... * Established connection to 127.0.0.1 (127.0.0.1 port 33191) from 127.0.0.1 port 46800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33191 > User-Agent: curl/8.18.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:33191 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 164364 === 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: 18 WE ROOLZ: 164364 === End of file server.response === Start of file valgrind3011 ==177285== ==177285== Process terminating with default action of signal 4 (SIGILL) ==177285== Illegal opcode at address 0x4014520 ==177285== at 0x4014520: getparameter (tool_getparam.c:2862) ==177285== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177285== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177285== by 0x4003728: main (tool_main.c:186) === End of file valgrind3011 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/13/valgrind3013 ../src/curl -q --trace-ascii log/13/trace3013 --trace-time http://127.0.0.1:43845/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/13 http://127.0.0.1:43845/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3013 2> log/13/stderr3013 3013: 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 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/13/valgrind3013 ../src/curl -q --trace-ascii log/13/trace3013 --trace-time http://127.0.0.1:43845/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/13 http://127.0.0.1:43845/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3013 2> log/13/stderr3013 === End of file commands.log === Start of file http_server.log 17:51:40.168328 ====> Client connect 17:51:40.168363 accept_connection 3 returned 4 17:51:40.168380 accept_connection 3 returned 0 17:51:40.168393 Read 93 bytes 17:51:40.168402 Process 93 bytes request 17:51:40.168414 Got request: GET /verifiedserver HTTP/1.1 17:51:40.168422 Are-we-friendly question received 17:51:40.168447 Wrote request (93 bytes) input to log/13/server.input 17:51:40.168462 Identifying ourselves as friends 17:51:40.168515 Response sent (56 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/16/valgrind3015 ../src/curl -q --include --trace-ascii log/16/trace3015 --trace-time http://127.0.0.1:40899/3015 -w "%{num_headers}\n" -L -o/dev/null > log/16/stdout3015 2> log/16/stderr3015 CMD (33792): ../libtool --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/valgrind3014 ../src/curl -q --include --trace-ascii log/24/trace3014 --trace-time http://127.0.0.1:39649/3014 --write-out '%{num_headers}' > log/24/stdout3014 2> log/24/stderr3014 ) and written to log/13/server.response 17:51:40.168524 special request received, no persistency 17:51:40.168531 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43845... * Established connection to 127.0.0.1 (127.0.0.1 port 43845) from 127.0.0.1 port 54248 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43845 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43845 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74871 === 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: 74871 === End of file server.response === Start of file valgrind3013 ==177431== ==177431== Process terminating with default action of signal 4 (SIGILL) ==177431== Illegal opcode at address 0x4014520 ==177431== at 0x4014520: getparameter (tool_getparam.c:2862) ==177431== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177431== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177431== by 0x4003728: main (tool_main.c:186) === End of file valgrind3013 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/16/valgrind3015 ../src/curl -q --include --trace-ascii log/16/trace3015 --trace-time http://127.0.0.1:40899/3015 -w "%{num_headers}\n" -L -o/dev/null > log/16/stdout3015 2> log/16/stderr3015 3015: stdout FAILED: --- log/16/check-expected 2026-01-28 17:51:41.473222027 +0000 +++ log/16/check-generated 2026-01-28 17:51:41.473222027 +0000 @@ -1 +0,0 @@ -4[CR][LF] == Contents of files in the log/16/ 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/16/valgrind3015 ../src/curl -q --include --trace-ascii log/16/trace3015 --trace-time http://127.0.0.1:40899/3015 -w "%{num_headers}\n" -L -o/dev/null > log/16/stdout3015 2> log/16/stderr3015 === End of file commands.log === Start of file http_server.log 17:51:39.270336 ====> Client connect 17:51:39.270371 accept_connection 3 returned 4 17:51:39.270387 accept_connection 3 returned 0 17:51:39.270401 Read 93 bytes 17:51:39.270410 Process 93 bytes request 17:51:39.270423 Got request: GET /verifiedserver HTTP/1.1 17:51:39.270432 Are-we-friendly question received 17:51:39.270457 Wrote request (93 bytes) input to log/16/server.input 17:51:39.270473 Identifying ourselves as friends 17:51:39.270556 Response sent (56 bytes) and written to log/16/server.response 17:51:39.270566 special request received, no persistency 17:51:39.270574 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 45398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 74819 === End of file server.response === Start of file valgrind3015 ==177522== ==177522== Process terminating with default action of signal 4 (SIGILL) ==177522== Illegal opcode at address 0x4014520 ==177522== at 0x4014520: getparameter (tool_getparam.c:2862) ==177522== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177522== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177522== by 0x4003728: main (tool_main.c:186) === End of file valgrind3015 CMD (33792): ../libtool --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/valgrind3012 ../src/curl -q --trace-ascii log/9/trace3012 --trace-time http://127.0.0.1:37413/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/9 > log/9/stdout3012 2> log/9/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/valgrind3016 ../src/curl -q --output log/17/curl3016.out --include --trace-ascii log/17/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/17/stdout3016 2> log/17/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/8/valgrind3017 ../src/curl -q --output log/8/curl3017.out --include --trace log/8/trace3017 --trace-time mqtt://127.0.0.1:45945/3017 -m 3 > log/8/stdout3017 2> log/8/stderr3017 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/24/valgrind3014 ../src/curl -q --include --trace-ascii log/24/trace3014 --trace-time http://127.0.0.1:39649/3014 --write-out '%{num_headers}' > log/24/stdout3014 2> log/24/stderr3014 3014: stdout FAILED: --- log/24/check-expected 2026-01-28 17:51:41.493222028 +0000 +++ log/24/check-generated 2026-01-28 17:51:41.493222028 +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/24/ 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/24/valgrind3014 ../src/curl -q --include --trace-ascii log/24/trace3014 --trace-time http://127.0.0.1:39649/3014 --write-out '%{num_headers}' > log/24/stdout3014 2> log/24/stderr3014 === End of file commands.log === Start of file http_server.log 17:51:39.187187 ====> Client connect 17:51:39.187227 accept_connection 3 returned 4 17:51:39.187246 accept_connection 3 returned 0 17:51:39.187259 Read 93 bytes 17:51:39.187268 Process 93 bytes request 17:51:39.187281 Got request: GET /verifiedserver HTTP/1.1 17:51:39.187289 Are-we-friendly question received 17:51:39.187313 Wrote request (93 bytes) input to log/24/server.input 17:51:39.187333 Identifying ourselves as friends 17:51:39.187406 Response sent (56 bytes) and written to log/24/server.response 17:51:39.187415 special request received, no persistency 17:51:39.187423 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 51602 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file valgrind3014 ==177440== ==177440== Process terminating with default action of signal 4 (SIGILL) ==177440== Illegal opcode at address 0x4014520 ==177440== at 0x4014520: getparameter (tool_getparam.c:2862) ==177440== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177440== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177440== by 0x4003728: main (tool_main.c:186) === 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/9/valgrind3012 ../src/curl -q --trace-ascii log/9/trace3012 --trace-time http://127.0.0.1:37413/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/9 > log/9/stdout3012 2> log/9/stderr3012 3012: 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 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/9/valgrind3012 ../src/curl -q --trace-ascii log/9/trace3012 --trace-time http://127.0.0.1:37413/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/9 > log/9/stdout3012 2> log/9/stderr3012 === End of file commands.log === Start of file http_server.log 17:51:39.146222 ====> Client connect 17:51:39.146265 accept_connection 3 returned 4 17:51:39.146284 accept_connection 3 returned 0 17:51:39.146301 Read 93 bytes 17:51:39.146311 Process 93 bytes request 17:51:39.146323 Got request: GET /verifiedserver HTTP/1.1 17:51:39.146332 Are-we-friendly question received 17:51:39.146414 Wrote request (93 bytes) input to log/9/server.input 17:51:39.146434 Identifying ourselves as friends 17:51:39.146503 Response sent (56 bytes) and written to log/9/server.response 17:51:39.146513 special request received, no persistency 17:51:39.146522 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 42168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 17 WE ROOLZ: 74974 === End of file server.response === Start of file valgrind3012 ==177412== ==177412== Process terminating with default action of signal 4 (SIGILL) ==177412== Illegal opcode at address 0x4014520 ==177412== at 0x4014520: getparameter (tool_getparam.c:2862) ==177412== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177412== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177412== by 0x4003728: main (tool_main.c:186) === End of file valgrind3012 test 3016...[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/17/valgrind3016 ../src/curl -q --output log/17/curl3016.out --include --trace-ascii log/17/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/17/stdout3016 2> log/17/stderr3016 curl returned 132, when expecting 0 3016: exit FAILED == Contents of files in the log/17/ 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/17/valgrind3016 ../src/curl -q --output log/17/curl3016.out --include --trace-ascii log/17/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/17/stdout3016 2> log/17/stderr3016 === End of file commands.log === Start of file server.cmd Testnum 3016 === End of file server.cmd === Start of file valgrind3016 ==177572== ==177572== Process terminating with default action of signal 4 (SIGILL) ==177572== Illegal opcode at address 0x4014520 ==177572== at 0x4014520: getparameter (tool_getparam.c:2862) ==177572== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177572== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177572== by 0x4003728: main (tool_main.c:186) === End of file valgrind3016 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/8/valgrind3017 ../src/curl -q --output log/8/curl3017.out --include --trace log/8/trace3017 --trace-time mqtt://127.0.0.1:45945/3017 -m 3 > log/8/stdout3017 2> log/8/stderr3017 3017: protocol FAILED! There was no content at all in the file 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/valgrind3018 ../src/curl -q --output log/20/curl3018.out --include --trace log/20/trace3018 --trace-time mqtt://127.0.0.1:46265/3018 --max-filesize 11 > log/20/stdout3018 2> log/20/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/4/valgrind3020 ../src/curl -q --output log/4/curl3020.out --include --trace-ascii log/4/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:34411/3020 > log/4/stdout3020 2> log/4/stderr3020 CMD (33792): ../libtool --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/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:38643/3027 > log/14/stdout3027 2> log/14/stderr3027 8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ 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/8/valgrind3017 ../src/curl -q --output log/8/curl3017.out --include --trace log/8/trace3017 --trace-time mqtt://127.0.0.1:45945/3017 -m 3 > log/8/stdout3017 2> log/8/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 ==177662== ==177662== Process terminating with default action of signal 4 (SIGILL) ==177662== Illegal opcode at address 0x4014520 ==177662== at 0x4014520: getparameter (tool_getparam.c:2862) ==177662== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177662== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177662== by 0x4003728: main (tool_main.c:186) === End of file valgrind3017 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/20/valgrind3018 ../src/curl -q --output log/20/curl3018.out --include --trace log/20/trace3018 --trace-time mqtt://127.0.0.1:46265/3018 --max-filesize 11 > log/20/stdout3018 2> log/20/stderr3018 3018: 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 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/20/valgrind3018 ../src/curl -q --output log/20/curl3018.out --include --trace log/20/trace3018 --trace-time mqtt://127.0.0.1:46265/3018 --max-filesize 11 > log/20/stdout3018 2> log/20/stderr3018 === End of file commands.log === Start of file server.cmd Testnum 3018 === End of file server.cmd === Start of file valgrind3018 ==177732== ==177732== Process terminating with default action of signal 4 (SIGILL) ==177732== Illegal opcode at address 0x4014520 ==177732== at 0x4014520: getparameter (tool_getparam.c:2862) ==177732== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177732== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177732== by 0x4003728: main (tool_main.c:186) === 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/4/valgrind3020 ../src/curl -q --output log/4/curl3020.out --include --trace-ascii log/4/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:34411/3020 > log/4/stdout3020 2> log/4/stderr3020 curl returned 132, when expecting 49 3020: exit FAILED == Contents of files in the log/4/ 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/4/valgrind3020 ../src/curl -q --output log/4/curl3020.out --include --trace-ascii log/4/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:34411/3020 > log/4/stdout3020 2> log/4/stderr3020 === End of file commands.log === Start of file http_server.log 17:51:39.924476 ====> Client connect 17:51:39.936232 accept_connection 3 returned 4 17:51:39.936271 accept_connection 3 returned 0 17:51:39.936291 Read 93 bytes 17:51:39.936301 Process 93 bytes request 17:51:39.936314 Got request: GET /verifiedserver HTTP/1.1 17:51:39.936323 Are-we-friendly question received 17:51:39.936359 Wrote request (93 bytes) input to log/4/server.input 17:51:39.936376 Identifying ourselves as friends 17:51:39.936461 Response sent (56 bytes) and written to log/4/server.response 17:51:39.936471 special request received, no persistency 17:51:39.936479 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34411... * Established connection to 127.0.0.1 (127.0.0.1 port 34411) from 127.0.0.1 port 44278 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34411 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34411 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75148 === 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: 75148 === End of file server.response === Start of file valgrind3020 ==177872== ==177872== Process terminating with default action of signal 4 (SIGILL) ==177872== Illegal opcode at address 0x4014520 ==177872== at 0x4014520: getparameter (tool_getparam.c:2862) ==177872== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177872== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177872== by 0x4003728: main (tool_main.c:186) === End of file valgrind3020 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/14/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:38643/3027 > log/14/stdout3027 2> log/14/stderr3027 3027: 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 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/14/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:38643/3027 > log/14/stdout3027 2> log/14/stderr3027 === End of file commands.log === Start of file ftp_server.log 17:51:40.402921 ====> Client connect 17:51:40.403084 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:40.403369 < "USER anonymous" 17:51:40.403406 > "331 We are happy you popped in![CR][LF]" 17:51:40.403564 < "PASS ftp@example.com" 17:51:40.403593 > "230 Welcome you silly person[CR][LF]" 17:51:40.403746 < "PWD" 17:51:40.403776 > "257 "/" is current directory[CR][LF]" 17:51:40.403939 < "EPSV" 17:51:40.403963 ====> Passive DATA channel requested by client 17:51:40.403976 DATA sockfilt for passive data channel starting... 17:51:40.416779 DATA sockfilt for passive data channel started (pid 178043) 17:51:40.416968 DATA sockfilt for passive data channel listens on port 36343 17:51:40.417031 > "229 Entering Passive Mode (|||36343|)[CR][LF]" 17:51:40.417055 Client has been notified that DATA conn will be accepted on port 36343 17:51:40.423497 Client connects to port 36343 17:51:40.423579 ====> Client established passive DATA connection on port 36343 17:51:40.423723 < "TYPE I" 17:51:40.423769 > "200 I modify TYPE as you wanted[CR][LF]" 17:51:40.424036 < "SIZE verifiedserver" 17:51:40.424079 > "213 17[CR][LF]" 17:51:40.424246 < "RETR verifiedserver" 17:51:40.424284 > "150 Binary junk (17 bytes).[CR][LF]" 17:51:40.424391 =====> Closing passive DATA connection... 17:51:40.424410 Server disconnects passive DATA connection 17:51:40.424706 Server disconnected passive DATA connection 17:51:40.424737 DATA sockfilt for passive data channel quits (pid 178043) 17:51:40.425013 DATA sockfilt for passive data channel quit (pid 178043) 17:51:40.425041 =====> ClosCMD (33792): ../libtool --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/valgrind3019 ../src/curl -q --output log/15/curl3019.out --include --trace-ascii log/15/trace3019 --trace-time --resolve 41057:example.com:127.0.0.1 http://example.com:41057/3019 > log/15/stdout3019 2> log/15/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/10/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:44137/3025 > log/10/stdout3025 2> log/10/stderr3025 ed passive DATA connection 17:51:40.425075 > "226 File transfer complete[CR][LF]" 17:51:40.473713 < "QUIT" 17:51:40.473777 > "221 bye bye baby[CR][LF]" 17:51:40.474995 MAIN sockfilt said DISC 17:51:40.475030 ====> Client disconnected 17:51:40.475114 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 17:51:40.248957 ====> Client connect 17:51:40.249269 Received DATA (on stdin) 17:51:40.249282 > 146 bytes data, server => client 17:51:40.249293 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:40.249304 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:40.249313 '220 \___|\___/|_| \_\_____|\r\n' 17:51:40.249387 < 16 bytes data, client => server 17:51:40.249398 'USER anonymous\r\n' 17:51:40.249583 Received DATA (on stdin) 17:51:40.249594 > 33 bytes data, server => client 17:51:40.249604 '331 We are happy you popped in!\r\n' 17:51:40.249653 < 22 bytes data, client => server 17:51:40.249663 'PASS ftp@example.com\r\n' 17:51:40.249767 Received DATA (on stdin) 17:51:40.249778 > 30 bytes data, server => client 17:51:40.249788 '230 Welcome you silly person\r\n' 17:51:40.249836 < 5 bytes data, client => server 17:51:40.249846 'PWD\r\n' 17:51:40.249951 Received DATA (on stdin) 17:51:40.249961 > 30 bytes data, server => client 17:51:40.249971 '257 "/" is current directory\r\n' 17:51:40.250030 < 6 bytes data, client => server 17:51:40.250040 'EPSV\r\n' 17:51:40.263244 Received DATA (on stdin) 17:51:40.263265 > 39 bytes data, server => client 17:51:40.263277 '229 Entering Passive Mode (|||36343|)\r\n' 17:51:40.269513 < 8 bytes data, client => server 17:51:40.269556 'TYPE I\r\n' 17:51:40.269954 Received DATA (on stdin) 17:51:40.269969 > 33 bytes data, server => client 17:51:40.269980 '200 I modify TYPE as you wanted\r\n' 17:51:40.270110 < 21 bytes data, client => server 17:51:40.270122 'SIZE verifiedserver\r\n' 17:51:40.270255 Received DATA (on stdin) 17:51:40.270267 > 8 bytes data, server => client 17:51:40.270277 '213 17\r\n' 17:51:40.270331 < 21 bytes data, client => server 17:51:40.270344 'RETR verifiedserver\r\n' 17:51:40.270586 Received DATA (on stdin) 17:51:40.270598 > 29 bytes data, server => client 17:51:40.270609 '150 Binary junk (17 bytes).\r\n' 17:51:40.271253 Received DATA (on stdin) 17:51:40.271266 > 28 bytes data, server => client 17:51:40.271276 '226 File transfer complete\r\n' 17:51:40.319620 < 6 bytes data, client => server 17:51:40.319660 'QUIT\r\n' 17:51:40.319960 Received DATA (on stdin) 17:51:40.319970 > 18 bytes data, server => client 17:51:40.319980 '221 bye bye baby\r\n' 17:51:40.321112 ====> Client disconnect 17:51:40.321287 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 17:51:40.257138 Running IPv4 version 17:51:40.257256 Listening on port 36343 17:51:40.257299 Wrote pid 178043 to log/14/server/ftp_sockdata.pid 17:51:40.262830 Received PING (on stdin) 17:51:40.263024 Received PORT (on stdin) 17:51:40.269595 ====> Client connect 17:51:40.270675 Received DATA (on stdin) 17:51:40.270694 > 17 bytes data, server => client 17:51:40.270705 'WE ROOLZ: 81129\r\n' 17:51:40.270735 Received DISC (on stdin) 17:51:40.270751 ====> Client forcibly disconnected 17:51:40.270922 Received QUIT (on stdin) 17:51:40.270934 quits 17:51:40.271020 ============> 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 stderr3027 URL: ftp://127.0.0.1:38643/3027 === End of file stderr3027 === Start of file valgrind3027 ==178073== ==178073== Process terminating with default action of signal 4 (SIGILL) ==178073== Illegal opcode at address 0x51D97AF ==178073== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==178073== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==178073== by 0x51D97AF: Curl_open (url.c:502) ==178073== by 0x515120F: curl_easy_init (easy.c:365) ==178073== by 0x4047736: test_lib3027.lto_priv.0 (lib3027.c:34) ==178073== by 0x40034B5: main (first.c:279) ==178073== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==178073== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==178073== by 0x51D96BD: Curl_open (url.c:479) ==178073== by 0x515120F: curl_easy_init (easy.c:365) ==178073== by 0x4047736: test_lib3027.lto_priv.0 (lib3027.c:34) ==178073== by 0x40034B5: main (first.c:279) ==178073== === End of file valgrind3027 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/15/valgrind3019 ../src/curl -q --output log/15/curl3019.out --include --trace-ascii log/15/trace3019 --trace-time --resolve 41057:example.com:127.0.0.1 http://example.com:41057/3019 > log/15/stdout3019 2> log/15/stderr3019 curl returned 132, when expecting 49 3019: exit FAILED == Contents of files in the log/15/ 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/15/valgrind3019 ../src/curl -q --output log/15/curl3019.out --include --trace-ascii log/15/trace3019 --trace-time --resolve 41057:example.com:127.0.0.1 http://example.com:41057/3019 > log/15/stdout3019 2> log/15/stderr3019 === End of file commands.log === Start of file http_server.log 17:51:39.826577 ====> Client connect 17:51:39.826613 accept_connection 3 returned 4 17:51:39.826629 accept_connection 3 returned 0 17:51:39.826644 Read 93 bytes 17:51:39.826653 Process 93 bytes request 17:51:39.826667 Got request: GET /verifiedserver HTTP/1.1 17:51:39.826676 Are-we-friendly question received 17:51:39.826703 Wrote request (93 bytes) input to log/15/server.input 17:51:39.826720 Identifying ourselves as friends 17:51:39.826779 Response sent (56 bytes) and written to log/15/server.response 17:51:39.826790 special request received, no persistency 17:51:39.826799 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 33382 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind3019 ==177817== ==177817== Process terminating with default action of signal 4 (SIGILL) ==177817== Illegal opcode at address 0x4014520 ==177817== at 0x4014520: getparameter (tool_getparam.c:2862) ==177817== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==177817== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==177817== by 0x4003728: main (tool_main.c:186) === End of file valgrind3019 CMD (33792): ../libtool --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/valgrind3028 ../src/curl -q --output log/5/curl3028.out --include --trace-ascii log/5/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:46875/page --proxytunnel -x 127.0.0.1:44309 > log/5/stdout3028 2> log/5/stderr3028 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/10/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:44137/3025 > log/10/stdout3025 2> log/10/stderr3025 3025: data FAILED: --- log/10/check-expected 2026-01-28 17:51:42.393222027 +0000 +++ log/10/check-generated 2026-01-28 17:51:42.393222027 +0000 @@ -1,4 +0,0 @@ -ICY 200 OK[LF] -Content-Length: 7[LF] -[LF] -MooMoo[LF] == Contents of files in the log/10/ 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/10/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:44137/3025 > log/10/stdout3025 2> log/10/stderr3025 === End of file commands.log === Start of file http_server.log 17:51:39.997168 ====> Client connect 17:51:39.997207 accept_connection 3 returned 4 17:51:39.997224 accept_connection 3 returned 0 17:51:39.997239 Read 93 bytes 17:51:39.997249 Process 93 bytes request 17:51:39.997264 Got request: GET /verifiedserver HTTP/1.1 17:51:39.997273 Are-we-friendly question received 17:51:39.997300 Wrote request (93 bytes) input to log/10/server.input 17:51:39.997322 Identifying ourselves as friends 17:51:39.997384 Response sent (57 bytes) and written to log/10/server.response 17:51:39.997394 special request received, no persistency 17:51:39.997403 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Established connection to 127.0.0.1 (127.0.0.1 port 44137) from 127.0.0.1 port 40262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.18.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:44137 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161230 === 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: 18 WE ROOLZ: 161230 === End of file server.response === Start of file stderr3025 URL: http://127.0.0.1:44137/3025 === End of file stderr3025 === Start of file valgrind3025 ==177914== ==177914== Process terminating with default action of signal 4 (SIGILL) ==177914== Illegal opcode at address 0x51D97AF ==177914== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==177914== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==177914== by 0x51D97AF: Curl_open (url.c:502) ==177914== by 0x515120F: curl_easy_init (easy.c:365) ==177914== by 0x4043FEC: test_lib3025.lto_priv.0 (lib3025.c:37) ==177914== by 0x40034B5: main (first.c:279) ==177914== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==177914== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==177914== by 0x51D96BD: Curl_open (url.c:479) ==177914== by 0x515120F: curl_easy_init (easy.c:365) ==177914== by 0x4043FEC: test_lib3025.lto_priv.0 (lib3025.c:37) ==177914== by 0x40034B5: main (first.c:279) ==177914== === End of file valgrind3025 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 44025 --port2 33581 --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:46439 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 43789 --port2 42419 --nghttpx "nghttpx" --pidfile "log/2/server/http_v2_server.pid" --logfile "log/2/http_v2_server.log" --logdir "log/2" --connect 127.0.0.1:38779 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 44417 --port2 42361 --nghttpx "nghttpx" --pidfile "log/3/server/http_v2_server.pid" --logfile "log/3/http_v2_server.log" --logdir "log/3" --connect 127.0.0.1:45927 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http3-server.pl --port 38883 --nghttpx "nghttpx" --pidfile "log/18/server/http_v3_server.pid" --logfile "log/18/http_v3_server.log" --logdir "log/18" --connect 127.0.0.1:34067 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 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/5/valgrind3028 ../src/curl -q --output log/5/curl3028.out --include --trace-ascii log/5/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:46875/page --proxytunnel -x 127.0.0.1:44309 > log/5/stdout3028 2> log/5/stderr3028 3028: 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 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/5/valgrind3028 ../src/curl -q --output log/5/curl3028.out --include --trace-ascii log/5/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:46875/page --proxytunnel -x 127.0.0.1:44309 > log/5/stdout3028 2> log/5/stderr3028 === End of file commands.log === Start of file http2_server.log 17:51:40.645755 ====> Client connect 17:51:40.645794 accept_connection 3 returned 4 17:51:40.645813 accept_connection 3 returned 0 17:51:40.645966 Read 93 bytes 17:51:40.645981 Process 93 bytes request 17:51:40.645995 Got request: GET /verifiedserver HTTP/1.1 17:51:40.646005 Are-we-friendly question received 17:51:40.646034 Wrote request (93 bytes) input to log/5/proxy.input 17:51:40.646053 Identifying ourselves as friends 17:51:40.646116 Response sent (57 bytes) and written to log/5/proxy.response 17:51:40.646126 special request received, no persistency 17:51:40.646135 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44309... * Established connection to 127.0.0.1 (127.0.0.1 port 44309) from 127.0.0.1 port 52054 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44309 > User-Agent: curl/8.18.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:44309 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 104511 === End of file http2_verify.out === Start of file http_server.log 17:51:40.580764 ====> Client connect 17:51:40.580800 accept_connection 3 returned 4 17:51:40.580816 accept_connection 3 returned 0 17:51:40.580831 Read 93 bytes 17:51:40.580840 Process 93 bytes request 17:51:40.580854 Got request: GET /verifiedserver HTTP/1.1 17:51:40.580863 Are-we-friendly question received 17:51:40.580891 Wrote request (93 bytes) input to log/5/server.input 17:51:40.580907 Identifying ourselves as friends 17:51:40.580963 Response sent (56 bytes) and written to log/5/server.response 17:51:40.580972 special request received, no persistency 17:51:40.580980 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46875... * Established connection to 127.0.0.1 (127.0.0.1 port 46875) from 127.0.0.1 port 52196 * CMD (33792): ../libtool --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/valgrind3029 ../src/curl -q --output log/23/curl3029.out --include --trace-ascii log/23/trace3029 --trace-time -D log/23/heads3029 http://127.0.0.1:39173/3029 http://127.0.0.1:39173/3029 --next -D log/23/heads3029 http://127.0.0.1:39173/3029 > log/23/stdout3029 2> log/23/stderr3029 CMD (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/valgrind3200 ./unit/units unit3200 log/8/curl_get_line3200 > log/8/stdout3200 2> log/8/stderr3200 using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46875 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46875 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77918 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104511 === End of file proxy.response === 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: 77918 === End of file server.response === Start of file valgrind3028 ==178170== ==178170== Process terminating with default action of signal 4 (SIGILL) ==178170== Illegal opcode at address 0x4014520 ==178170== at 0x4014520: getparameter (tool_getparam.c:2862) ==178170== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==178170== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==178170== by 0x4003728: main (tool_main.c:186) === End of file valgrind3028 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/8/valgrind3200 ./unit/units unit3200 log/8/curl_get_line3200 > log/8/stdout3200 2> log/8/stderr3200 -------e-v- OK (1744 out of 1760, remaining: 00:01, took 1.103s, duration: 02:50) CMD (33792): ../libtool --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/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:36987/3033 > log/19/stdout3033 2> log/19/stderr3033 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/23/valgrind3029 ../src/curl -q --output log/23/curl3029.out --include --trace-ascii log/23/trace3029 --trace-time -D log/23/heads3029 http://127.0.0.1:39173/3029 http://127.0.0.1:39173/3029 --next -D log/23/heads3029 http://127.0.0.1:39173/3029 > log/23/stdout3029 2> log/23/stderr3029 3029: data FAILED: --- log/23/check-expected 2026-01-28 17:51:42.743222027 +0000 +++ log/23/check-generated 2026-01-28 17:51:42.743222027 +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/23/ 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/23/valgrind3029 ../src/curl -q --output log/23/curl3029.out --include --trace-ascii log/23/trace3029 --trace-time -D log/23/heads3029 http://127.0.0.1:39173/3029 http://127.0.0.1:39173/3029 --next -D log/23/heads3029 http://127.0.0.1:39173/3029 > log/23/stdout3029 2> log/23/stderr3029 === End of file commands.log === Start of file http_server.log 17:51:41.759401 ====> Client connect 17:51:41.759449 accept_connection 3 returned 4 17:51:41.759469 accept_connection 3 returned 0 17:51:41.759677 Read 93 bytes 17:51:41.759691 Process 93 bytes request 17:51:41.759707 Got request: GET /verifiedserver HTTP/1.1 17:51:41.759716 Are-we-friendly question received 17:51:41.759751 Wrote request (93 bytes) input to log/23/server.input 17:51:41.759770 Identifying ourselves as friends 17:51:41.759831 Response sent (56 bytes) and written to log/23/server.response 17:51:41.759841 special request received, no persistency 17:51:41.759849 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39173... * Established connection to 127.0.0.1 (127.0.0.1 port 39173) from 127.0.0.1 port 38844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39173 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39173 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74812 === 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: 74812 === End of file server.response === Start of file valgrind3029 ==178235== ==178235== Process terminating with default action of signal 4 (SIGILL) ==178235== Illegal opcode at address 0x4014520 ==178235== at 0x4014520: getparameter (tool_getparam.c:2862) ==178235== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==178235== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==178235== by 0x4003728: main (tool_main.c:186) === End of file valgrind3029 CMD (33792): ../libtool --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/valgrind3030 ../src/curl -q --output log/7/curl3030.out --include --trace-ascii log/7/trace3030 --trace-time -D log/7/heads3030 http://127.0.0.1:35671/3030 http://127.0.0.1:35671/3030 > log/7/stdout3030 2> log/7/stderr3030 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/19/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:36987/3033 > log/19/stdout3033 2> log/19/stderr3033 3033: data FAILED: --- log/19/check-expected 2026-01-28 17:51:43.129888693 +0000 +++ log/19/check-generated 2026-01-28 17:51:43.129888693 +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/19/ 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/19/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:36987/3033 > log/19/stdout3033 2> log/19/stderr3033 === End of file commands.log === Start of file http_server.log 17:51:41.076234 ====> Client connect 17:51:41.076278 accept_connection 3 returned 4 17:51:41.076296 accept_connection 3 returned 0 17:51:41.076313 Read 93 bytes 17:51:41.076322 Process 93 bytes request 17:51:41.076336 Got request: GET /verifiedserver HTTP/1.1 17:51:41.076345 Are-we-friendly question received 17:51:41.076377 Wrote request (93 bytes) input to log/19/server.input 17:51:41.076394 Identifying ourselves as friends 17:51:41.076485 Response sent (56 bytes) and written to log/19/server.response 17:51:41.076494 special request received, no persistency 17:51:41.076503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36987... * Established connection to 127.0.0.1 (127.0.0.1 port 36987) from 127.0.0.1 port 35202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36987 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36987 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74816 === 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: 74816 === End of file server.response === Start of file stderr3033 URL: http://127.0.0.1:36987/3033 === End of file stderr3033 === Start of file valgrind3033 ==178436== ==178436== Process terminating with default action of signal 4 (SIGILL) ==178436== Illegal opcode at address 0x51A0F00 ==178436== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==178436== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==178436== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==178436== by 0x4047FAA: UnknownInlinedFun (lib3033.c:104) ==178436== by 0x4047FAA: test_lib3033.lto_priv.0 (lib3033.c:97) ==178436== by 0x40034B5: main (first.c:279) ==178436== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==178436== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==178436== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==178436== by 0x4047FAA: UnknownInlinedFun (lib3033.c:104) ==178436== by 0x4047FAA: test_lib3033.lto_priv.0 (lib3033.c:97) ==178436== by 0x40034B5: main (first.c:279) ==178436== === End of file valgrind3033 CMD (33792): ../libtool --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/valgrind3031 ../src/curl -q --output log/12/curl3031.out --include --trace-ascii log/12/trace3031 --trace-time http://127.0.0.1:36641/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/12/tmp/out.txt --create-dirs > log/12/stdout3031 2> log/12/stderr3031 CMD (33792): ../libtool --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/valgrind3032 ../src/curl -q --output log/22/curl3032.out --include --trace-ascii log/22/trace3032 --trace-time --location http://127.0.0.1:42933/3032 > log/22/stdout3032 2> log/22/stderr3032 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/7/valgrind3030 ../src/curl -q --output log/7/curl3030.out --include --trace-ascii log/7/trace3030 --trace-time -D log/7/heads3030 http://127.0.0.1:35671/3030 http://127.0.0.1:35671/3030 > log/7/stdout3030 2> log/7/stderr3030 3030: data FAILED: --- log/7/check-expected 2026-01-28 17:51:43.136555360 +0000 +++ log/7/check-generated 2026-01-28 17:51:43.136555360 +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/7/ 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/7/valgrind3030 ../src/curl -q --output log/7/curl3030.out --include --trace-ascii log/7/trace3030 --trace-time -D log/7/heads3030 http://127.0.0.1:35671/3030 http://127.0.0.1:35671/3030 > log/7/stdout3030 2> log/7/stderr3030 === End of file commands.log === Start of file http_server.log 17:51:40.779576 ====> Client connect 17:51:40.779615 accept_connection 3 returned 4 17:51:40.779634 accept_connection 3 returned 0 17:51:40.779652 Read 93 bytes 17:51:40.779662 Process 93 bytes request 17:51:40.779675 Got request: GET /verifiedserver HTTP/1.1 17:51:40.779684 Are-we-friendly question received 17:51:40.779710 Wrote request (93 bytes) input to log/7/server.input 17:51:40.779726 Identifying ourselves as friends 17:51:40.779808 Response sent (56 bytes) and written to log/7/server.response 17:51:40.779819 special request received, no persistency 17:51:40.779828 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35671... * Established connection to 127.0.0.1 (127.0.0.1 port 35671) from 127.0.0.1 port 38026 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35671 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35671 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75084 === 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: 75084 === End of file server.response === Start of file valgrind3030 ==178251== ==178251== Process terminating with default action of signal 4 (SIGILL) ==178251== Illegal opcode at address 0x4014520 ==178251== at 0x4014520: getparameter (tool_getparam.c:2862) ==178251== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==178251== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==178251== by 0x4003728: main (tool_main.c:186) === End of file valgrind3030 test 3031...[--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/12/valgrind3031 ../src/curl -q --output log/12/curl3031.out --include --trace-ascii log/12/trace3031 --trace-time http://127.0.0.1:36641/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/12/tmp/out.txt --create-dirs > log/12/stdout3031 2> log/12/stderr3031 3031: 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 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/12/valgrind3031 ../src/curl -q --output log/12/curl3031.out --include --trace-ascii log/12/trace3031 --trace-time http://127.0.0.1:36641/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/12/tmp/out.txt --create-dirs > log/12/stdout3031 2> log/12/stderr3031 === End of file commands.log === Start of file http_server.log 17:51:41.059081 ====> Client connect 17:51:41.059119 accept_connection 3 returned 4 17:51:41.059137 accept_connection 3 returned 0 17:51:41.059152 Read 93 bytes 17:51:41.059162 Process 93 bytes request 17:51:41.059175 Got request: GET /verifiedserver HTTP/1.1 17:51:41.059184 Are-we-friendly question received 17:51:41.059210 Wrote request (93 bytes) input to log/12/server.input 17:51:41.059226 Identifying ourselves as friends 17:51:41.059462 Response sent (56 bytes) and written to log/12/server.response 17:51:41.059490 special request received, no persistency 17:51:41.059498 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36641... * Established connection to 127.0.0.1 (127.0.0.1 port 36641) from 127.0.0.1 port 57122 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36641 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36641 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74920 === End of file http_verify.out === Start of file server.cmd Testnum 3031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74920 === End of file server.response === Start of file valgrind3031 ==178425== ==178425== Process terminating with default action of signal 4 (SIGILL) ==178425== Illegal opcode at address 0x4014520 ==178425== at 0x4014520: getparameter (tool_getparam.c:2862) ==178425== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==178425== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==178425== by 0x4003728: main (tool_main.c:186) === End of file valgrind3031 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/22/valgrind3032 ../src/curl -q --output log/22/curl3032.out --include --trace-ascii log/22/trace3032 --trace-time --location http://127.0.0.1:42933/3032 > log/22/stdout3032 2> log/22/stderr3032 3032: 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 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/22/valgrind3032 ../src/curl -q --output log/22/curl3032.out --include --trace-ascii log/22/trace3032 --trace-time --location http://127.0.0.1:42933/3032 > log/22/stdout3032 2> log/22/stderr3032 === End of file commands.log === Start of file http_server.log 17:51:41.058054 ====> Client connect 17:51:41.058090 accept_connection 3 returned 4 17:51:41.058107 accept_connection 3 returned 0 17:51:41.062972 Read 93 bytes 17:51:41.062993 Process 93 bytes request 17:51:41.063006 Got request: GET /verifiedserver HTTP/1.1 17:51:41.063015 Are-we-friendly question received 17:51:41.063051 Wrote request (93 bytes) input to log/22/server.input 17:51:41.063074 Identifying ourselves as friends 17:51:41.063130 Response sent (56 bytes) and written to log/22/server.response 17:51:41.063139 special request received, no persistency 17:51:41.063148 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42933... * Established connection to 127.0.0.1 (127.0.0.1 port 42933) from 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/21/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:41669/3034 > log/21/stdout3034 2> log/21/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/6/valgrind3035 ../src/curl -q --trace-ascii log/6/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/6/outfile3035 http://127.0.0.1:33191/3035 > log/6/stdout3035 2> log/6/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/16/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:40899/3101 > log/16/stdout3101 2> log/16/stderr3101 t 37744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42933 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74813 === 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: 74813 === End of file server.response === Start of file valgrind3032 ==178431== ==178431== Process terminating with default action of signal 4 (SIGILL) ==178431== Illegal opcode at address 0x4014520 ==178431== at 0x4014520: getparameter (tool_getparam.c:2862) ==178431== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==178431== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==178431== by 0x4003728: main (tool_main.c:186) === End of file valgrind3032 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/21/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:41669/3034 > log/21/stdout3034 2> log/21/stderr3034 libtests returned 132, when expecting 0 3034: exit FAILED == Contents of files in the log/21/ 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/21/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:41669/3034 > log/21/stdout3034 2> log/21/stderr3034 === End of file commands.log === Start of file http_server.log 17:51:41.109565 ====> Client connect 17:51:41.109614 accept_connection 3 returned 4 17:51:41.109634 accept_connection 3 returned 0 17:51:41.109651 Read 93 bytes 17:51:41.109661 Process 93 bytes request 17:51:41.109675 Got request: GET /verifiedserver HTTP/1.1 17:51:41.109684 Are-we-friendly question received 17:51:41.109712 Wrote request (93 bytes) input to log/21/server.input 17:51:41.109729 Identifying ourselves as friends 17:51:41.109811 Response sent (56 bytes) and written to log/21/server.response 17:51:41.109822 special request received, no persistency 17:51:41.109830 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41669... * Established connection to 127.0.0.1 (127.0.0.1 port 41669) from 127.0.0.1 port 55926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41669 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41669 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74814 === 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: 74814 === End of file server.response === Start of file stderr3034 URL: http://127.0.0.1:41669/3034 === End of file stderr3034 === Start of file valgrind3034 ==178467== ==178467== Process terminating with default action of signal 4 (SIGILL) ==178467== Illegal opcode at address 0x51D97AF ==178467== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==178467== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==178467== by 0x51D97AF: Curl_open (url.c:502) ==178467== by 0x515120F: curl_easy_init (easy.c:365) ==178467== by 0x40479EC: UnknownInlinedFun (lib3034.c:43) ==178467== by 0x40479EC: test_lib3034.lto_priv.0 (lib3034.c:37) ==178467== by 0x40034B5: main (first.c:279) ==178467== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==178467== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==178467== by 0x51D96BD: Curl_open (url.c:479) ==178467== by 0x515120F: curl_easy_init (easy.c:365) ==178467== by 0x40479EC: UnknownInlinedFun (lib3034.c:43) ==178467== by 0x40479EC: test_lib3034.lto_priv.0 (lib3034.c:37) ==178467== by 0x40034B5: main (first.c:279) ==178467== === End of file valgrind3034 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/6/valgrind3035 ../src/curl -q --trace-ascii log/6/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/6/outfile3035 http://127.0.0.1:33191/3035 > log/6/stdout3035 2> log/6/stderr3035 3035: 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 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/6/valgrind3035 ../src/curl -q --trace-ascii log/6/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/6/outfile3035 http://127.0.0.1:33191/3035 > log/6/stdout3035 2> log/6/stderr3035 === End of file commands.log === Start of file http_server.log 17:51:41.317879 ====> Client connect 17:51:41.317920 accept_connection 3 returned 4 17:51:41.317938 accept_connection 3 returned 0 17:51:41.317953 Read 93 bytes 17:51:41.317962 Process 93 bytes request 17:51:41.317975 Got request: GET /verifiedserver HTTP/1.1 17:51:41.317983 Are-we-friendly question received 17:51:41.318006 Wrote request (93 bytes) input to log/6/server.input 17:51:41.318023 Identifying ourselves as friends 17:51:41.318083 Response sent (57 bytes) and written to log/6/server.response 17:51:41.318092 special request received, no persistency 17:51:41.318100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33191... * Established connection to 127.0.0.1 (127.0.0.1 port 33191) from 127.0.0.1 port 46810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33191 > User-Agent: curl/8.18.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:33191 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 164364 === 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: 18 WE ROOLZ: 164364 === End of file server.response === Start of file valgrind3035 ==178667== ==178667== Process terminating with default action of signal 4 (SIGILL) ==178667== Illegal opcode at address 0x4014520 ==178667== at 0x4014520: getparameter (tool_getparam.c:2862) ==178667== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==178667== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==178667== by 0x4003728: main (tool_main.c:186) === End of file valgrind3035 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/16/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:40899/3101 > log/16/stdout3101 2> log/16/stderr3101 3101: 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 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/16/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:40899/3101 > log/16/CMD (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/10/valgrind3205 ./unit/units unit3205 - > log/10/stdout3205 2> log/10/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/17/valgrind3105 ./libtest/libtests lib3105 - > log/17/stdout3105 2> log/17/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/9/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:37413/3104 > log/9/stdout3104 2> log/9/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/18/valgrind3211 ./unit/units unit3211 - > log/18/stdout3211 2> log/18/stderr3211 stdout3101 2> log/16/stderr3101 === End of file commands.log === Start of file http_server.log 17:51:41.436165 ====> Client connect 17:51:41.436255 accept_connection 3 returned 4 17:51:41.436281 accept_connection 3 returned 0 17:51:41.436299 Read 93 bytes 17:51:41.436310 Process 93 bytes request 17:51:41.436324 Got request: GET /verifiedserver HTTP/1.1 17:51:41.436333 Are-we-friendly question received 17:51:41.436363 Wrote request (93 bytes) input to log/16/server.input 17:51:41.436381 Identifying ourselves as friends 17:51:41.436479 Response sent (56 bytes) and written to log/16/server.response 17:51:41.436491 special request received, no persistency 17:51:41.436500 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40899... * Established connection to 127.0.0.1 (127.0.0.1 port 40899) from 127.0.0.1 port 45414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40899 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40899 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74819 === 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: 17 WE ROOLZ: 74819 === End of file server.response === Start of file stderr3101 URL: http://127.0.0.1:40899/3101 === End of file stderr3101 === Start of file valgrind3101 ==178743== ==178743== Process terminating with default action of signal 4 (SIGILL) ==178743== Illegal opcode at address 0x51D97AF ==178743== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==178743== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==178743== by 0x51D97AF: Curl_open (url.c:502) ==178743== by 0x515120F: curl_easy_init (easy.c:365) ==178743== by 0x404328A: test_lib3101.lto_priv.0 (lib3101.c:36) ==178743== by 0x40034B5: main (first.c:279) ==178743== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==178743== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==178743== by 0x51D96BD: Curl_open (url.c:479) ==178743== by 0x515120F: curl_easy_init (easy.c:365) ==178743== by 0x404328A: test_lib3101.lto_priv.0 (lib3101.c:36) ==178743== by 0x40034B5: main (first.c:279) ==178743== === End of file valgrind3101 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/10/valgrind3205 ./unit/units unit3205 - > log/10/stdout3205 2> log/10/stderr3205 -------e-v- OK (1749 out of 1760, remaining: 00:01, took 1.341s, duration: 02:51) 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/17/valgrind3105 ./libtest/libtests lib3105 - > log/17/stdout3105 2> log/17/stderr3105 libtests returned 132, when expecting 0 3105: exit FAILED == Contents of files in the log/17/ 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/17/valgrind3105 ./libtest/libtests lib3105 - > log/17/stdout3105 2> log/17/stderr3105 === End of file commands.log === Start of file server.cmd Testnum 3105 === End of file server.cmd === Start of file stderr3105 URL: - === End of file stderr3105 === Start of file valgrind3105 ==178727== ==178727== Process terminating with default action of signal 4 (SIGILL) ==178727== Illegal opcode at address 0x51A0F00 ==178727== at 0x51A0F00: UnknownInlinedFun (string_fortified.h:59) ==178727== by 0x51A0F00: UnknownInlinedFun (multi_ntfy.c:126) ==178727== by 0x51A0F00: Curl_multi_handle (multi.c:242) ==178727== by 0x4043D6E: UnknownInlinedFun (lib3105.c:36) ==178727== by 0x4043D6E: test_lib3105.lto_priv.0 (lib3105.c:26) ==178727== by 0x40034B5: main (first.c:279) ==178727== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==178727== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==178727== by 0x51A0E94: Curl_multi_handle (multi.c:234) ==178727== by 0x4043D6E: UnknownInlinedFun (lib3105.c:36) ==178727== by 0x4043D6E: test_lib3105.lto_priv.0 (lib3105.c:26) ==178727== by 0x40034B5: main (first.c:279) ==178727== === 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/9/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:37413/3104 > log/9/stdout3104 2> log/9/stderr3104 3104: 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 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/9/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:37413/3104 > log/9/stdout3104 2> log/9/stderr3104 === End of file commands.log === Start of file http_server.log 17:51:41.546273 ====> Client connect 17:51:41.546323 accept_connection 3 returned 4 17:51:41.546345 accept_connection 3 returned 0 17:51:41.546531 Read 93 bytes 17:51:41.546548 Process 93 bytes request 17:51:41.546564 Got request: GET /verifiedserver HTTP/1.1 17:51:41.546574 Are-we-friendly question received 17:51:41.546607 Wrote request (93 bytes) input to log/9/server.input 17:51:41.546627 Identifying ourselves as friends 17:51:41.546719 Response sent (56 bytes) and written to log/9/server.response 17:51:41.546732 special request received, no persistency 17:51:41.546742 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37413... * Established connection to 127.0.0.1 (127.0.0.1 port 37413) from 127.0.0.1 port 42172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37413 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74974 === 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: 74974 === End of file server.response === Start of file stderr3104 URL: http://127.0.0.1:37413/3104 === End of file stderr3104 === Start of file valgrind3104 ==178862== ==178862== Process terminating with default action of signal 4 (SIGILL) ==178862== Illegal opcode at address 0x51D97AF ==178862== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==178862== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==178862== by 0x51D97AF: Curl_open (url.c:502) ==178862== by 0x515120F: curl_easy_init (easy.c:365) ==178862== by 0x51459A1: curl_share_init (curl_share.c:41) ==178862== by 0x4049082: test_lib3104.lto_priv.0 (lib3104.c:34) ==178862== by 0x40034B5: main (first.c:279) ==178862== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==178862== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==178862== by 0x51D96BD: Curl_open (url.c:479) ==178862== by 0x515120F: curl_easy_init (easy.c:365) ==178862== by 0x51459A1: curl_share_init (curl_share.c:41) ==178862== by 0x4049082: test_lib3104.lto_priv.0 (lib3104.c:34) ==178862== by 0x40034B5: main (first.c:279) ==178862== === End of file valgrind3104 test 3211...[uint_bset unit tests] ../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/5/valgrind3212 ./unit/units unit3212 - > log/5/stdout3212 2> log/5/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/13/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:38423/3100 > log/13/stdout3100 2> log/13/stderr3100 CMD (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/valgrind3214 ./unit/units unit3214 - > log/8/stdout3214 2> log/8/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/23/valgrind3213 ./unit/units unit3213 - > log/23/stdout3213 2> log/23/stderr3213 --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/valgrind3211 ./unit/units unit3211 - > log/18/stdout3211 2> log/18/stderr3211 units returned 132, when expecting 0 3211: exit FAILED == Contents of files in the log/18/ 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/18/valgrind3211 ./unit/units unit3211 - > log/18/stdout3211 2> log/18/stderr3211 === End of file commands.log === Start of file server.cmd Testnum 3211 === End of file server.cmd === Start of file stderr3211 URL: - test s1, capacity=100, 10 numbers === End of file stderr3211 === Start of file valgrind3211 ==179301== ==179301== Process terminating with default action of signal 4 (SIGILL) ==179301== Illegal opcode at address 0x4022105 ==179301== at 0x4022105: UnknownInlinedFun (string_fortified.h:59) ==179301== by 0x4022105: UnknownInlinedFun (uint-bset.c:101) ==179301== by 0x4022105: UnknownInlinedFun (unit3211.c:44) ==179301== by 0x4022105: test_unit3211 (unit3211.c:146) ==179301== by 0x400B165: main (first.c:279) ==179301== 16 bytes in 1 blocks are definitely lost in loss record 2 of 14 ==179301== at 0x49A5C13: calloc (vg_replace_malloc.c:1675) ==179301== by 0x40220E7: UnknownInlinedFun (uint-bset.c:47) ==179301== by 0x40220E7: UnknownInlinedFun (unit3211.c:40) ==179301== by 0x40220E7: test_unit3211 (unit3211.c:146) ==179301== by 0x400B165: main (first.c:279) ==179301== === End of file valgrind3211 test 3212...[uint_bset 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/valgrind3212 ./unit/units unit3212 - > log/5/stdout3212 2> log/5/stderr3212 units returned 132, when expecting 0 3212: exit FAILED == Contents of files in the log/5/ 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/5/valgrind3212 ./unit/units unit3212 - > log/5/stdout3212 2> log/5/stderr3212 === End of file commands.log === Start of file server.cmd Testnum 3212 === End of file server.cmd === Start of file stderr3212 URL: - === End of file stderr3212 === Start of file valgrind3212 ==179380== ==179380== Process terminating with default action of signal 4 (SIGILL) ==179380== Illegal opcode at address 0x4025335 ==179380== at 0x4025335: UnknownInlinedFun (string_fortified.h:59) ==179380== by 0x4025335: UnknownInlinedFun (uint-table.c:38) ==179380== by 0x4025335: UnknownInlinedFun (unit3212.c:35) ==179380== by 0x4025335: test_unit3212 (unit3212.c:49) ==179380== by 0x400B165: main (first.c:279) === End of file valgrind3212 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:38423/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:38423/3100 > log/13/stdout3100 2> log/13/stderr3100 === End of file commands.log === Start of file rtsp_server.log 17:51:41.412936 ====> Client connect 17:51:41.412997 Read 93 bytes 17:51:41.413010 rtspd_ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:38423 User-Agent: curl/8.18.0 Accept: */* ] 17:51:41.413040 Got request: GET /verifiedserver HTTP/1.1 17:51:41.413049 Are-we-friendly question received 17:51:41.413078 Wrote request (93 bytes) input to log/13/server.input 17:51:41.413097 Send response number -2 part 0 17:51:41.413107 Identifying ourselves as friends 17:51:41.413176 Sent off 69 bytes 17:51:41.413196 Response sent (69 bytes) and written to log/13/server.response 17:51:41.413206 special request received, no persistency 17:51:41.413215 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:38423... * Established connection to 127.0.0.1 (127.0.0.1 port 38423) from 127.0.0.1 port 36288 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38423 > User-Agent: curl/8.18.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:38423 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 108427 === 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: 108427 === End of file server.response === Start of file stderr3100 URL: rtsp://127.0.0.1:38423/3100 === End of file stderr3100 === Start of file valgrind3100 ==178714== ==178714== Process terminating with default action of signal 4 (SIGILL) ==178714== Illegal opcode at address 0x51D97AF ==178714== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==178714== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==178714== by 0x51D97AF: Curl_open (url.c:502) ==178714== by 0x515120F: curl_easy_init (easy.c:365) ==178714== by 0x40430CA: test_lib3100.lto_priv.0 (lib3100.c:36) ==178714== by 0x40034B5: main (first.c:279) ==178714== 5,512 bytes in 1 blocks are definitely lost in loss record 776 of 787 ==178714== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==178714== by 0x51D96BD: Curl_open (url.c:479) ==178714== by 0x515120F: curl_easy_init (easy.c:365) ==178714== by 0x40430CA: test_lib3100.lto_priv.0 (lib3100.c:36) ==178714== by 0x40034B5: main (first.c:279) ==178714== === End of file valgrind3100 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/8/valgrind3214 ./unit/units unit3214 - > log/8/stdout3214 2> log/8/stderr3214 -------e-v- OK (1758 out of 1760, remaining: 00:00, took 1.292s, duration: 02:52) 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/23/valgrind3213 ./unit/units unit3213 - > log/23/stdout3213 2> log/23/stderr3213 units returned 132, when expecting 0 3213: exit FAILED == Contents of files in the log/23/ 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/23/valgrind3213 ./unit/units unit3213 - > log/23/stdout3213 2> log/23/stderr3213 === End of file commands.log === Start of file server.cmd Testnum 3213 === End of file server.cmd === Start of file stderr3213 URL: - test s1, 10 numbers === End of file stderr3213 === Start of file valgrind3213 ==179466== ==179466== Process terminating with default action of signal 4 (SIGILL) ==179466== Illegal opcode at address 0x402A6B7 ==179466== at 0x402A6B7: UnknownInlinedFun (string_fortified.h:59) ==179466== by 0x402A6B7: UnknownInlinedFun (uint-spbset.c:38) ==179466== by 0x402A6B7: UnknownInlinedFun (unit3213.c:39) ==179466== by 0x402A6B7: test_unit3213 (unit3213.c:120) ==179466==CMD (33792): ../libtool --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/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:39649/3103 > log/24/stdout3103 2> log/24/stderr3103 CMD (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/7/valgrind3216 ./unit/units unit3216 - > log/7/stdout3216 2> log/7/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/20/valgrind3201 ../src/curl -q --output log/20/curl3201.out --include --trace-ascii log/20/trace3201 --trace-time http://127.0.0.1:46725/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/20/stdout3201 2> log/20/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/14/valgrind3203 ../src/curl -q --trace-ascii log/14/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/14/test3203.dir/ > log/14/stdout3203 2> log/14/stderr3203 by 0x400B165: main (first.c:279) === End of file valgrind3213 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/24/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:39649/3103 > log/24/stdout3103 2> log/24/stderr3103 3103: 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 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/24/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:39649/3103 > log/24/stdout3103 2> log/24/stderr3103 === End of file commands.log === Start of file http_server.log 17:51:41.458820 ====> Client connect 17:51:41.458854 accept_connection 3 returned 4 17:51:41.458869 accept_connection 3 returned 0 17:51:41.458884 Read 93 bytes 17:51:41.458893 Process 93 bytes request 17:51:41.458906 Got request: GET /verifiedserver HTTP/1.1 17:51:41.458915 Are-we-friendly question received 17:51:41.458940 Wrote request (93 bytes) input to log/24/server.input 17:51:41.458956 Identifying ourselves as friends 17:51:41.459016 Response sent (56 bytes) and written to log/24/server.response 17:51:41.459027 special request received, no persistency 17:51:41.459036 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39649... * Established connection to 127.0.0.1 (127.0.0.1 port 39649) from 127.0.0.1 port 51614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39649 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39649 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74811 === 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: 74811 === End of file server.response === Start of file stderr3103 URL: http://127.0.0.1:39649/3103 === End of file stderr3103 === Start of file valgrind3103 ==178729== ==178729== Process terminating with default action of signal 4 (SIGILL) ==178729== Illegal opcode at address 0x51D97AF ==178729== at 0x51D97AF: UnknownInlinedFun (string_fortified.h:59) ==178729== by 0x51D97AF: UnknownInlinedFun (request.c:40) ==178729== by 0x51D97AF: Curl_open (url.c:502) ==178729== by 0x515120F: curl_easy_init (easy.c:365) ==178729== by 0x51459A1: curl_share_init (curl_share.c:41) ==178729== by 0x4048F02: test_lib3103.lto_priv.0 (lib3103.c:34) ==178729== by 0x40034B5: main (first.c:279) ==178729== 5,512 bytes in 1 blocks are definitely lost in loss record 777 of 788 ==178729== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==178729== by 0x51D96BD: Curl_open (url.c:479) ==178729== by 0x515120F: curl_easy_init (easy.c:365) ==178729== by 0x51459A1: curl_share_init (curl_share.c:41) ==178729== by 0x4048F02: test_lib3103.lto_priv.0 (lib3103.c:34) ==178729== by 0x40034B5: main (first.c:279) ==178729== === End of file valgrind3103 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/7/valgrind3216 ./unit/units unit3216 - > log/7/stdout3216 2> log/7/stderr3216 -------e-v- OK (1760 out of 1760, remaining: 00:00, took 0.997s, duration: 02:52) test 3201...[HTTP GET when PROXY Protocol enabled and 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/20/valgrind3201 ../src/curl -q --output log/20/curl3201.out --include --trace-ascii log/20/trace3201 --trace-time http://127.0.0.1:46725/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/20/stdout3201 2> log/20/stderr3201 3201: 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 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/20/valgrind3201 ../src/curl -q --output log/20/curl3201.out --include --trace-ascii log/20/trace3201 --trace-time http://127.0.0.1:46725/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/20/stdout3201 2> log/20/stderr3201 === End of file commands.log === Start of file http_server.log 17:51:41.965460 ====> Client connect 17:51:41.965500 accept_connection 3 returned 4 17:51:41.965522 accept_connection 3 returned 0 17:51:41.965538 Read 93 bytes 17:51:41.965548 Process 93 bytes request 17:51:41.965562 Got request: GET /verifiedserver HTTP/1.1 17:51:41.965572 Are-we-friendly question received 17:51:41.965603 Wrote request (93 bytes) input to log/20/server.input 17:51:41.965623 Identifying ourselves as friends 17:51:41.965691 Response sent (56 bytes) and written to log/20/server.response 17:51:41.965703 special request received, no persistency 17:51:41.965713 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46725... * Established connection to 127.0.0.1 (127.0.0.1 port 46725) from 127.0.0.1 port 40108 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46725 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46725 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74815 === 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: 74815 === End of file server.response === Start of file valgrind3201 ==179057== ==179057== Process terminating with default action of signal 4 (SIGILL) ==179057== Illegal opcode at address 0x4014520 ==179057== at 0x4014520: getparameter (tool_getparam.c:2862) ==179057== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==179057== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==179057== by 0x4003728: main (tool_main.c:186) === End of file valgrind3201 CMD (33792): ../libtool --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/valgrind3204 ../src/curl -q --output log/15/curl3204.out --include --trace-ascii log/15/trace3204 --trace-time http://127.0.0.1:41057/3204 --etag-compare log/15/etag3204 --etag-save log/15/etag3204 > log/15/stdout3204 2> log/15/stderr3204 CMD (33792): ../libtool --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/valgrind3206 ../src/curl -q --output log/11/curl3206.out --include --trace-ascii log/11/trace3206 --trace-time imap://127.0.0.1:38987/3206/ -u user:secret -X 'FETCH 456 BODY[TEXT]' > log/11/stdout3206 2> log/11/stderr3206 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/14/valgrind3203 ../src/curl -q --trace-ascii log/14/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/14/test3203.dir/ > log/14/stdout3203 2> log/14/stderr3203 3203: stdout FAILED: --- log/14/check-expected 2026-01-28 17:51:44.396555359 +0000 +++ log/14/check-generated 2026-01-28 17:51:44.389888692 +0000 @@ -1 +0,0 @@ -dir-listing-test.txt[LF] == Contents of files in the log/14/ 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/14/valgrind3203 ../src/curl -q --trace-ascii log/14/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/14/test3203.dir/ > log/14/stdout3203 2> log/14/stderr3203 === End of file commands.log === Start of file server.cmd Testnum 3203 === End of file server.cmd === Start of file valgrind3203 ==179124== ==179124== Process terminating with default action of signal 4 (SIGILL) ==179124== Illegal opcode at address 0x4014520 ==179124== at 0x4014520: getparameter (tool_getparam.c:2862) ==179124== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==179124== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==179124== by 0x4003728: main (tool_main.c:186) === End of file valgrind3203 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/15/valgrind3204 ../src/curl -q --output log/15/curl3204.out --include --trace-ascii log/15/trace3204 --trace-time http://127.0.0.1:41057/3204 --etag-compare log/15/etag3204 --etag-save log/15/etag3204 > log/15/stdout3204 2> log/15/stderr3204 3204: 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 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/15/valgrind3204 ../src/curl -q --output log/15/curl3204.out --include --trace-ascii log/15/trace3204 --trace-time http://127.0.0.1:41057/3204 --etag-compare log/15/etag3204 --etag-save log/15/etag3204 > log/15/stdout3204 2> log/15/stderr3204 === End of file commands.log === Start of file etag3204 "21025-dc7-39462498" === End of file etag3204 === Start of file http_server.log 17:51:42.319577 ====> Client connect 17:51:42.319622 accept_connection 3 returned 4 17:51:42.319638 accept_connection 3 returned 0 17:51:42.319653 Read 93 bytes 17:51:42.319661 Process 93 bytes request 17:51:42.319673 Got request: GET /verifiedserver HTTP/1.1 17:51:42.319681 Are-we-friendly question received 17:51:42.319704 Wrote request (93 bytes) input to log/15/server.input 17:51:42.319724 Identifying ourselves as friends 17:51:42.319796 Response sent (56 bytes) and written to log/15/server.response 17:51:42.319805 special request received, no persistency 17:51:42.319813 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41057... * Established connection to 127.0.0.1 (127.0.0.1 port 41057) from 127.0.0.1 port 33388 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41057 > User-Agent: curl/8.18.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41057 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74820 === 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: 74820 === End of file server.response === Start of file valgrind3204 ==179219== ==179219== Process terminating with default action of signal 4 (SIGILL) ==179219== Illegal opcode at address 0x4014520 ==179219== at 0x4014520: getparameter (tool_getparam.c:2862) ==179219== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==179219== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==179219== by 0x4003728: main (tool_main.c:186) === End of file valgrind3204 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/11/valgrind3206 ../src/curl -q --output log/11/curl3206.out --include --trace-ascii log/11/trace3206 --trace-time imap://127.0.0.1:38987/3206/ -u user:secret -X 'FETCH 456 BODY[TEXT]' > log/11/stdout3206 2> log/11/stderr3206 3206: 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 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/11/valgrind3206 ../src/curl -q --output log/11/curl3206.out --include --trace-ascii log/11/trace3206 --trace-time imap://127.0.0.1:38987/3206/ -u user:secret -X 'FETCH 456 BODY[TEXT]' > log/11/stdout3206 2> log/11/stderr3206 === End of file commands.log === Start of file imap_server.log 17:51:42.491519 ====> Client connect 17:51:42.491701 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:51:42.493689 < "A001 CAPABILITY" 17:51:42.493751 > "A001 BAD Command[CR][LF]" 17:51:42.493963 < "A002 LIST "verifiedserver" *" 17:51:42.493999 LIST_imap got "verifiedserver" * 17:51:42.494032 > "* LIST () "/" "WE ROOLZ: 119977"[CR][LF]" 17:51:42.494054 > "A002 OK LIST Completed[CR][LF]" 17:51:42.494070 return proof we are we 17:51:42.537575 < "A003 LOGOUT" 17:51:42.537639 > "* BYE curl IMAP server signing off[CR][LF]" 17:51:42.537660 > "A003 OK LOGOUT completed[CR][LF]" 17:51:42.539679 MAIN sockfilt said DISC 17:51:42.539724 ====> Client disconnected 17:51:42.539805 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:51:42.337549 ====> Client connect 17:51:42.337890 Received DATA (on stdin) 17:51:42.337904 > 164 bytes data, server => client 17:51:42.337915 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:51:42.337925 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:51:42.337933 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:51:42.339595 < 17 bytes data, client => server 17:51:42.339621 'A001 CAPABILITY\r\n' 17:51:42.339936 Received DATA (on stdin) 17:51:42.339950 > 18 bytes data, server => client 17:51:42.339960 'A001 BAD Command\r\n' 17:51:42.340028 < 30 bytes data, client => server 17:51:42.340044 'A002 LIST "verifiedserver" *\r\n' 17:51:42.340246 Received DATA (on stdin) 17:51:42.340259 > 34 bytes data, server => client 17:51:42.340270 '* LIST () "/" "WE ROOLZ: 119977"\r\n' 17:51:42.340293 Received DATA (on stdin) 17:51:42.340305 > 24 bytes data, server => client 17:51:42.340316 'A002 OK LIST Completed\r\n' 17:51:42.383533 < 13 bytes data, client => server 17:51:42.383573 'A003 LOGOUT\r\n' 17:51:42.383834 Received DATA (on stdin) 17:51:42.383846 > 36 bytes data, server => client 17:51:42.383856 '* BYE curl IMAP server signing off\r\n' 17:51:42.383879 Received DATA (on stdin) 17:51:42.383888 > 26 bytes data, server => client 17:51:42.383898 '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/3/valgrind3210 ../src/curl -q --output log/3/curl3210.out --include --trace-ascii log/3/trace3210 --trace-time imap://127.0.0.1:45903/3210 -T log/3/upload3210 -u user:secret --upload-flags -seen > log/3/stdout3210 2> log/3/stderr3210 CMD (33792): ../libtool --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/valgrind3209 ../src/curl -q --output log/2/curl3209.out --include --trace-ascii log/2/trace3209 --trace-time imap://127.0.0.1:37623/3209 -T log/2/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/2/stdout3209 2> log/2/stderr3209 003 OK LOGOUT completed\r\n' 17:51:42.385788 ====> Client disconnect 17:51:42.385979 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 ==179267== ==179267== Process terminating with default action of signal 4 (SIGILL) ==179267== Illegal opcode at address 0x4014520 ==179267== at 0x4014520: getparameter (tool_getparam.c:2862) ==179267== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==179267== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==179267== by 0x4003728: main (tool_main.c:186) === End of file valgrind3206 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/3/valgrind3210 ../src/curl -q --output log/3/curl3210.out --include --trace-ascii log/3/trace3210 --trace-time imap://127.0.0.1:45903/3210 -T log/3/upload3210 -u user:secret --upload-flags -seen > log/3/stdout3210 2> log/3/stderr3210 3210: 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 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/3/valgrind3210 ../src/curl -q --output log/3/curl3210.out --include --trace-ascii log/3/trace3210 --trace-time imap://127.0.0.1:45903/3210 -T log/3/upload3210 -u user:secret --upload-flags -seen > log/3/stdout3210 2> log/3/stderr3210 === End of file commands.log === Start of file imap_server.log 17:51:42.683360 ====> Client connect 17:51:42.683530 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:51:42.684372 < "A001 CAPABILITY" 17:51:42.684419 > "A001 BAD Command[CR][LF]" 17:51:42.684616 < "A002 LIST "verifiedserver" *" 17:51:42.684648 LIST_imap got "verifiedserver" * 17:51:42.684675 > "* LIST () "/" "WE ROOLZ: 119789"[CR][LF]" 17:51:42.684693 > "A002 OK LIST Completed[CR][LF]" 17:51:42.684708 return proof we are we 17:51:42.737231 < "A003 LOGOUT" 17:51:42.737297 > "* BYE curl IMAP server signing off[CR][LF]" 17:51:42.737324 > "A003 OK LOGOUT completed[CR][LF]" 17:51:42.751468 MAIN sockfilt said DISC 17:51:42.751539 ====> Client disconnected 17:51:42.751637 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:51:43.528334 ====> Client connect 17:51:43.529723 Received DATA (on stdin) 17:51:43.529741 > 164 bytes data, server => client 17:51:43.529753 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:51:43.529763 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:51:43.529773 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:51:43.530365 < 17 bytes data, client => server 17:51:43.530384 'A001 CAPABILITY\r\n' 17:51:43.530601 Received DATA (on stdin) 17:51:43.530614 > 18 bytes data, server => client 17:51:43.530624 'A001 BAD Command\r\n' 17:51:43.530691 < 30 bytes data, client => server 17:51:43.530705 'A002 LIST "verifiedserver" *\r\n' 17:51:43.530881 Received DATA (on stdin) 17:51:43.530891 > 34 bytes data, server => client 17:51:43.530902 '* LIST () "/" "WE ROOLZ: 119789"\r\n' 17:51:43.530924 Received DATA (on stdin) 17:51:43.530934 > 24 bytes data, server => client 17:51:43.530944 'A002 OK LIST Completed\r\n' 17:51:43.582861 < 13 bytes data, client => server 17:51:43.582903 'A003 LOGOUT\r\n' 17:51:43.594358 Received DATA (on stdin) 17:51:43.594391 > 36 bytes data, server => client 17:51:43.594403 '* BYE curl IMAP server signing off\r\n' 17:51:43.594456 Received DATA (on stdin) 17:51:43.594471 > 26 bytes data, server => client 17:51:43.594481 'A003 OK LOGOUT completed\r\n' 17:51:43.597563 ====> Client disconnect 17:51:43.597822 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 ==179464== ==179464== Process terminating with default action of signal 4 (SIGILL) ==179464== Illegal opcode at address 0x4014520 ==179464== at 0x4014520: getparameter (tool_getparam.c:2862) ==179464== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==179464== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==179464== by 0x4003728: main (tool_main.c:186) === End of file valgrind3210 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/2/valgrind3209 ../src/curl -q --output log/2/curl3209.out --include --trace-ascii log/2/trace3209 --trace-time imap://127.0.0.1:37623/3209 -T log/2/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/2/stdout3209 2> log/2/stderr3209 3209: 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 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/2/valgrind3209 ../src/curl -q --output log/2/curl3209.out --include --trace-ascii log/2/trace3209 --trace-time imap://127.0.0.1:37623/3209 -T log/2/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/2/stdout3209 2> log/2/stderr3209 === End of file commands.log === Start of file imap_server.log 17:51:42.596840 ====> Client connect 17:51:42.597031 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 17:51:42.597442 < "A001 CAPABILITY" 17:51:42.597493 > "A001 BAD Command[CR][LF]" 17:51:42.597701 < "A002 LIST "verifiedserver" *" 17:51:42.597737 LIST_imap got "verifiedserver" * 17:51:42.597767 > "* LIST () "/" "WE ROOLZ: 118695"[CR][LF]" 17:51:42.597788 > "A002 OK LIST Completed[CR][LF]" 17:51:42.597803 return proof we are we 17:51:42.646841 < "A003 LOGOUT" 17:51:42.646915 > "* BYE curl IMAP server signing off[CR][LF]" 17:51:42.646948 > "A003 OK LOGOUT completed[CR][LF]" 17:51:42.651592 MAIN sockfilt said DISC 17:51:42.651655 ====> Client disconnected 17:51:42.651753 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 17:51:42.442857 ====> Client connect 17:51:42.443228 Received DATA (on stdin) 17:51:42.443247 > 164 bytes data, server => client 17:51:42.443260 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 17:51:42.443272 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 17:51:42.443283 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 17:51:42.443430 < 17 bytes data, client => server 17:51:42.443449 'A001 CAPABILITY\r\n' 17:51:42.443675 Received DATA (on stdin) 17:51:42.443689 > 18 bytes data, server => client 17:51:42.443700 'A001 BAD Command\r\n' 17:51:42.443765 < 30 bytes data, client => server 17:51:42.443782 'A002 LIST "verifiedserver" *\r\n' 17:51:42.443980 Received DATA (on stdin) 17:51:42.443995 > 34 bytes data, server => client 17:51:42.444011 '* LIST () "/" "WE ROOLZ: 118695"\r\n' 17:51:42.444035 Received 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/19/valgrind3215 ../src/curl -q --output log/19/curl3215.out --include --trace-ascii log/19/trace3215 --trace-time smtp://127.0.0.1:40777/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/19/stdout3215 2> log/19/stderr3215 CMD (33792): ../libtool --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/valgrind3202 ../src/curl -q --output log/4/curl3202.out --include --trace-ascii log/4/trace3202 --trace-time -g "http://[::1]:37059/3202" --haproxy-clientip "2001:db8::" > log/4/stdout3202 2> log/4/stderr3202 CMD (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/1/valgrind3026 ./libtest/libtests lib3026 - > log/1/stdout3026 2> log/1/stderr3026 * kill pid for ftp-ctrl => 81114 * kill pid for ftp-ctrl => 81107 * kill pid for ftp-ctrl => 81159 * kill pid for ftp-ctrl => 81076 * kill pid for ftp-ctrl => 82107 * kill pid for ftp-ctrl => 81018 * kill pid for ftp-ctrl => 81132 * kill pid for ftp-ctrl => 81007 * kill pid for ftp-ctrl => 81156 * kill pid for ftp-ctrl => 81034 * kill pid for ftp-ctrl => 81092 * kill pid for ftp-ctrl => 81130 * kill pid for ftp-ctrl => 81262 * kill pid for ftp-ctrl => 81023 * kill pid for imap-filt => 110989 * kill pid for pop3-filt => 122839 * kill pid for ftp-ctrl => 81128 * kill pid for imap-filt => 110717 * kill pid for ftp-ctrl => 95548 * kill pid for imap-filt => 120405 * kill pid for ftp-ctrl => 81147 * kill pid for ftp-ctrl => 81140 * kill pid for ftp-ctrl => 81157 * kill pid for ftp-ctrl => 138432 * kill pid for ftp-ctrl => 81127 * kill pid for ftp-ctrl => 81158 * kill pid for ftp-ctrl => 81108 * kill pid for ftp-ipv6-ctrl => 90834 * kill pid for imap-filt => 119953 * kill pid for pop3-filt => 123125 * kill pid for smtp-filt => 126204 RUN: Process with pid 81072 signalled to die RUN: Process with pid 90817 signalled to die RUN: Process with pid 114185 signalled to die RUN: Process with pid 119936 signalled to die RUN: Process with pid 123075 signalled to die RUN: Process with pid 126190 signalled to die RUN: Process with pid 143008 signalled to die RUN: Process with pid 146083 signalled to die RUN: Process with pid 159401 signalled to die RUN: Process with pid 164364 signalled to die RUN: Process with pid 171032 signalled to die * kill pid for pop3-filt => 123119 * kill pid for imap-filt => 120318 * kill pid for ftp-ipv6-ctrl => 90891 * kill pid for imap-filt => 119928 * kill pid for pop3-filt => 122830 * kill pid for smtp-filt => 110711 RUN: Process with pid 74813 signalled to die RUN: Process with pid 81056 signalled to die RUN: Process with pid 90823 signalled to die RUN: Process with pid 110701 signalled to die RUN: Process with pid 115568 signalled to die RUN: Process with pid 119922 signalled to die RUN: Process with pid 122824 signalled to die RUN: Process with pid 156174 signalled to die RUN: Process with pid 162975 signalled to die RUN: Process with pid 170491 signalled to die * kill pid for pop3-filt => 123044 * kill pid for smtp-filt => 126193 RUN: Process with pid 74974 signalled to die * kill pid for imap-filt => 119612 * kill pid for pop3-filt => 123050 * kill pid for smtp-filt => 126343 RUN: Process with pid 74871 signalled to die RUN: Process with pid 80972 signalled to die RUN: Process with pid 92920 signalled to die RUN: Process with pid 108427 signalled to die RUN: Process with pid 114245 signalled to die RUN: Process with pid 114940 signalled to die RUN: Process with pid 119592 signalled to die RUN: Process with pid 123004 signalled to die RUN: Process with pid 126286 signalled to die RUN: Process with pid 80975 signalled to die RUN: Process with pid 90218 signalled to die RUN: Process with pid 108424 signalled to die RUN: Process with pid 113738 signalled to die RUN: Process with pid 120283 signalled to die RUN: Process with pid 123005 signalled to die RUN: Process with pid 126179 signalled to die RUN: Process with pid 169896 signalled to die * kill pid for ftp-ipv6-ctrl => 90820 * kill pid for ftp-ipv6-ctrl => 134642 * kill pid for imap-filt => 120593 * kill pid for imap-filt => 119744 * kill pid for imap-filt => 120001 * kill pid for pop3-filt => 122984 * kill pid for smtp-filt => 110735 RUN: Process with pid 74921 signalled to die RUN: Process with pid 80983 signalled to die RUN: Process with pid 110729 signalled to die RUN: Process with pid 114316 signalled to die RUN: Process with pid 119977 signalled to die RUN: Process with pid 122951 signalled to die RUN: Process with pid 134413 signalled to die RUN: Process with pid 143153 signalled to die RUN: Process with pid 171979 signalled to die * kill pid for imap-filt => 120336 * kill pid for pop3-filt => 123190 * kill pid for smtp-filt => 125713 RUN: Process with pid 75084 signalled to die RUN: Process with pid 81153 signalled to die RUN: Process with pid 90198 signalled to die RUN: Process with pid 114218 signalled to die RUN: Process with pid 120280 signalled to die RUN: Process with pid 123182 signalled to die RUN: Process with pid 125702 signalled to die RUN: Process with pid 131846 signalled to die RUN: Process with pid 143133 signalled to die * kill pid for imap-filt => 120139 * kill pid for ftp-ipv6-ctrl => 90946 * kill pid for imap-filt => 120061 * kill pid for imap-filt => 119822 * kill pid for pop3-filt => 123165 * kill pid for pop3-filt => 123168 * kill pid for imap-filt => 119930 * kill pid for imap-filt => 118746 * kill pid for pop3-filt => 122831 * kill pid for imap-filt => 120366 * kill pid for pop3-filt => 123118 * kill pid for smtp-filt => 126454 RUN: Process with pid 75148 signalled to die RUN: Process with pid 80996 signalled to die RUN: Process with pid 113806 signalled to die RUN: Process with pid 120342 signalled to die RUN: Process with pid 123085 signalled to die RUN: Process with pid 126447 signalled to die RUN: Process with pid 143177 signalled to die RUN: Process with pid 159454 signalled to die RUN: Process with pid 162974 signalled to die RUN: Process with pid 179091 signalled to die * kill pid for pop3-filt => 122820 * kill pid for pop3-filt => 122953 * kill pid for smtp-filt => 126407 RUN: Process with pid 74814 signalled to die RUN: Process with pid 81123 signalled to die RUN: Process with pid 113774 signalled to die RUN: Process with pid 120365 signalled to die RUN: Process with pid 123102 signalled to die RUN: Process with pid 126376 signalled to die RUN: Process with pid 134525 signalled to die RUN: Process with pid 147661 signalled to die RUN: Process with pid 150541 signalled to die * kill pid for smtp-filt => 125881 RUN: Process with pid 74815 signalled to die RUN: Process with pid 80026 signalled to die RUN: Process with pid 81259 signalled to die RUN: Process with pid 92985 signalled to die RUN: Process with pid 110875 signalled to die RUN: Process with pid 114343 signalled to die RUN: Process with pid 122834 signalled to die RUN: Process with pid 125839 signalled to die RUN: Process with pid 143237 signalled to die RUN: Process with pid 150634 signalled to die RUN: Process with pid 175652 signalled to die * kill pid for smtp-filt => 126393 * kill pid for smtp-filt => 126239 * kill pid for imap-filt => 120147 * kill pid for pop3-filt => 123002 * kill pid for smtp-filt => 126261 RUN: Process with pid 74920 signalled to die RUN: Process with pid 114168 signalled to die RUN: Process with pid 120079 signalled to die RUN: Process with pid 122950 signalled to die RUN: Process with pid 126230 signalled to die RUN: Process with pid 146086 signalled to die RUN: Process with pid 163075 signalled to die * kill pid for smtp-filt => 125711 RUN: Process with pid 75287 signalled to die RUN: Process with pid 81126 signalled to die RUN: Process with pid 90925 signalled to die RUN: Process with pid 94980 signalled to die RUN: Process with pid 114234 signalled to die RUN: Process with pid 116349 signalled to die RUN: Process with pid 119789 signalled to die RUN: Process with pid 123162 signalled to die RUN: Process with pid 125707 signalled to die * kill pid for imap-filt => 119791 * kill pid for pop3-filt => 122896 * kill pid for smtp-filt => 110766 RUN: Process with pid 75033 signalled to die RUN: Process with pid 81155 signalled to die RUN: Process with pid 108434 signalled to die RUN: Process with pid 110752 signalled to die RUN: Process with pid 119712 signalled to die RUN: Process with pid 122869 signalled to die RUN: Process with pid 175643 signalled to die * kill pid for imap-filt => 119891 * kill pid for pop3-filt => 122900 * kill pid for smtp-filt => 110737 RUN: Process with pid 74812 signalled to die RUN: Process with pid 81154 signalled to die RUN: Process with pid 92754 signalled to die RUN: Process with pid 110732 signalled to die RUN: Process with pid 114225 signalled to die RUN: Process with pid 119876 signalled to die RUN: Process with pid 122873 signalled to die RUN: Process with pid 134563 signalled to die RUN: Process with pid 143188 signalled to die RUN: Process with pid 145102 signalled to die RUN: Process with pid 145992 signalled to die * kill pid for pop3-filt => 122860 * kill pid for smtp-filt => 125776 RUN: Process with pid 81055 signalled to die RUN: Process with pid 90815 signalled to die RUN: Process with pid 120569 signalled to die RUN: Process with pid 122857 signalled to die RUN: Process with pid 125760 signalled to die RUN: Process with pid 148891 signalled to die RUN: Process with pid 161230 signalled to die RUN: Process with pid 175726 signalled to die * kill pid for pop3-filt => 123114 * kill pid for smtp-filt => 126141 RUN: Process with pid 74817 signalled to die RUN: Process with pid 80722 signalled to die RUN: Process with pid 82094 signalled to die RUN: Process with pid 110710 signalled to die RUN: Process with pid 114151 signalled to die RUN: Process with pid 123087 signalled to die RUN: Process with pid 126048 signalled to die RUN: Process with pid 157656 signalled to die RUN: Process with pid 80972 gracefully died RUN: Process with pid 80975 gracefully died * kill pid for imap-filt => 122510 * kill pid for pop3-filt => 102958 * kill pid for smtp-filt => 126199 RUN: Process with pid 74816 signalled to die RUN: Process with pid 81054 signalled to die RUN: Process with pid 92037 signalled to die RUN: Process with pid 102884 signalled to die RUN: Process with pid 113812 signalled to die RUN: Process with pid 122438 signalled to die RUN: Process with pid 126194 signalled to die RUN: Process with pid 143240 signalled to die RUN: Process with pid 150499 signalled to die * kill pid for imap-filt => 120349 * kill pid for pop3-filt => 123205 * kill pid for smtp-filt => 125708 RUN: Process with pid 74818 signalled to die RUN: Process with pid 92980 signalled to die RUN: Process with pid 95543 signalled to die RUN: Process with pid 112838 signalled to die RUN: Process with pid 120335 signalled to die RUN: Process with pid 123194 signalled to die RUN: Process with pid 125701 signalled to die RUN: Process with pid 136331 signalled to die RUN: Process with pid 143181 signalled to die RUN: Process with pid 158938 signalled to die * kill pid for smtp-filt => 126144 RUN: Process with pid 81259 gracefully died RUN: Process with pid 77918 signalled to die RUN: Process with pid 81078 signalled to die RUN: Process with pid 104511 signalled to die RUN: Process with pid 108617 signalled to die RUN: Process with pid 120008 signalled to die RUN: Process with pid 123160 signalled to die RUN: Process with pid 126218 signalled to die RUN: Process with pid 157747 signalled to die RUN: Process with pid 81126 gracefully died RUN: Process with pid 81154 gracefully died RUN: Process with pid 81072 gracefully died RUN: Process with pid 81155 gracefully died * kill pid for pop3-filt => 123150 * kill pid for smtp-filt => 126221 RUN: Process with pid 75347 signalled to die RUN: Process with pid 81139 signalled to die RUN: Process with pid 108490 signalled to die RUN: Process with pid 114076 signalled to die RUN: Process with pid 120089 signalled to die RUN: Process with pid 123139 signalled to die RUN: Process with pid 126197 signalled to die RUN: Process with pid 137609 signalled to die RUN: Process with pid 143179 signalled to die RUN: Process with pid 150627 signalled to die RUN: Process with pid 81056 gracefully died RUN: Process with pid 119592 gracefully died * kill pid for imap-filt => 120000 * kill pid for pop3-filt => 122897 * kill pid for smtp-filt => 125843 RUN: Process with pid 74811 signalled to die RUN: Process with pid 81152 signalled to die RUN: Process with pid 90172 signalled to die RUN: Process with pid 113941 signalled to die RUN: Process with pid 119963 signalled to die RUN: Process with pid 122870 signalled to die RUN: Process with pid 125811 signalled to die RUN: Process with pid 137703 signalled to die RUN: Process with pid 143154 signalled to die RUN: Process with pid 75084 gracefully died RUN: Process with pid 74921 gracefully died RUN: Process with pid 120283 gracefully died RUN: Process with pid 80996 gracefully died RUN: Process with pid 74822 signalled to die RUN: Process with pid 81129 signalled to die RUN: Process with pid 114045 signalled to die RUN: Process with pid 119921 signalled to die RUN: Process with pid 122937 signalled to die RUN: Process with pid 126067 signalled to die RUN: Process with pid 143143 signalled to die * kill pid for imap-filt => 112401 RUN: Process with pid 110875 gracefully died RUN: Process with pid 74920 gracefully died RUN: Process with pid 74814 gracefully died RUN: Process with pid 81078 gracefully died RUN: Process with pid 75287 gracefully died RUN: Process with pid 76626 signalled to die RUN: Process with pid 79752 signalled to die RUN: Process with pid 91337 signalled to die RUN: Process with pid 108493 signalled to die RUN: Process with pid 113975 signalled to die RUN: Process with pid 118695 signalled to die RUN: Process with pid 122815 signalled to die RUN: Process with pid 126352 signalled to die RUN: Process with pid 138418 signalled to die RUN: Process with pid 74812 gracefully died * kill pid for smtp-filt => 125709 RUN: Process with pid 90817 gracefully died RUN: Process with pid 75033 gracefully died * kill pid for pop3-filt => 123009 * kill pid for smtp-filt => 126329 RUN: Process with pid 74820 signalled to die RUN: Process with pid 81145 signalled to die RUN: Process with pid 108416 signalled to die RUN: Process with pid 112379 signalled to die RUN: Process with pid 114314 signalled to die RUN: Process with pid 122944 signalled to die RUN: Process with pid 126298 signalled to die RUN: Process with pid 143149 signalled to die RUN: Process with pid 157492 signalled to die RUN: Process with pid 81139 gracefully died RUN: Process with pid 74819 signalled to die RUN: Process with pid 81124 signalled to die RUN: Process with pid 92469 signalled to die RUN: Process with pid 114023 signalled to die RUN: Process with pid 119697 signalled to die RUN: Process with pid 122794 signalled to die RUN: Process with pid 125705 signalled to die RUN: Process with pid 143139 signalled to die RUN: Process with pid 171996 signalled to die RUN: Process with pid 175611 signalled to die RUN: Process with pid 81055 gracefully died RUN: Process with pid 74817 gracefully died RUN: Process with pid 74813 gracefully died RUN: Process with pid 114245 gracefully died RUN: Process with pid 81153 gracefully died RUN: Process with pid 80983 gracefully died RUN: Process with pid 81152 gracefully died RUN: Process with pid 81054 gracefully died RUN: Process with pid 120335 gracefully died RUN: Process with pid 74974 gracefully died RUN: Process with pid 120342 gracefully died RUN: Process with pid 81129 gracefully died RUN: Process with pid 74815 gracefully died RUN: Process with pid 114168 gracefully died RUN: Process with pid 81123 gracefully died RUN: Process with pid 77918 gracefully died RUN: Process with pid 90925 gracefully died RUN: Process with pid 110752 gracefully died RUN: Process with pid 122815 gracefully died RUN: Process with pid 114185 gracefully died RUN: Process with pid 110732 gracefully died RUN: Process with pid 75347 gracefully died RUN: Process with pid 90815 gracefully died RUN: Process with pid 81124 gracefully died RUN: Process with pid 80722 gracefully died RUN: Process with pid 90823 gracefully died RUN: Process with pid 74871 gracefully died RUN: Process with pid 110729 gracefully died RUN: Process with pid 90198 gracefully died RUN: Process with pid 74811 gracefully died RUN: Process with pid 74816 gracefully died RUN: Process with pid 75148 gracefully died RUN: Process with pid 74818 gracefully died RUN: Process with pid 90218 gracefully died RUN: Process with pid 80026 gracefully died RUN: Process with pid 120079 gracefully died RUN: Process with pid 74822 gracefully died RUN: Process with pid 113774 gracefully died RUN: Process with pid 119712 gracefully died RUN: Process with pid 114234 gracefully died RUN: Process with pid 76626 gracefully died RUN: Process with pid 104511 gracefully died RUN: Process with pid 120569 gracefully died RUN: Process with pid 114076 gracefully died RUN: Process with pid 74820 gracefully died RUN: Process with pid 114225 gracefully died RUN: Process with pid 119936 gracefully died RUN: Process with pid 74819 gracefully died RUN: Process with pid 82094 gracefully died RUN: Process with pid 110701 gracefully died RUN: Process with pid 114940 gracefully died RUN: Process with pid 114218 gracefully died RUN: Process with pid 114316 gracefully died RUN: Process with pid 90172 gracefully died RUN: Process with pid 102884 gracefully died RUN: Process with pid 95543 gracefully died RUN: Process with pid 113806 gracefully died RUN: Process with pid 113738 gracefully died RUN: Process with pid 122950 gracefully died RUN: Process with pid 114045 gracefully died RUN: Process with pid 114343 gracefully died RUN: Process with pid 120365 gracefully died RUN: Process with pid 116349 gracefully died RUN: Process with pid 79752 gracefully died RUN: Process with pid 122869 gracefully died RUN: Process with pid 120008 gracefully died RUN: Process with pid 119876 gracefully died RUN: Process with pid 120089 gracefully died RUN: Process with pid 81145 gracefully died RUN: Process with pid 122857 gracefully died RUN: Process with pid 92469 gracefully died RUN: Process with pid 123075 gracefully died RUN: Process with pid 110710 gracefully died RUN: Process with pid 115568 gracefully died RUN: Process with pid 123004 gracefully died RUN: Process with pid 113941 gracefully died RUN: Process with pid 120280 gracefully died RUN: Process with pid 119977 gracefully died RUN: Process with pid 113812 gracefully died RUN: Process with pid 123194 gracefully died RUN: Process with pid 123085 gracefully died RUN: Process with pid 123005 gracefully died RUN: Process with pid 122834 gracefully died RUN: Process with pid 126230 gracefully died RUN: Process with pid 119921 gracefully died RUN: Process with pid 123102 gracefully died RUN: Process with pid 91337 gracefully died RUN: Process with pid 175643 gracefully died RUN: Process with pid 119789 gracefully died RUN: Process with pid 123160 gracefully died RUN: Process with pid 125760 gracefully died RUN: Process with pid 123139 gracefully died RUN: Process with pid 112379 gracefully died RUN: Process with pid 114023 gracefully died RUN: Process with pid 122873 gracefully died RUN: Process with pid 126190 gracefully died RUN: Process with pid 114151 gracefully died RUN: Process with pid 126286 gracefully died RUN: Process with pid 122951 gracefully died RUN: Process with pid 119963 gracefully died RUN: Process with pid 123182 gracefully died RUN: Process with pid 119922 gracefully died RUN: Process with pid 122438 gracefully died RUN: Process with pid 125701 gracefully died RUN: Process with pid 126447 gracefully died RUN: Process with pid 113975 gracefully died RUN: Process with pid 122937 gracefully died RUN: Process with pid 126376 gracefully died RUN: Process with pid 163075 gracefully died RUN: Process with pid 125839 gracefully died RUN: Process with pid 126179 gracefully died RUN: Process with pid 123162 gracefully died RUN: Process with pid 126218 gracefully died RUN: Process with pid 134563 gracefully died RUN: Process with pid 143008 gracefully died RUN: Process with pid 126197 gracefully died RUN: Process with pid 114314 gracefully died RUN: Process with pid 119697 gracefully died RUN: Process with pid 148891 gracefully died RUN: Process with pid 123087 gracefully died RUN: Process with pid 134413 gracefully died RUN: Process with pid 125702 gracefully died RUN: Process with pid 122824 gracefully died RUN: Process with pid 122870 gracefully died RUN: Process with pid 126194 gracefully died RUN: Process with pid 136331 gracefully died RUN: Process with pid 143177 gracefully died RUN: Process with pid 118695 gracefully died RUN: Process with pid 143237 gracefully died RUN: Process with pid 126067 gracefully died RUN: Process with pid 169896 gracefully died RUN: Process with pid 125707 gracefully died RUN: Process with pid 147661 gracefully died RUN: Process with pid 157747 gracefully died RUN: Process with pid 143188 gracefully died RUN: Process with pid 161230 gracefully died RUN: Process with pid 143179 gracefully died RUN: Process with pid 159401 gracefully died RUN: Process with pid 122944 gracefully died RUN: Process with pid 122794 gracefully died RUN: Process with pid 143153 gracefully died RUN: Process with pid 126048 gracefully died RUN: Process with pid 156174 gracefully died RUN: Process with pid 125811 gracefully died RUN: Process with pid 143133 gracefully died RUN: Process with pid 143240 gracefully died RUN: Process with pid 143181 gracefully died RUN: Process with pid 159454 gracefully died RUN: Process with pid 150634 gracefully died RUN: Process with pid 126352 gracefully died RUN: Process with pid 143143 gracefully died RUN: Process with pid 150541 gracefully died RUN: Process with pid 145102 gracefully died RUN: Process with pid 164364 gracefully died RUN: Process with pid 175726 gracefully died RUN: Process with pid 150627 gracefully died RUN: Process with pid 125705 gracefully died RUN: Process with pid 126298 gracefully died RUN: Process with pid 143154 gracefully died RUN: Process with pid 162975 gracefully died RUN: Process with pid 157656 gracefully died RUN: Process with pid 150499 gracefully died RUN: Process with pid 158938 gracefully died RUN: Process with pid 162974 gracefully died RUN: Process with pid 138418 gracefully died RUN: Process with pid 175652 gracefully died RUN: Process with pid 145992 gracefully died RUN: Process with pid 171032 gracefully died RUN: Process with pid 143139 gracefully died RUN: Process with pid 143149 gracefully died RUN: Process with pid 170491 gracefully died on stdin) 17:51:42.444048 > 24 bytes data, server => client 17:51:42.444059 'A002 OK LIST Completed\r\n' 17:51:42.489631 < 13 bytes data, client => server 17:51:42.489669 'A003 LOGOUT\r\n' 17:51:42.496166 Received DATA (on stdin) 17:51:42.496204 > 36 bytes data, server => client 17:51:42.496217 '* BYE curl IMAP server signing off\r\n' 17:51:42.496264 Received DATA (on stdin) 17:51:42.496278 > 26 bytes data, server => client 17:51:42.496290 'A003 OK LOGOUT completed\r\n' 17:51:42.497685 ====> Client disconnect 17:51:42.497943 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 ==179344== ==179344== Process terminating with default action of signal 4 (SIGILL) ==179344== Illegal opcode at address 0x4014520 ==179344== at 0x4014520: getparameter (tool_getparam.c:2862) ==179344== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==179344== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==179344== by 0x4003728: main (tool_main.c:186) === End of file valgrind3209 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/19/valgrind3215 ../src/curl -q --output log/19/curl3215.out --include --trace-ascii log/19/trace3215 --trace-time smtp://127.0.0.1:40777/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/19/stdout3215 2> log/19/stderr3215 3215: 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 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/19/valgrind3215 ../src/curl -q --output log/19/curl3215.out --include --trace-ascii log/19/trace3215 --trace-time smtp://127.0.0.1:40777/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/19/stdout3215 2> log/19/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 17:51:43.193556 ====> Client connect 17:51:43.193734 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 17:51:43.194080 < "EHLO verifiedserver" 17:51:43.194131 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 17:51:43.194331 < "HELP" 17:51:43.194374 > "214 WE ROOLZ: 126194[CR][LF]" 17:51:43.194392 return proof we are we 17:51:43.194654 < "QUIT" 17:51:43.194687 > "221 curl ESMTP server signing off[CR][LF]" 17:51:43.196044 MAIN sockfilt said DISC 17:51:43.196077 ====> Client disconnected 17:51:43.196157 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 17:51:43.039516 ====> Client connect 17:51:43.039929 Received DATA (on stdin) 17:51:43.039945 > 146 bytes data, server => client 17:51:43.039957 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 17:51:43.039968 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 17:51:43.039977 '220 \___|\___/|_| \_\_____|\r\n' 17:51:43.040080 < 21 bytes data, client => server 17:51:43.040094 'EHLO verifiedserver\r\n' 17:51:43.040311 Received DATA (on stdin) 17:51:43.040324 > 53 bytes data, server => client 17:51:43.040335 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 17:51:43.040397 < 6 bytes data, client => server 17:51:43.040410 'HELP\r\n' 17:51:43.040567 Received DATA (on stdin) 17:51:43.040578 > 22 bytes data, server => client 17:51:43.040589 '214 WE ROOLZ: 126194\r\n' 17:51:43.040726 < 6 bytes data, client => server 17:51:43.040742 'QUIT\r\n' 17:51:43.040862 Received DATA (on stdin) 17:51:43.040873 > 35 bytes data, server => client 17:51:43.040884 '221 curl ESMTP server signing off\r\n' 17:51:43.042166 ====> Client disconnect 17:51:43.042332 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 ==179696== ==179696== Process terminating with default action of signal 4 (SIGILL) ==179696== Illegal opcode at address 0x4014520 ==179696== at 0x4014520: getparameter (tool_getparam.c:2862) ==179696== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==179696== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==179696== by 0x4003728: main (tool_main.c:186) === End of file valgrind3215 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/4/server/http_ipv6_server.pid" --logfile "log/4/http_ipv6_server.log" --logdir "log/4" --portfile log/4/server/http_ipv6_server.port --config log/4/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 179091 port 37059 * pid http-ipv6 => 179091 179091 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/4/valgrind3202 ../src/curl -q --output log/4/curl3202.out --include --trace-ascii log/4/trace3202 --trace-time -g "http://[::1]:37059/3202" --haproxy-clientip "2001:db8::" > log/4/stdout3202 2> log/4/stderr3202 3202: 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 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/4/valgrind3202 ../src/curl -q --output log/4/curl3202.out --include --trace-ascii log/4/trace3202 --trace-time -g "http://[::1]:37059/3202" --haproxy-clientip "2001:db8::" > log/4/stdout3202 2> log/4/stderr3202 === End of file commands.log === Start of file http_ipv6_server.log 17:51:42.135146 Running HTTP IPv6 version on port 37059 17:51:42.135285 Wrote pid 179091 to log/4/server/http_ipv6_server.pid 17:51:42.135323 Wrote port 37059 to log/4/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 ==179732== ==179732== Process terminating with default action of signal 4 (SIGILL) ==179732== Illegal opcode at address 0x4014520 ==179732== at 0x4014520: getparameter (tool_getparam.c:2862) ==179732== by 0x4003728: UnknownInlinedFun (tool_getparam.c:3045) ==179732== by 0x4003728: UnknownInlinedFun (tool_operate.c:2244) ==179732== by 0x4003728: main (tool_main.c:186) === End of file valgrind3202 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/1/valgrind3026 ./libtest/libtests lib3026 - > log/1/stdout3026 2> log/1/stderr3026 -------e-v- OK (1728 out of 1760, remaining: 00:03, took 4.874s, duration: 02:53) * kill pid for ftp => 81056 * kill pid for socks => 115568 * kill pid for ftp-ipv6 => 90823 * kill pid for pop3 => 122824 * kill pid for http => 74813 * kill pRUN: Process with pid 179091 gracefully died RUN: Process with pid 175611 gracefully died RUN: Process with pid 157492 gracefully died RUN: Process with pid 146083 forced to die with SIGKILL RUN: Process with pid 92985 forced to die with SIGKILL RUN: Process with pid 108434 forced to die with SIGKILL RUN: Process with pid 94980 forced to die with SIGKILL RUN: Process with pid 131846 forced to die with SIGKILL RUN: Process with pid 92920 forced to die with SIGKILL RUN: Process with pid 108427 forced to die with SIGKILL RUN: Process with pid 146086 forced to die with SIGKILL RUN: Process with pid 134525 forced to die with SIGKILL RUN: Process with pid 171979 forced to die with SIGKILL RUN: Process with pid 92754 forced to die with SIGKILL RUN: Process with pid 92980 forced to die with SIGKILL RUN: Process with pid 112838 forced to die with SIGKILL RUN: Process with pid 108617 forced to die with SIGKILL RUN: Process with pid 92037 forced to die with SIGKILL RUN: Process with pid 108424 forced to die with SIGKILL RUN: Process with pid 108490 forced to die with SIGKILL RUN: Process with pid 137609 forced to die with SIGKILL RUN: Process with pid 108493 forced to die with SIGKILL RUN: Process with pid 137703 forced to die with SIGKILL RUN: Process with pid 108416 forced to die with SIGKILL RUN: Process with pid 171996 forced to die with SIGKILL Runner 74808 exiting Runner 74794 exiting Runner 74791 exiting Runner 74802 exiting Runner 74810 exiting Runner 74804 exiting Runner 74789 exiting Runner 74805 exiting Runner 74800 exiting Runner 74801 exiting Runner 74798 exiting Runner 74792 exiting Runner 74806 exiting Runner 74807 exiting Runner 74803 exiting Runner 74793 exiting Runner 74788 exiting Runner 74809 exiting Runner 74796 exiting Runner 74787 exiting Runner 74799 exiting Runner 74797 exiting Runner 74795 exiting Runner 74790 exiting id for mqtt => 170491 * kill pid for imap => 119922 * kill pid for http-ipv6 => 156174 * kill pid for smtp => 110701 * kill pid for http-proxy => 162975 * kill pid for mqtt => 175643 * kill pid for rtsp => 108434 * kill pid for ftp => 81155 * kill pid for http => 75033 * kill pid for smtp => 110752 * kill pid for imap => 119712 * kill pid for pop3 => 122869 * kill pid for tftp => 171996 * kill pid for http => 74819 * kill pid for pop3 => 122794 * kill pid for ftp => 81124 * kill pid for socks => 114023 * kill pid for http-ipv6 => 175611 * kill pid for http-proxy => 92469 * kill pid for smtp => 125705 * kill pid for imap => 119697 * kill pid for mqtt => 143139 * kill pid for http-unix => 157747 * kill pid for smtp => 126218 * kill pid for http-proxy => 104511 * kill pid for imap => 120008 * kill pid for rtsp => 108617 * kill pid for ftp => 81078 * kill pid for http => 77918 * kill pid for pop3 => 123160 * kill pid for pop3 => 123087 * kill pid for http => 74817 * kill pid for socks => 114151 * kill pid for ftp => 82094 * kill pid for imap => 110710 * kill pid for http-proxy => 80722 * kill pid for smtp => 126048 * kill pid for http-unix => 157656 * kill pid for socks => 113941 * kill pid for ftp => 81152 * kill pid for http => 74811 * kill pid for tftp => 137703 * kill pid for pop3 => 122870 * kill pid for mqtt => 143154 * kill pid for smtp => 125811 * kill pid for http-ipv6 => 90172 * kill pid for imap => 119963 * kill pid for http-proxy => 114234 * kill pid for smtp => 125707 * kill pid for imap => 119789 * kill pid for ftp-ipv6 => 90925 * kill pid for socks => 116349 * kill pid for ftp => 81126 * kill pid for http => 75287 * kill pid for tftp => 94980 * kill pid for pop3 => 123162 * kill pid for imap => 122438 * kill pid for smtp => 126194 * kill pid for http-proxy => 150499 * kill pid for pop3 => 102884 * kill pid for gopher-ipv6 => 143240 * kill pid for tftp => 92037 * kill pid for http => 74816 * kill pid for ftp => 81054 * kill pid for socks => 113812 * kill pid for smtp => 126067 * kill pid for imap => 119921 * kill pid for mqtt => 143143 * kill pid for http => 74822 * kill pid for pop3 => 122937 * kill pid for ftp => 81129 * kill pid for socks => 114045 * kill pid for imap => 112379 * kill pid for http-proxy => 157492 * kill pid for smtp => 126298 * kill pid for mqtt => 143149 * kill pid for pop3 => 122944 * kill pid for http => 74820 * kill pid for socks => 114314 * kill pid for rtsp => 108416 * kill pid for ftp => 81145 * kill pid for http => 74920 * kill pid for tftp => 146086 * kill pid for pop3 => 122950 * kill pid for socks => 114168 * kill pid for http-proxy => 163075 * kill pid for smtp => 126230 * kill pid for imap => 120079 * kill pid for pop3 => 123075 * kill pid for socks5unix => 159401 * kill pid for socks => 114185 * kill pid for smtp => 126190 * kill pid for http => 164364 * kill pid for tftp => 146083 * kill pid for ftp => 81072 * kill pid for ftp-ipv6 => 90817 * kill pid for imap => 119936 * kill pid for http-proxy => 171032 * kill pid for mqtt => 143008 * kill pid for gopher => 143181 * kill pid for imap => 120335 * kill pid for http-proxy => 136331 * kill pid for smtp => 125701 * kill pid for http-ipv6 => 158938 * kill pid for rtsp => 112838 * kill pid for ftp => 95543 * kill pid for pop3 => 123194 * kill pid for http => 74818 * kill pid for tftp => 92980 * kill pid for pop3 => 123102 * kill pid for http => 74814 * kill pid for tftp => 134525 * kill pid for socks => 113774 * kill pid for ftp => 81123 * kill pid for imap => 120365 * kill pid for http-proxy => 150541 * kill pid for smtp => 126376 * kill pid for http-ipv6 => 147661 * kill pid for imap => 110875 * kill pid for http-ipv6 => 150634 * kill pid for http-proxy => 80026 * kill pid for smtp => 125839 * kill pid for gopher => 143237 * kill pid for mqtt => 175652 * kill pid for pop3 => 122834 * kill pid for tftp => 92985 * kill pid for http => 74815 * kill pid for ftp => 81259 * kill pid for socks => 114343 * kill pid for ftp => 81153 * kill pid for socks => 114218 * kill pid for pop3 => 123182 * kill pid for tftp => 131846 * kill pid for http => 75084 * kill pid for mqtt => 143133 * kill pid for imap => 120280 * kill pid for http-ipv6 => 90198 * kill pid for smtp => 125702 * kill pid for http => 76626 * kill pid for pop3 => 122815 * kill pid for ftp => 138418 * kill pid for rtsp => 108493 * kill pid for socks => 113975 * kill pid for http-ipv6 => 91337 * kill pid for smtp => 126352 * kill pid for http-proxy => 79752 * kill pid for imap => 118695 * kill pid for ftp => 80972 * kill pid for socks => 114940 * kill pid for rtsp => 108427 * kill pid for tftp => 92920 * kill pid for http => 74871 * kill pid for pop3 => 123004 * kill pid for smtp => 126286 * kill pid for http-proxy => 114245 * kill pid for imap => 119592 * kill pid for gopher => 143188 * kill pid for http-ipv6 => 145992 * kill pid for http-proxy => 145102 * kill pid for smtp => 110732 * kill pid for imap => 119876 * kill pid for ftp-ipv6 => 134563 * kill pid for ftp => 81154 * kill pid for socks => 114225 * kill pid for tftp => 92754 * kill pid for http => 74812 * kill pid for pop3 => 122873 * kill pid for smtp => 126197 * kill pid for http-proxy => 150627 * kill pid for imap => 120089 * kill pid for mqtt => 143179 * kill pid for http => 75347 * kill pid for tftp => 137609 * kill pid for pop3 => 123139 * kill pid for rtsp => 108490 * kill pid for socks => 114076 * kill pid for ftp => 81139 * kill pid for ftp => 81055 * kill pid for ftp-ipv6 => 90815 * kill pid for pop3 => 122857 * kill pid for http => 161230 * kill pid for mqtt => 175726 * kill pid for imap => 120569 * kill pid for http-proxy => 148891 * kill pid for smtp => 125760 * kill pid for http-ipv6 => 90218 * kill pid for smtp => 126179 * kill pid for http-proxy => 169896 * kill pid for imap => 120283 * kill pid for http => 74974 * kill pid for pop3 => 123005 * kill pid for ftp => 80975 * kill pid for socks => 113738 * kill pid for rtsp => 108424 * kill pid for socks => 114316 * kill pid for ftp => 80983 * kill pid for pop3 => 122951 * kill pid for http => 74921 * kill pid for tftp => 171979 * kill pid for mqtt => 143153 * kill pid for imap => 119977 * kill pid for smtp => 110729 * kill pid for http-ipv6 => 134413 * kill pid for mqtt => 143177 * kill pid for smtp => 126447 * kill pid for http-proxy => 162974 * kill pid for http-ipv6 => 179091 * kill pid for imap => 120342 * kill pid for socks5unix => 159454 * kill pid for socks => 113806 * kill pid for ftp => 80996 * kill pid for http => 75148 * kill pid for pop3 => 123085 TESTDONE: 1905 tests were considered during 173 seconds. TESTINFO: 274 tests were skipped due to these restraints: TESTINFO: "curl lacks Debug support" 97 times (159, 356, 358, 359, 363, 412, 413, 437, 438 and 88 more) TESTINFO: "no stunnel" 61 times (300, 301, 302, 303, 304, 305, 306, 307, 308 and 52 more) TESTINFO: "failed starting SSH server" 53 times (582, 583, 600, 601, 602, 603, 604, 605, 606 and 44 more) TESTINFO: "configured as DISABLED" 15 times (323, 433, 594, 836, 882, 938, 1182, 1184, 1209 and 6 more) TESTINFO: "curl lacks manual support" 7 times (1026, 1179, 1461, 1707, 1708, 1709, 1710) TESTINFO: "failed starting HTTP/2 server" 7 times (1700, 1701, 1702, 2402, 2403, 2404, 2407) TESTINFO: "curl lacks Schannel support" 6 times (2033, 2070, 2079, 2087, 3023, 3024) TESTINFO: "no gnutls-serv (with SRP support)" 4 times (320, 321, 322, 324) 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 ldap support" 2 times (445, 1560) 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 ssl-sessions support" 1 time (777) TESTINFO: "curl lacks Unicode support" 1 time (1703) TESTINFO: "failed starting DICT server" 1 time (1450) TESTINFO: "failed starting HTTP/3 server" 1 time (2502) TESTINFO: "failed starting neg TELNET server" 1 time (1452) TESTINFO: "failed starting SMB server" 1 time (1451) FAIL-IGNORED 573: 'verify connect time with multi interface' HTTP, multi, flaky FAIL-IGNORED 587: 'HTTP multi-part formpost with aborted read callback' HTTP, HTTP POST, FORM, flaky FAIL-IGNORED 776: 'HTTP with NTLM with too long NTMLv2 ntresplen' HTTP, HTTP GET, HTTP NTLM auth, NTLM, flaky FAIL-IGNORED 1086: 'FTP download with strict timeout and slow data transfer' FTP, EPSV, RETR, timeout, FAILURE, SLOWDOWNDATA, flaky, timing-dependent FAIL-IGNORED 1113: 'FTP wildcard download - changed fnmatch, 2x perform (DOS LIST response)' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1162: 'FTP wildcard with crazy pattern' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1163: 'FTP wildcard with pattern ending with an open-bracket' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1208: 'FTP PORT download, no data conn and no transient negative reply' FTP, PORT, RETR, NODATACONN150, timeout, FAILURE, flaky, timing-dependent FAIL-IGNORED 1510: 'HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)' HTTP, verbose logs, flaky FAIL-IGNORED 1592: 'HTTP request, remove handle while resolving, do not block' HTTP, multi, resolve, speedcheck, flaky, timing-dependent FAIL-IGNORED 2032: 'NTLM connection mapping' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM, flaky, timing-dependent FAIL-IGNORED 2405: 'checking curl_multi_waitfds functionality' multi, HTTP, flaky IGNORED: failed tests: 573 587 776 1086 1113 1162 1163 1208 1510 1592 2032 2405 TESTDONE: 64 tests out of 1631 reported OK: 3% 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, FAILURE FAIL 20: 'attempt connect to non-existing hostname' HTTP, FAILURE, non-existing host FAIL 21: 'use curl with multiple request methods' FAILURE, multiple HTTP requests FAIL 22: 'get HTTP with URL > 10000 bytes' HTTP, long URL FAIL 23: 'unsupported protocol:// URL' unsupported scheme, FAILURE 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, FAILURE FAIL 30: 'HTTP with no data in server reply' HTTP, HTTP GET, FAILURE FAIL 31: 'HTTP with weirdly formatted cookies and cookiejar storage' HTTP, HTTP GET, cookies, cookiejar FAIL 32: 'HTTP with -d and -G' HTTP, HTTP GET, -G FAIL 33: 'HTTP PUT with resume' HTTP, HTTP PUT, Resume, Content-Range FAIL 34: 'HTTP GET with chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 35: 'HTTP POST binary data with embedded NUL' HTTP, HTTP POST, --data-binary FAIL 36: 'HTTP GET with bad chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding, FAILURE FAIL 37: 'HTTP GET with nothing returned from server' HTTP, HTTP GET, FAILURE FAIL 38: 'HTTP resume request without server supporting it' HTTP, HTTP GET, Resume, FAILURE 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, FAILURE 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 67: 'HTTP with NTLM authorization' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 68: 'HTTP with NTLM authorization and wrong password' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 69: 'HTTP with NTLM, Basic or Wild-and-crazy authorization' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 70: 'HTTP with Digest *OR* NTLM authorization' HTTP, HTTP GET, HTTP Digest auth, --anyauth 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, receive 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, FAILURE FAIL 76: 'HTTP with comma-separated WWW-Authenticate header' HTTP, HTTP GET, HTTP NTLM auth, NTLM 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 81: 'HTTP with proxy using NTLM authorization' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, NTLM 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, FAILURE FAIL 88: 'HTTP PUT with Digest authorization' HTTP, HTTP PUT, HTTP Digest auth FAIL 89: 'HTTP with NTLM and follow-location' HTTP, HTTP GET, HTTP NTLM auth, followlocation, NTLM FAIL 90: 'HTTP with NTLM via --anyauth, and then follow-location with NTLM again' HTTP, HTTP GET, HTTP NTLM auth, --anyauth, followlocation, NTLM FAIL 91: 'HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 0' HTTP, HTTP GET, HTTP NTLM auth, NTLM 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, FAILURE 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, FAILURE 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, FAILURE FAIL 112: 'FTP PASV upload resume' FTP, EPSV, APPE, Resume FAIL 113: 'FTP download, failed login: USER not valid' FTP, FAILURE FAIL 114: 'FTP download, failed login: PASS not valid' FTP, FAILURE FAIL 115: 'FTP download, failed PASV' FTP, PASV, FAILURE FAIL 116: 'FTP download, failed PORT' FTP, EPRT, PORT, FAILURE, EPRT refused FAIL 117: 'FTP download, failed TYPE' FTP, FAILURE FAIL 118: 'FTP download, failed RETR' FTP, PASV, RETR, FAILURE FAIL 119: 'FTP download, failed RETR with PORT' FTP, PORT, RETR, FAILURE 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, FAILURE 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 150: 'HTTP with NTLM authorization and --fail' HTTP, HTTP GET, HTTP NTLM auth, NTLM 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 155: 'HTTP PUT with --anyauth authorization (picking NTLM)' HTTP, HTTP PUT, HTTP NTLM auth, NTLM 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 only a 100 reply' HTTP, HTTP POST FAIL 160: 'HTTP with delayed close, conn reuse, connection reset and retry' HTTP, HTTP GET, DELAY FAIL 161: 'FTP RETR PASV' FTP, CURLE_PARTIAL_FILE, RETR, PASV FAIL 162: 'HTTP GET asking for --proxy-ntlm when some other authentication is required' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, FAILURE 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 169: 'HTTP with proxy-requiring-NTLM to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, HTTP Digest auth, NTLM FAIL 170: 'HTTP POST with --proxy-ntlm and no SSL with no response' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM 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 176: 'HTTP POST --ntlm to server not requiring any auth at all' HTTP, HTTP POST, HTTP NTLM 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, FAILURE, 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, FAILURE 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, FAILURE 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, FAILURE, chunked Transfer-Encoding FAIL 208: 'HTTP PUT to an FTP URL with username+password - over HTTP proxy' FTP, HTTP, HTTP PUT, HTTP proxy FAIL 209: 'HTTP proxy CONNECT auth NTLM' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM 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 213: 'HTTP 1.0 proxy CONNECT auth NTLM and then POST' HTTP, HTTP POST, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM 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, FAILURE 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, FAILURE 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, FAILURE FAIL 226: 'FTP %0d-code in URL's CWD part' FTP, FAILURE 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, FAILURE 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: to new host 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 239: 'HTTP proxy-auth NTLM and then POST' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth, NTLM 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 243: 'HTTP POST with --proxy-anyauth, picking NTLM' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, --proxy-anyauth, NTLM 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, FAILURE FAIL 257: 'HTTP Location: following with --netrc-optional' HTTP, HTTP GET, HTTP proxy, HTTP Basic auth, followlocation, netrc FAIL 258: 'HTTP POST multipart without Expect: header 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 265: 'HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407' HTTP, HTTP POST, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 266: 'HTTP GET with chunked Transfer-Encoding and chunked trailer' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 267: 'HTTP POST with NTLM authorization and added custom headers' HTTP, HTTP POST, HTTP NTLM auth, NTLM 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, FAILURE 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, FAILURE 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, FAILURE 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, FAILURE 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, FAILURE FAIL 316: 'HTTP GET 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 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, FAILURE 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 just 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 using one 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 355: 'load Alt-Svc from file and use' HTTP, Alt-Svc 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, 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, FAILURE FAIL 394: 'HTTP with rubbish in Content-Length' HTTP, HTTP GET, FAILURE 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 bytes long hostname in URL' URL FAIL 402: 'FTP SSL required on non-SSL server' FTP, FTPS, FAILURE FAIL 405: 'FTPS operation to FTP port' FTP, FTPS, FAILURE 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, FAILURE 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 null byte)' HTTP, variables FAIL 452: 'Variable using illegal function in expansion' variables FAIL 453: 'Variable output containing null byte' HTTP, variables FAIL 454: 'Variable using illegal function separator' variables FAIL 455: 'Variable using base64' variables FAIL 456: 'Variable output starting with null 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 null byte' HTTP, HTTP POST, -d FAIL 467: 'use a bad short option letter that does not exist (after one does exist)' 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: 'Use --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 FAIL 501: 'simple libcurl attempt operation without URL set' missing URL FAIL 502: 'simple multi file:// get' FILE FAIL 503: 'simple multi http:// through proxytunnel with authentication info' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy Basic auth, proxytunnel, multi FAIL 504: 'simple multi through local proxy without listener' HTTP, HTTP GET, HTTP proxy, multi, FAILURE, connect to non-listen FAIL 505: 'FTP upload with rename after transfer' FTP, STOR FAIL 507: 'multi interface get with non-existing hostname' HTTP, multi, FAILURE, non-existing host FAIL 508: 'send HTTP POST using read callback' HTTP, POST, POST callback FAIL 509: 'initialization with memory callbacks and actual usage' memory callbacks FAIL 510: 'send HTTP POST using read callback, using chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding FAIL 511: 'FTP with FILETIME and NOBODY but missing file' FTP FAIL 512: 'simple curl_easy_duplicate() test' HTTP, HTTP GET FAIL 513: 'send HTTP POST using read callback that returns CURL_READFUNC_ABORT' HTTP, HTTP POST FAIL 514: 'First set options to POST and then to make HEAD' HTTP, HTTP HEAD FAIL 515: 'make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero' HTTP, HTTP POST FAIL 516: 'make an HTTPPOST set to NULL' HTTP, HTTP POST, FORM FAIL 519: 'GET same URL twice with different users' HTTP, HTTP GET FAIL 520: 'FTP RETR with FILETIME' FTP FAIL 521: 'FTP dir list PASV with CURLOPT_PORT' FTP, PASV, CURLOPT_PORT FAIL 522: 'HTTP GET with CURLOPT_PORT' HTTP, HTTP GET, CURLOPT_PORT FAIL 523: 'HTTP GET with proxy and CURLOPT_PORT' HTTP, HTTP GET, HTTP proxy, CURLOPT_PORT, CURLOPT_PROXY FAIL 524: 'FTP upload with target URL ending with slash' FTP, UPLOAD FAIL 525: 'FTP PORT upload using multi interface' FTP, PORT, STOR, multi FAIL 526: 'FTP RETR same file using different handles but same connection' FTP, PASV, RETR, multi FAIL 527: 'FTP RETR same file using different handles but same connection' FTP, PASV, RETR, multi FAIL 528: 'HTTP GET same file using different handles but same connection' HTTP, HTTP GET, multi FAIL 529: 'FTP PORT upload using multi interface (weird cleanup function sequence)' FTP, PORT, STOR, multi FAIL 530: 'multi_socket interface transfer with callbacks returning error' multi, HTTP FAIL 531: 'FTP PORT upload using multi interface and get 425 response' FTP, PORT, STOR, multi FAIL 532: 'FTP RETR same file using reset handles between each transfer' FTP, PASV, RETR, multi FAIL 533: 'FTP RETR a non-existing file twice using the multi interface' FTP, PASV, RETR, multi FAIL 534: 'FTP RETR twice using multi: non-existing host and non-existing file' FTP, PASV, RETR, multi, non-existing host FAIL 535: 'HTTP GET multi two files with FAILONERROR' HTTP, HTTP GET, multi FAIL 536: 'CURLINFO_USED_PROXY' HTTP, HTTP GET, HTTP proxy, CURLOPT_PROXY, CURLOPT_NOBODY, CURLINFO_USED_PROXY FAIL 537: 'HTTP GET with a HUGE number of file descriptors open' HTTP, HTTP GET FAIL 538: 'FTP multi-interface download, failed login: PASS not valid' FTP, FAILURE, multi FAIL 539: 'Two FTP fetches using different CURLOPT_FTP_FILEMETHOD' FTP FAIL 540: 'HTTP proxy auth Digest multi API reusing connection' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, multi FAIL 541: 'FTP upload and upload same file again without rewind' FTP, STOR FAIL 542: 'FTP a file with NOBODY yes and HEADER no' FTP, PASV, RETR FAIL 543: 'curl_easy_escape' curl_easy_escape FAIL 544: 'HTTP POST text data using CURLOPT_COPYPOSTFIELDS' HTTP, HTTP POST FAIL 545: 'HTTP POST binary with embedded zero and no trailing zero' HTTP, HTTP POST FAIL 546: 'FTP RETR a non-existing file then a found one using the multi interface' FTP, PASV, RETR, multi FAIL 547: 'HTTP proxy auth NTLM with POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 548: 'HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 549: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE' FTP, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, HTTP proxy FAIL 550: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY FAIL 551: 'HTTP proxy auth Digest with POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth FAIL 552: 'HTTP proxy auth Digest with 70K POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth FAIL 553: 'HTTP post with huge request headers and post data from callback' HTTP, HTTP POST, POST callback, huge request header FAIL 554: 'HTTP multi-part formpost using read callback for the file part' HTTP, HTTP POST, FORM FAIL 555: 'HTTP proxy auth NTLM with POST data from read callback multi-if' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, multi, NTLM FAIL 556: 'send and recv HTTP' HTTP, HTTP GET FAIL 557: 'curl_mprintf() testing' printf, unittest FAIL 559: 'use tiny CURLOPT_BUFFERSIZE' CURLOPT_BUFFERSIZE, HTTP FAIL 561: 'FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, type= FAIL 562: 'FTP a type=A URL and CURLOPT_PORT set' FTP, PASV, RETR FAIL 563: 'FTP type=A URL and CURLOPT_PORT set and proxy' FTP, CURLOPT_PORT, HTTP proxy FAIL 564: 'FTP RETR a file over a SOCKS proxy using the multi interface' FTP, PASV, RETR, multi, SOCKS4 FAIL 565: 'send HTTP POST using read callback, chunked transfer-encoding and Digest' HTTP, HTTP POST, HTTP Digest auth, chunked Transfer-Encoding FAIL 566: 'HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer' HTTP, HTTP GET FAIL 567: 'simple RTSP OPTIONS command' RTSP, OPTIONS FAIL 568: 'RTSP Announce (PUT and POST style) test' RTSP, ANNOUNCE FAIL 569: 'RTSP Session ID parsing' RTSP, SESSION_ID FAIL 570: 'RTSP CSeq and Session Mismatch checks' RTSP, Mismatch checking FAIL 571: 'RTSP RTP Interleaving Test' RTSP, RTP FAIL 572: 'RTSP GET_PARAMETER (Put/Heartbeat/Post)' RTSP, GET_PARAMETER FAIL 574: 'FTP wildcard download - changed fnmatch, 2x perform (Unix LIST response)' FTP, LIST, RETR, wildcardmatch, ftplistparser FAIL 575: 'FTP wildcard download - dup_handle and multi interface' FTP, RETR, multi, wildcardmatch, ftplistparser FAIL 576: 'FTP wildcard - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)' FTP, wildcardmatch, ftplistparser FAIL 577: 'Funny RTSP version in response' RTSP, OPTIONS FAIL 578: 'HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback' HTTP, HTTP POST FAIL 579: 'small chunked HTTP POSTs with digest auth and progress callback' HTTP, HTTP POST, HTTP Digest auth FAIL 580: 'multi interface, multiple Location: headers' HTTP, HTTP GET, multi, Duplicate-header FAIL 581: 'multi interface, multiple Content-Type: headers' HTTP, HTTP GET, multi, Duplicate-header FAIL 584: 'CURLOPT_MIMEPOST first set then set to NULL' HTTP, HTTP POST, HTTP MIME FAIL 585: 'socket open/close callbacks' HTTP, HTTP GET, multi, CURLOPT_OPENSOCKETFUNCTION, CURLOPT_CLOSESOCKETFUNCTION FAIL 586: 'FTP and open/close socket callbacks' FTP, PASV, CURLOPT_PORT FAIL 588: 'FTP PORT upload using multi interface, EPRT does not work' FTP, PORT, STOR, multi, EPRT refused FAIL 589: 'make an HTTP MIME POST set to NULL' HTTP, HTTP POST, HTTP MIME FAIL 590: 'HTTP proxy offers Negotiate+NTLM, use only NTLM' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 591: 'FTP multi PORT and 425 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN425 FAIL 592: 'FTP multi PORT and 421 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN421 FAIL 593: 'FTP multi PORT upload, no data conn and no transient neg. reply' FTP, PORT, STOR, multi, EPRT refused, NODATACONN150 FAIL 595: 'verify close callbacks with passive FTP' FTP FAIL 596: 'verify close callbacks with active FTP' FTP FAIL 597: 'FTP connect only option' FTP, CONNECT_ONLY FAIL 598: 'curl_easy_reset with referer and other strings set' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset FAIL 599: 'HTTP GET with progress callback and redirects changing content sizes' HTTP, HTTP POST, chunked Transfer-Encoding FAIL 632: 'SFTP syntactically invalid host key' SFTP, FAILURE, server key check FAIL 643: 'HTTP multi-part mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST FAIL 645: 'HTTP multi-part chunked mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST 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 7bit encoder error' SMTP, MULTIPART FAIL 650: 'HTTP formpost using form API - with redirect and re-POST' HTTP, HTTP POST, FORM FAIL 651: 'curl_formadd with huge COPYCONTENTS' HTTP, HTTP POST, FORM FAIL 652: 'SMTP with encoded huge mime data contents' SMTP, MIME FAIL 653: 'Reuse of handle after altering mime data' HTTP, HTTP POST, MIME FAIL 654: 'HTTP duplicate easy handle with mime data' HTTP, HTTP POST, HTTP MIME POST FAIL 655: 'resolver start callback' HTTP FAIL 658: 'Pass URL to libcurl with CURLOPT_CURLU' HTTP, HTTP GET, CURLOPT_CURLU FAIL 659: 'CURLOPT_CURLU without the path set - over proxy' HTTP, HTTP GET, CURLOPT_CURLU, proxy FAIL 660: 'IMAP CONNECT_ONLY option' IMAP, CONNECT_ONLY FAIL 661: 'Avoid redundant CWDs' FTP 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 FAIL 667: 'HTTP chunked mimepost using single-byte read callback with encoder' HTTP, HTTP POST, HTTP MIME POST FAIL 668: 'HTTP mimepost early end of data detection' HTTP, HTTP POST, HTTP MIME POST 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 FAIL 671: 'Request pause from mime read callback: easy' HTTP, HTTP POST, MIME FAIL 672: 'Request pause from form read callback: multi' HTTP, HTTP POST, FORM FAIL 673: 'Request pause from form read callback: easy' HTTP, HTTP POST, FORM FAIL 674: 'Set CURLOPT_CURLU and dupe the handle' HTTP, HTTP GET, CURLOPT_CURLU, curl_easy_duphandle 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 FAIL 677: 'IMAP with CONNECT_ONLY, custom command then exit' IMAP, CONNECT_ONLY FAIL 679: 'netrc with quoted 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 - provided user' HTTP, netrc FAIL 686: 'verify return code for missing URL after --next' errorcode FAIL 689: 'fuzzing crash issue #12701' RTSP, OPTIONS 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 694: 'HTTP with NTLM twice, verify CURLINFO_HTTPAUTH_USED' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 695: 'MIME parts reuse as a child part' MIME FAIL 696: 'CONNECT_ONLY and doing a second curl_easy_perform' HTTP, HTTP GET 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, FAILURE FAIL 703: 'Attempt connect to non-listening HTTP server via SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen, FAILURE FAIL 704: 'Attempt connect to non-listening SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen, FAILURE FAIL 705: 'Attempt connect to non-listening SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen, FAILURE 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 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 gateway and IPFS URL (malformed gateway 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 just HTML and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 751: 'multi - add many easy handles' MULTI 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 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 766: 'FTP PORT with sockopt callback refusing the accept' FTP, PORT, CURLOPT_SOCKOPTFUNCTION 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 775: 'HTTP with NTLM with too long username' HTTP, HTTP NTLM auth, NTLM 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 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 NULL byte' netrc, FTP FAIL 793: '.netrc with embedded NULL 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 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' 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, FAILURE FAIL 804: 'IMAP does not perform SELECT if reusing the same mailbox' 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 822: 'IMAP NTLM authentication' IMAP, SASL, SASL AUTH NTLM, NTLM 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 827: 'IMAP NTLM authentication with initial response' IMAP, SASL, SASL AUTH NTLM, SASL-IR, NTLM 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 831: 'IMAP NTLM graceful cancellation' IMAP, SASL, SASL AUTH NTLM, SASL CANCELLATION FAIL 833: 'IMAP CRAM-MD5 authentication with SASL downgrade' IMAP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195 FAIL 834: 'IMAP NTLM authentication with SASL downgrade' IMAP, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE 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 2.0 (OAUTHBEARER) 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' 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, FAILURE 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, FAILURE FAIL 856: 'POP3 invalid login' POP3, Clear Text, FAILURE 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 868: 'POP3 NTLM authentication' POP3, SASL, SASL AUTH NTLM, RFC1734, RFC5034, NTLM 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 873: 'POP3 NTLM authentication with initial response' POP3, SASL, SASL AUTH NTLM, SASL-IR, RFC1734, RFC5034, NTLM 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 877: 'POP3 NTLM graceful cancellation' POP3, SASL, SASL AUTH NTLM, SASL CANCELLATION, RFC1734, 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 880: 'POP3 NTLM authentication with SASL downgrade' POP3, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE, RFC1734, 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 2.0 (OAUTHBEARER) 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 906: 'SMTP NTLM authentication' SMTP, SASL, SASL AUTH NTLM, RFC4954, NTLM 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 921: 'SMTP NTLM authentication with initial response' SMTP, SASL, SASL AUTH NTLM, SASL-IR, RFC4954, NTLM 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 933: 'SMTP NTLM graceful cancellation' SMTP, SASL, SASL AUTH NTLM, SASL CANCELLATION, RFC4954 FAIL 935: 'SMTP CRAM-MD5 authentication with SASL downgrade' SMTP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195, RFC4954 FAIL 936: 'SMTP NTLM authentication with SASL downgrade' SMTP, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE, 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 2.0 (OAUTHBEARER) 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 only)' 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 only)' SMTP, VRFY FAIL 962: 'SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)' SMTP, IDN FAIL 963: 'SMTP without SMTPUTF8 support (IDN) - UTF-8 recipient (host part only)' SMTP, IDN FAIL 964: 'SMTP external VRFY without 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 POST --digest with PUT and resumed upload and modified method' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 1002: 'HTTP PUT with Digest auth, resumed upload and modified method, twice' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, 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, FAILURE FAIL 1008: 'HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, chunked Transfer-Encoding, NTLM 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 1021: 'HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, --proxy-anyauth, NTLM 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 authorization (picking Digest)' 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, FAILURE, config file FAIL 1035: 'HTTP over proxy with too long IDN hostname' HTTP, HTTP GET, HTTP proxy, IDN, FAILURE 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 with resume from end of already-uploaded file' HTTP, HTTP PUT, Resume, Content-Range FAIL 1042: 'HTTP GET beyond end of entirely-downloaded file, no server resume' HTTP, HTTP GET, Resume, FAILURE 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, FAILURE 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 with excessively long server command response lines, boundary condition' FTP, RETR, huge response FAIL 1063: 'Invalid large X- range on a file://' FILE, Range, FAILURE 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, FAILURE, non-existing host FAIL 1085: 'HTTP-IPv6 GET with invalid --interface' HTTP, HTTP GET, --interface, IPv6, FAILURE, 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: to new host 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, FAILURE 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, FAILURE 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 with cookie parser and header recording' 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 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, FAILURE 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 1133: 'HTTP RFC1867-type formposting with filename/data contains ',', ';', '"'' 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 uneven quote in PWD response' FTP, PASV, LIST 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 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 error in 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 1215: 'HTTP with server NTLM authorization using a proxy' HTTP, HTTP GET, HTTP NTLM auth, HTTP proxy, NTLM 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, FAILURE FAIL 1235: 'multiple requests using {}{} in the URL' HTTP, HTTP GET, globbing, {} list FAIL 1236: '[] globbing overflowing the range counter' globbing, FAILURE 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, FAILURE, 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 target 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 target URL directly' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1256: 'http_proxy, override NO_PROXY by --noproxy and target URL through proxy' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1257: 'http_proxy, override NO_PROXY by --noproxy and target URL through proxy' 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 1302: 'base64 encode/decode unit tests' unittest, base64 FAIL 1303: 'Curl_timeleft_ms unit tests' unittest, Curl_timeleft_ms FAIL 1308: 'formpost tests' curl_formadd, curl_formget, FORM 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 RFC1867-type formposting - -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 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 1396: 'curl_easy_escape and curl_easy_unescape' unittest, curl_easy_escape, curl_easy_unescape FAIL 1398: 'curl_msnprintf unit tests' unittest, curl_msnprintf 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, FAILURE FAIL 1410: 'Pass in negative number to --max-time' cmdline, FAILURE 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, HTTP GET, -J FAIL 1423: 'HTTP GET -o fname without Content-Disposition (empty file)' HTTP, 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, FAILURE 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 1453: 'Too long tftp filename' Too long tftp filename, FAILURE 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, FAILURE FAIL 1471: 'Fail to resolve .onion TLD' Onion, Tor, FAILURE FAIL 1472: 'Fail to resolve .onion. TLD' Onion, Tor, FAILURE 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 an HTTP/0.9 response over the 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 double chunked in TE header' 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 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 FAIL 1501: 'FTP with multi interface and slow LIST response' FTP, RETR, multi, LIST, DELAY FAIL 1502: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1503: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1504: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1505: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1506: 'HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)' HTTP, multi, verbose logs FAIL 1507: 'SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK' SMTP, multi FAIL 1508: 'Close a multi handle without using it' HTTP, multi FAIL 1509: 'simple multi http:// through proxytunnel with authentication info' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1511: 'HTTP GET time conditions in repeated requests' HTTP, CURLOPT_TIMECONDITION FAIL 1513: 'return failure immediately from progress callback' PROGRESSFUNCTION, DELAY FAIL 1514: 'HTTP POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding FAIL 1515: 'caching of manual libcurl DNS entries after DNS cache timeout' HTTP, multi, FAILURE, resolve FAIL 1516: 'caching of manual libcurl DNS entries after dead connection' HTTP, multi, FAILURE, resolve FAIL 1517: 'HTTP POST, server responds before completed send' HTTP, POST, POST callback, slow callback, early response FAIL 1518: 'Extract Location: with broken URL' HTTP FAIL 1519: 'Extract Location: with broken absolute URL' HTTP FAIL 1520: 'SMTP with CRLF-dot-CRLF in data' SMTP FAIL 1521: 'Test all curl_easy_setopt and curl_easy_getinfo options' curl_easy_setopt FAIL 1522: 'CURLINFO_SIZE_UPLOAD with small SO_SNDBUF' CURLINFO_SIZE_UPLOAD FAIL 1523: 'CURLINFO_LOW_SPEED_LIMIT' CURLINFO_LOW_SPEED_LIMIT, DELAY 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 FAIL 1526: 'CURLOPT_PROXYHEADER: separate host/proxy headers' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER FAIL 1527: 'Same headers with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1528: 'Separately specified proxy/server headers sent in a proxy GET' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1529: 'HTTP request-injection in URL sent over proxy' HTTP, HTTP GET, HTTP proxy FAIL 1530: 'CURLOPT_OPENSOCKETFUNCTION returns bad socket' CURLOPT_OPENSOCKETFUNCTION FAIL 1531: 'CURLOPT_POSTFIELDS with binary data set after multi_add_handle' CURLOPT_POSTFIELDS FAIL 1532: 'Test CURLINFO_RESPONSE_CODE' HTTP, HTTP GET FAIL 1533: 'HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response' HTTP, HTTP POST, CURLOPT_KEEP_SENDING_ON_ERROR FAIL 1534: 'CURLINFO_FILETIME init and reset' HTTP, HTTP GET, CURLINFO_FILETIME FAIL 1535: 'Test CURLINFO_RESPONSE_CODE CURLINFO_PROTOCOL' HTTP, HTTP GET FAIL 1536: 'Test CURLINFO_RESPONSE_CODE CURLINFO_SCHEME' HTTP, HTTP GET FAIL 1539: 'HTTP 1.0 POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding FAIL 1540: 'chunked with trailers and pausing the receive' HTTP, HTTP GET, CURLPAUSE_RECV, chunked Transfer-Encoding, Trailer:, DELAY FAIL 1541: 'chunked with trailers and pausing the receive' HTTP, HTTP GET, chunked Transfer-Encoding, Trailer:, DELAY FAIL 1542: 'connection reuse with CURLOPT_MAXLIFETIME_CONN' HTTP, connection reuse, persistent connection, CURLOPT_MAXLIFETIME_CONN, verbose logs FAIL 1543: 'CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL' HTTP, CURLOPT_CURLU FAIL 1545: 'use curl_formadd() data twice with unreadable file' HTTP, HTTP GET 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 FAIL 1550: 'verify setting pipelining blocklisting options' multi FAIL 1551: 're-run redirected transfer without setting URL again' multi FAIL 1552: 'IMAP multi transfer error without curl_multi_remove_handle' IMAP, Clear Text, FETCH FAIL 1553: 'IMAP cleanup before a connection was created' IMAP, Clear Text, FETCH FAIL 1554: 'HTTP with shared connection cache' HTTP, HTTP GET, shared connections FAIL 1555: 'verify api is protected against calls from callbacks' RECURSIVE_API_CALL, DELAY FAIL 1556: 'send long HTTP headers to header callback' HTTP, HTTP GET FAIL 1557: 'Remove easy handle in pending connections does not leave dangling entry' multi, crash FAIL 1558: 'CURLINFO_PROTOCOL for file:// transfer' curl_easy_getinfo, CURLINFO_PROTOCOL FAIL 1559: 'Set excessive URL lengths' CURLOPT_URL, verbose logs 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 FAIL 1565: 'wakeup from another thread' HTTP, HTTP GET, multi, multi-threaded, wakeup 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 FAIL 1568: 'HTTP with Digest authorization on custom CURLOPT_PORT' HTTP, HTTP GET, HTTP Digest auth FAIL 1569: 'FTP first type=A then regular URL' FTP, PASV, RETR FAIL 1570: 'FTP first type=D then regular URL' FTP, PASV, RETR FAIL 1571: 'CURLFOLLOW_OBEYCODE with custom POST method, 302 => GET' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1572: 'CURLFOLLOW_OBEYCODE with custom POST method, 308 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1573: 'CURLFOLLOW_OBEYCODE with custom GET method, 301 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1574: 'CURLFOLLOW_FIRSTONLY with custom GET method, 301 => GET' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1575: 'CURLFOLLOW_FIRSTONLY with custom POST method, 308 => POST' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1576: 'CURLFOLLOW_OBEYCODE with custom PUT method, 302 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1577: 'CURLFOLLOW_OBEYCODE with custom PUT method, 308 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1578: 'CURLFOLLOW_FIRSTONLY with custom PUT method, 302 => PUT' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1579: 'CURLFOLLOW_OBEYCODE with custom PUT method, 303 => GET' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1580: 'CURLFOLLOW_FIRSTONLY with custom PUT method, 308 => PUT' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1581: 'CURLFOLLOW_OBEYCODE with custom POST301 method, 301 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION 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 1590: 'IMAP cleanup before a connection was created' IMAP, Clear Text, FETCH FAIL 1591: 'HTTP PUT with trailers at the end' HTTP, HTTP PUT, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA FAIL 1593: 'HTTP custom header overrides CURLOPT_TIMECONDITION' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1594: 'HTTP Retry-After header parsing and extraction' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1595: 'HTTP Retry-After header extraction (without header)' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1596: 'HTTP Retry-After header parsing using a date' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1597: 'CURLOPT_PROTOCOLS_STR' CURLOPT_PROTOCOLS_STR FAIL 1598: 'HTTP POST with trailers at the end' HTTP, HTTP POST, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA FAIL 1599: 'FTP with netrc using no user but control code in password' FTP, netrc FAIL 1600: 'NTLM unit tests' unittest, NTLM FAIL 1601: 'MD5 unit tests' unittest, MD5 FAIL 1605: 'Test negative data lengths as input to libcurl functions' unittest 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: 'CURLOPT_RESOLVE parsing' unittest, CURLOPT_RESOLVE 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 1615: 'SHA-512/256 unit tests' unittest, SHA-512/256 FAIL 1617: 'HTTP GET transfer-encoding with two user Connection: headers' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1620: 'unit tests for url.c' unittest, URL FAIL 1621: 'unit tests for stripcredentials from URL' unittest, stripcredentials 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 1652: 'infof' unittest, infof FAIL 1654: 'alt-svc' unittest, Alt-Svc FAIL 1660: 'HSTS' unittest, HSTS FAIL 1665: 'HTTP with only headers and no final CRLF separator' HTTP FAIL 1670: '-w individual header output' HTTP, HTTP GET, -w, %header FAIL 1671: '-w header JSON output' HTTP, HTTP GET, -w, %header 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 1683: 'HTTP GET without clobber when 100 files already exist' HTTP, HTTP GET, --no-clobber 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 1800: 'HTTP/2 upgrade refused' HTTP, HTTP/2 FAIL 1802: 'HTTP CONNECT with custom headers for proxy and server' HTTP, HTTP CONNECT FAIL 1900: 'HSTS curl_easy_duphandle' HTTP, HSTS FAIL 1901: 'Chunked HTTP POST from callback with CURLOPT_POSTFIELDSIZE set' HTTP, HTTP POST, CURLOPT_READFUNCTION FAIL 1902: 'set COOKIEFILE and COOKIEJAR but make no transfer' cookies FAIL 1903: 'CURLOPT_COOKIEFILE then reset then set again' HTTP, cookies, CURLOPT_COOKIEFILE 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 FAIL 1906: 'CURLOPT_CURLU and CURLOPT_PORT' CURLOPT_CURLU, CURLOPT_PORT FAIL 1907: 'CURLINFO_EFFECTIVE_URL with non-scheme URL' CURLINFO_EFFECTIVE_URL 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 FAIL 1911: 'verify that curl_easy_setopt() rejects too long string inputs' curl_easy_option FAIL 1913: 'FTP with NOBODY set, getting a missing file' FTP, CURLOPT_NOBODY FAIL 1914: 'FTP with NOBODY and FILETIME set, getting a missing file' FTP, CURLOPT_NOBODY, CURLOPT_FILETIME FAIL 1915: 'HSTS read/write callbacks' HTTP, HSTS, CURLOPT_HSTSREADFUNCTION FAIL 1916: 'MQTT PUBLISH with no POSTFIELDSIZE set' MQTT, MQTT PUBLISH FAIL 1917: 'MQTT PUBLISH with CURLOPT_POST set (no payload)' MQTT, MQTT PUBLISH FAIL 1919: 'set CURLOPT_XOAUTH2_BEARER and do connection reuse' connection reuse FAIL 1920: 'load cookies, perform then reset before cleanup' cookies FAIL 1940: 'curl_easy_header' curl_easy_header FAIL 1941: 'curl_easy_header with CONNECT' curl_easy_header, CONNECT FAIL 1942: 'curl_easy_header with 1xx response' curl_easy_header, CONNECT FAIL 1943: 'curl_easy_header with trailers' curl_easy_header, CONNECT FAIL 1944: 'curl_easy_header with redirect' curl_easy_header FAIL 1945: 'curl_easy_nextheader with server + CONNECT' curl_easy_header, CONNECT FAIL 1946: 'curl_easy_header with redirect but get headers from first request' curl_easy_header FAIL 1947: 'curl_easy_nextheader on second request after first did redirects' curl_easy_nextheader FAIL 1948: 'CURLOPT_POST after CURLOPT_UPLOAD reusing handle' HTTP, HTTP POST, HTTP PUT FAIL 1960: 'application hands over already connected socket' HTTP, CURLOPT_SOCKOPTFUNCTION, CURL_SOCKOPT_ALREADY_CONNECTED FAIL 1964: 'HTTP AWS_SIGV4 with X-Xxx-Date header set manually' HTTP, CURLOPT_AWS_SIGV4 FAIL 1977: 'CURLOPT_CURLU and CURLINFO_EFFECTIVE_URL' CURLOPT_CURLU, CURLINFO_EFFECTIVE_URL 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 2023: 'HTTP authorization retry (Basic)' HTTP, HTTP GET, HTTP Basic auth FAIL 2024: 'HTTP authorization retry (Basic switching to Digest)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth FAIL 2025: 'HTTP authorization retry (Basic switching to NTLM)' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM FAIL 2026: 'HTTP authorization retry (Digest switching to Basic)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth FAIL 2027: 'HTTP authorization retry (Digest)' HTTP, HTTP GET, HTTP Digest auth FAIL 2028: 'HTTP authorization retry (Digest switching to NTLM)' HTTP, HTTP GET, HTTP Digest auth, HTTP NTLM auth, NTLM FAIL 2029: 'HTTP authorization retry (NTLM switching to Basic)' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM FAIL 2030: 'HTTP authorization retry (NTLM switching to Digest)' HTTP, HTTP GET, HTTP Digest auth, HTTP NTLM auth, NTLM FAIL 2031: 'HTTP authorization retry (NTLM)' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 2039: 'FTP (optional .netrc with 'default' override; no user/pass) dir list PASV' 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 without 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 that matches' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2055: '--connect-to via SOCKS proxy and HTTP proxy (tunnel mode automatically)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO, SOCKS5 FAIL 2058: 'HTTP Digest with PUT, resumed upload, modified method and SHA-256' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2059: 'HTTP Digest with PUT, resumed upload, modified method, SHA-256 and userhash' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2060: 'HTTP Digest with PUT, resumed upload, SHA-512-256, userhash' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, 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 header' 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 resolution behavior for the case of extra slashes' FILE FAIL 2073: 'HTTP form posts with handle reset' HTTP, HTTP FORMPOST FAIL 2074: 'HTTP GET' 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 FAIL 2083: 'Pre-request callback for FTP' FTP FAIL 2084: 'Pre-request callback for HTTP with callback terminating transfer' HTTP FAIL 2085: 'Pre-request callback for HTTP with location following' HTTP, followlocation FAIL 2086: 'Pre-request callback for HTTP IPv6' HTTP, IPv6 FAIL 2091: 'HTTP Digest auth with OWS and escaped quotes' HTTP, HTTP GET, HTTP Digest auth FAIL 2200: 'MQTT SUBSCRIBE with user and password' 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 error in 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 2306: 'HTTP GET reused handle with first header folded' HTTP, HTTP GET 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 FAIL 2309: 'HTTP with .netrc using duped easy handle' netrc, HTTP FAIL 2601: 'bufq unit tests' unittest, bufq 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 3002: 'SMTP multiple and invalid (first) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3003: 'SMTP multiple and invalid (last) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3004: 'SMTP multiple and invalid (middle) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3005: 'SMTP multiple invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3006: 'SMTP with multiple 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 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 a directory using file://' HTTP, HTTP GET, 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 FAIL 3027: 'Get a file via FTP but 550 after MDTM command' FTP, CURLOPT_FILETIME, MDTM fail 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: '--output-dir 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 FAIL 3035: 'HTTP retry failed download with keep data and auto-resume' HTTP, HTTP GET, Content-Range, Resume, retry FAIL 3100: 'RTSP Authentication check' RTSP, RTSP Basic auth FAIL 3101: 'HTTP auth without redirection protocols' HTTP, HTTP Basic auth FAIL 3103: 'CURLOPT_COOKIELIST without expiry' cookies FAIL 3104: 'CURLOPT_COOKIELIST with Netscape format' cookies FAIL 3105: 'curl_multi_remove_handle twice' curl_multi_remove_handle FAIL 3201: 'HTTP GET when PROXY Protocol enabled and spoofed client IP' 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://' HTTP, HTTP GET, FILE FAIL 3204: 'Use --etag-compare and --etag-save on an existing file' HTTP, HTTP GET 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 unit tests' unittest, uint_bset FAIL 3212: 'uint_bset unit tests' unittest, uint_bset FAIL 3213: 'uint_spbset unit tests' unittest, uint_spbset FAIL 3215: 'SMTP DSN' SMTP DSN 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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 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 150 151 152 153 154 155 156 157 158 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 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 209 210 211 212 213 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 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 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 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 355 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 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 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 547 548 549 550 551 552 553 554 555 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 590 591 592 593 595 596 597 598 599 632 643 645 646 647 648 649 650 651 652 653 654 655 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 694 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 766 767 768 769 770 771 772 773 774 775 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 822 824 825 826 827 828 829 830 831 833 834 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 868 870 871 872 873 874 875 876 877 879 880 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 935 936 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 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 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 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 1215 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 1302 1303 1308 1309 1310 1311 1312 1313 1314 1315 1317 1318 1319 1320 1321 1322 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 1396 1398 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 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 1539 1540 1541 1542 1543 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1584 1585 1590 1591 1593 1594 1595 1596 1597 1598 1599 1600 1601 1605 1606 1607 1608 1609 1610 1611 1612 1613 1615 1617 1620 1621 1633 1634 1635 1652 1654 1660 1665 1670 1671 1680 1681 1682 1683 1704 1711 1800 1802 1900 1901 1902 1903 1904 1905 1906 1907 1909 1910 1911 1913 1914 1915 1916 1917 1919 1920 1940 1941 1942 1943 1944 1945 1946 1947 1948 1960 1964 1977 2000 2001 2002 2003 2005 2023 2024 2025 2026 2027 2028 2029 2030 2031 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 2200 2201 2202 2203 2204 2205 2306 2307 2308 2309 2601 2603 2604 2605 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3025 3027 3028 3029 3030 3031 3032 3033 3034 3035 3100 3101 3103 3104 3105 3201 3202 3203 3204 3206 3209 3210 3211 3212 3213 3215 make[1]: *** [Makefile:836: nonflaky-test] Error 1 make[1]: Leaving directory '/startdir/src/build-curl/tests' make: *** [Makefile:1095: test-nonflaky] Error 2 ==> ERROR: A failure occurred in check(). Aborting... ==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_aedbf85a-0729-4f88-85e1-729ac549a238/build